瀏覽代碼

fix(群列表优化,客户查询分页)

gengyang 5 年之前
父節點
當前提交
f6c0404378

+ 16 - 0
src/main/java/com/mokamrp/privates/entity/PostBasePageHandle.java

@@ -6,4 +6,20 @@ import lombok.Data;
 public class PostBasePageHandle {
     private Integer page;
     private Integer pagesize;
+
+    public Integer getPage() {
+        return page;
+    }
+
+    public void setPage(Integer page) {
+        this.page = page;
+    }
+
+    public Integer getPagesize() {
+        return pagesize;
+    }
+
+    public void setPagesize(Integer pagesize) {
+        this.pagesize = pagesize;
+    }
 }

+ 1 - 1
src/main/java/com/mokamrp/privates/mapper/WorkContactEmployeeMapper.java

@@ -25,7 +25,7 @@ import java.util.List;
 @Component
 public interface WorkContactEmployeeMapper extends BaseMapper<WorkContactEmployee> {
 
-    List<WorkContactEmployeeVo> getVoList(Page<WorkContactEmployeeVo> page, @Param("ew") QueryWrapper<WorkContactEmployeeVo> queryWrapper);
+    List<WorkContactEmployeeVo> getVoList( @Param("ew") QueryWrapper<WorkContactEmployeeVo> queryWrapper,@Param("offset") Integer offset ,@Param("limit") Integer limit);
     List<WorkContactEmployeeVo> getAllVoList(@Param("ew") QueryWrapper<WorkContactEmployeeVo> queryWrapper);
     Integer getVoListTotal(@Param("ew") QueryWrapper<WorkContactEmployeeVo> queryWrapper);
     List<HashMap<String, Object>> getContactTagList(@Param("ew") QueryWrapper<WorkContactEmployeeVo> queryWrapper);

+ 1 - 3
src/main/java/com/mokamrp/privates/mapper/WorkContactEmployeeMapper.xml

@@ -53,9 +53,8 @@
                  LEFT JOIN mc_channel_code AS l ON l.id = a.channel_code_id
                  LEFT JOIN private_group_corp AS g ON a.id = g.corp_id
 				 LEFT JOIN private_group AS h ON h.id = g.group_id
-				 LEFT JOIN mc_work_contact_tag_pivot AS k ON a.contact_id = a.contact_id
         where 1 = 1 AND ${ew.sqlSegment}
-        group by a.id
+        LIMIT #{limit} offset #{offset}
     </select>
 
     <select id="getVoListTotal" resultType="Integer">
@@ -67,7 +66,6 @@
              LEFT JOIN mc_corp AS p ON p.id = a.corp_id
              LEFT JOIN mc_channel_code AS l ON l.id = a.channel_code_id
              LEFT JOIN private_group_corp AS g ON a.id = g.corp_id
-             LEFT JOIN mc_work_contact_tag_pivot AS k ON a.contact_id = a.contact_id
         where 1 = 1 AND ${ew.sqlSegment}
     </select>
 

+ 1 - 0
src/main/java/com/mokamrp/privates/mapper/WorkEmployeeMapper.xml

@@ -41,6 +41,7 @@
     <select id="getVoList" resultType="com.mokamrp.privates.mapper.vo.WorkEmployeeVo">
         SELECT
             A.id,
+            A.thumb_avatar,
             B.group_name,
             A.`name`,
             A.gender,

+ 1 - 1
src/main/java/com/mokamrp/privates/mapper/WorkRoomMapper.java

@@ -28,7 +28,7 @@ import java.util.Map;
  */
 @Component
 public interface WorkRoomMapper extends BaseMapper<WorkRoom> {
-    List<WorkRoomVo> getVoList(IPage<WorkRoomVo> page, @Param("ew") QueryWrapper<WorkRoomVo> queryWrapper);
+    List<WorkRoomVo> getVoList( @Param("ew") QueryWrapper<WorkRoomVo> queryWrapper ,@Param("offset") Integer offset ,@Param("limit") Integer limit);
 
     Integer getVoListTotal(@Param("ew") QueryWrapper<WorkRoomVo> queryWrapper);
 

+ 1 - 0
src/main/java/com/mokamrp/privates/mapper/WorkRoomMapper.xml

@@ -47,6 +47,7 @@
             ${ew.sqlSegment}
         </where>
         GROUP BY a.id
+        LIMIT #{limit} offset #{offset}
     </select>
 
     <select id="getVoListTotal" resultType="Integer">

+ 9 - 0
src/main/java/com/mokamrp/privates/mapper/vo/WorkEmployeeVo.java

@@ -34,6 +34,15 @@ public class WorkEmployeeVo {
     private String wxUserId;
     private Integer groupId;
     private String tagName;
+    private String thumbAvatar;
+
+    public String getThumbAvatar() {
+        return thumbAvatar;
+    }
+
+    public void setThumbAvatar(String thumbAvatar) {
+        this.thumbAvatar = thumbAvatar;
+    }
 
     public String getTagName() {
         return tagName;

+ 10 - 5
src/main/java/com/mokamrp/privates/service/impl/WorkContactEmployeeServiceImpl.java

@@ -16,6 +16,7 @@ import com.mokamrp.privates.mapper.vo.WorkRoomVo;
 import com.mokamrp.privates.service.WorkContactEmployeeService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mokamrp.privates.utils.OssFile;
+import com.mokamrp.privates.utils.PageUtil;
 import org.apache.ibatis.annotations.Param;
 import org.apache.tomcat.util.bcel.Const;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -55,9 +56,8 @@ public class WorkContactEmployeeServiceImpl extends ServiceImpl<WorkContactEmplo
 
     public Map<String, Object> getPageList(GetWorkContactEmployeeHandle handle) {
 
-        Page<WorkContactEmployeeVo> pageObj = new Page<>(handle.getPage(), handle.getPagesize());
         QueryWrapper<WorkContactEmployeeVo> obj = getWrapper(handle);
-        List<WorkContactEmployeeVo> list = getCommonList(pageObj, obj);
+        List<WorkContactEmployeeVo> list = getCommonList(handle, obj);
 
         Integer total = mapperObj.getVoListTotal(obj);
 
@@ -76,7 +76,7 @@ public class WorkContactEmployeeServiceImpl extends ServiceImpl<WorkContactEmplo
         QueryWrapper<WorkContactEmployeeVo> obj = getWrapper(handle);
         Integer total = mapperObj.getVoListTotal(obj);
         Page<WorkContactEmployeeVo> pageObj = new Page<>(1, total);
-        List<WorkContactEmployeeVo> list = getCommonList(pageObj, obj);
+        List<WorkContactEmployeeVo> list = getCommonList(handle, obj);
 
         //实现下载
         List<List<Object>> resList = new ArrayList<List<Object>>();
@@ -122,8 +122,11 @@ public class WorkContactEmployeeServiceImpl extends ServiceImpl<WorkContactEmplo
         return;
     }
 
-    private List<WorkContactEmployeeVo> getCommonList(Page<WorkContactEmployeeVo> pageObj, QueryWrapper<WorkContactEmployeeVo> obj) {
-        List<WorkContactEmployeeVo> list = mapperObj.getVoList(pageObj, obj);
+    private List<WorkContactEmployeeVo> getCommonList(GetWorkContactEmployeeHandle handle, QueryWrapper<WorkContactEmployeeVo> obj) {
+
+        Integer offset = PageUtil.getOffset(handle.getPage(),handle.getPagesize());
+
+        List<WorkContactEmployeeVo> list = mapperObj.getVoList(obj,offset,handle.getPagesize());
 
         if (list.size() > 0) {
             List<Integer> ids = list.stream().map(WorkContactEmployeeVo::getContactId).collect(Collectors.toList());
@@ -205,9 +208,11 @@ public class WorkContactEmployeeServiceImpl extends ServiceImpl<WorkContactEmplo
             obj.in("a.employee_id", employeeId);
         }
 
+        /*
         if (tagId != null && tagId.size() >= 1) {
             obj.in("k.contact_tag_id", tagId);
         }
+         */
 
         if (group_id != null) {
             obj.eq("g.group_id", group_id);

+ 5 - 0
src/main/java/com/mokamrp/privates/service/impl/WorkEmployeeServiceImpl.java

@@ -179,9 +179,11 @@ public class WorkEmployeeServiceImpl extends ServiceImpl<WorkEmployeeMapper, Wor
             obj.eq("A.gender", gender);
         }
 
+        /*
         if (privateTagId != null) {
             obj.eq("A.private_tag_id", privateTagId);
         }
+         */
 
         if (groupId != null) {
             obj.eq("D.group_id", groupId);
@@ -237,6 +239,9 @@ public class WorkEmployeeServiceImpl extends ServiceImpl<WorkEmployeeMapper, Wor
                         list.get(i).setFanNum(contact.get("nums"));
                     }
                 }
+
+                list.get(i).setThumbAvatar(ossConfiguration.getHost()+list.get(i).getThumbAvatar());
+
             }
         }
 

+ 10 - 12
src/main/java/com/mokamrp/privates/service/impl/WorkRoomServiceImpl.java

@@ -16,6 +16,7 @@ import com.mokamrp.privates.mapper.vo.WorkRoomVo;
 import com.mokamrp.privates.service.WorkRoomService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mokamrp.privates.utils.OssFile;
+import com.mokamrp.privates.utils.PageUtil;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Async;
@@ -63,22 +64,19 @@ public class WorkRoomServiceImpl extends ServiceImpl<WorkRoomMapper, WorkRoom> i
 
         Integer pagesize = handle.getPagesize();
         Integer page = handle.getPage();
-        Page<WorkRoomVo> pageObj = new Page<>(page, pagesize);
         Map<String, Object> resMap = new HashMap<String, Object>();
         resMap.put("list", null);
         resMap.put("total", 0);
 
         QueryWrapper<WorkRoomVo> obj = getWrapper(handle);
 
-        System.out.println(obj);
-
         Integer total = mapperObj.getVoListTotal(obj);
         resMap.put("total", total);
         if(total <=0){
             return resMap;
         }
 
-        List<WorkRoomVo> list = getCommonList(pageObj, obj);
+        List<WorkRoomVo> list = getCommonList(handle, obj);
 
         resMap.put("list", list);
 
@@ -99,8 +97,9 @@ public class WorkRoomServiceImpl extends ServiceImpl<WorkRoomMapper, WorkRoom> i
 
         QueryWrapper<WorkRoomVo> obj = getWrapper(handle);
         Integer total = mapperObj.getVoListTotal(obj);
-        Page<WorkRoomVo> pageObj = new Page<>(1, total);
-        List<WorkRoomVo> list = getCommonList(pageObj, obj);
+        handle.setPagesize(total);
+        handle.setPage(1);
+        List<WorkRoomVo> list = getCommonList(handle, obj);
 
         resList.add(headList);
 
@@ -141,9 +140,12 @@ public class WorkRoomServiceImpl extends ServiceImpl<WorkRoomMapper, WorkRoom> i
         return;
     }
 
-    private List<WorkRoomVo> getCommonList(Page<WorkRoomVo> pageObj, QueryWrapper<WorkRoomVo> room) {
+    private List<WorkRoomVo> getCommonList(GetWorkRoomHandle handle, QueryWrapper<WorkRoomVo> room) {
+
+        Integer pageSize = handle.getPagesize();
+        Integer offset = PageUtil.getOffset(handle.getPage(),handle.getPagesize());
 
-        List<WorkRoomVo> list = mapperObj.getVoList(pageObj, room);
+        List<WorkRoomVo> list = mapperObj.getVoList(room,offset,pageSize);
 
         if (list.size() > 0) {
             List<Integer> ids = list.stream().map(WorkRoomVo -> WorkRoomVo.getId()).collect(Collectors.toList());
@@ -152,11 +154,9 @@ public class WorkRoomServiceImpl extends ServiceImpl<WorkRoomMapper, WorkRoom> i
             QueryWrapper<WorkRoomVo> tagObj = new QueryWrapper<WorkRoomVo>();
             tagObj.in("a.id", ids);
             List<HashMap<String, Object>> tagMapData = mapperObj.getRoomTagList(tagObj);
-            System.out.println(tagMapData);
 
             if (dataById.size() > 0) {
                 int j  = list.size();
-                //for (int i=0;i<j;i++)
                 list = list.stream().map(WorkRwoomVo -> {
                     WorkRoomVo detail = new WorkRoomVo();
                     BeanUtils.copyProperties(WorkRwoomVo, detail);
@@ -171,10 +171,8 @@ public class WorkRoomServiceImpl extends ServiceImpl<WorkRoomMapper, WorkRoom> i
                         detail.setLeftNum(dataById.get(detail.getId()).get("left_num"));
                     }
 
-                    System.out.println(tagMapData);
 
                     for (HashMap<String,Object> m :tagMapData){
-                        System.out.println(m);
                         if(m.get("id").toString().equals(detail.getId().toString())){
                             if(m.get("tag_names") != null){
                                 detail.setTagNames(m.get("tag_names").toString());

+ 23 - 0
src/main/java/com/mokamrp/privates/utils/PageUtil.java

@@ -0,0 +1,23 @@
+package com.mokamrp.privates.utils;
+
+import com.mokamrp.privates.entity.PostBasePageHandle;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 将list<map>转成csv模式
+ *
+ * @author gy
+ */
+public class PageUtil
+{
+
+    public static Integer getOffset(Integer page, Integer pageSize) {
+        Integer offset;
+        offset = (page-1)*pageSize;
+        return offset;
+    }
+
+}