Kaynağa Gözat

feat(带小说标签的列表)

gengyang 5 yıl önce
ebeveyn
işleme
6b5adbdf66

+ 23 - 0
src/main/java/com/mokamrp/privates/controller/WorkContactEmployeeController.java

@@ -3,6 +3,7 @@ package com.mokamrp.privates.controller;
 
 
 import com.mokamrp.privates.constant.HttpStatus;
 import com.mokamrp.privates.constant.HttpStatus;
 import com.mokamrp.privates.entity.GetWorkContactEmployeeHandle;
 import com.mokamrp.privates.entity.GetWorkContactEmployeeHandle;
+import com.mokamrp.privates.entity.HubWorkContactEmployeeHandle;
 import com.mokamrp.privates.entity.JobRedis;
 import com.mokamrp.privates.entity.JobRedis;
 import com.mokamrp.privates.entity.JobWorkContactEmployeeRedis;
 import com.mokamrp.privates.entity.JobWorkContactEmployeeRedis;
 import com.mokamrp.privates.help.AjaxResult;
 import com.mokamrp.privates.help.AjaxResult;
@@ -71,6 +72,28 @@ public class WorkContactEmployeeController extends BaseController<WorkContactEmp
         return AjaxResult.success(resMap);
         return AjaxResult.success(resMap);
     }
     }
 
 
+    @PostMapping("/hublist")
+    @ResponseBody
+    public Object hubList(
+            @AuthUser User authUser,
+            @Valid @RequestBody HubWorkContactEmployeeHandle handle, BindingResult bindingResult) {
+
+        if (bindingResult.hasErrors()) {
+            return AjaxResult.error(HttpStatus.ERROR, bindingResult.getFieldError().getDefaultMessage());
+        }
+
+        List<Integer> corpIds = userCorpService.getAuthUserCorpIds(authUser.getId().toString());
+
+        if(corpIds.size() <=0){
+            return AjaxResult.error(HttpStatus.ERROR, UserCorpService.USER_MSG);
+        }
+
+        handle.setAuthCorpIds(corpIds);
+        Map<String, Object> resMap = WorkContactEmployeeService.getHubPageList(handle);//所有
+
+        return AjaxResult.success(resMap);
+    }
+
     @RequestMapping("/export")
     @RequestMapping("/export")
     @ResponseBody
     @ResponseBody
     public Object export(
     public Object export(

+ 21 - 0
src/main/java/com/mokamrp/privates/entity/HubWorkContactEmployeeHandle.java

@@ -0,0 +1,21 @@
+package com.mokamrp.privates.entity;
+
+import lombok.Data;
+
+import javax.validation.constraints.Min;
+import java.util.List;
+
+@Data
+public class HubWorkContactEmployeeHandle {
+    @Min(value = 1,message = "页码错误")
+    private Integer pagesize;
+    @Min(value = 1,message = "页码错误")
+    private Integer page;
+    private Integer gender;
+    private String name;
+    private String startCreatedAt;
+    private String endCreatedAt;
+    private Integer corpId;
+    private List employeeId;
+    private List<Integer> authCorpIds;
+}

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

@@ -26,7 +26,11 @@ public interface WorkContactEmployeeMapper extends BaseMapper<WorkContactEmploye
     List<WorkContactEmployeeVo> getVoList( @Param("ew") QueryWrapper<WorkContactEmployeeVo> queryWrapper,@Param("offset") Integer offset ,@Param("limit") Integer limit);
     List<WorkContactEmployeeVo> getVoList( @Param("ew") QueryWrapper<WorkContactEmployeeVo> queryWrapper,@Param("offset") Integer offset ,@Param("limit") Integer limit);
     List<WorkContactEmployeeVo> getAllVoList(@Param("ew") QueryWrapper<WorkContactEmployeeVo> queryWrapper);
     List<WorkContactEmployeeVo> getAllVoList(@Param("ew") QueryWrapper<WorkContactEmployeeVo> queryWrapper);
     Integer getVoListTotal(@Param("ew") QueryWrapper<WorkContactEmployeeVo> queryWrapper);
     Integer getVoListTotal(@Param("ew") QueryWrapper<WorkContactEmployeeVo> queryWrapper);
+    Integer getHubListTotal(@Param("ew") QueryWrapper<WorkContactEmployeeVo> queryWrapper);
+    List<WorkContactEmployeeVo> getHubVoList( @Param("ew") QueryWrapper<WorkContactEmployeeVo> queryWrapper,@Param("offset") Integer offset ,@Param("limit") Integer limit);
     List<HashMap<String, Object>> getContactTagList(@Param("ew") QueryWrapper<WorkContactEmployeeVo> queryWrapper);
     List<HashMap<String, Object>> getContactTagList(@Param("ew") QueryWrapper<WorkContactEmployeeVo> queryWrapper);
     void updateChannelCode(@Param("id") Integer id,@Param("codeId") Integer codeId);
     void updateChannelCode(@Param("id") Integer id,@Param("codeId") Integer codeId);
     List<WorkContactEmployeeHubVo> getCorpEmployeeContact(@Param("ew") QueryWrapper<WorkContactEmployeeHubVo> queryWrapper);
     List<WorkContactEmployeeHubVo> getCorpEmployeeContact(@Param("ew") QueryWrapper<WorkContactEmployeeHubVo> queryWrapper);
+
+
 }
 }

+ 34 - 0
src/main/java/com/mokamrp/privates/mapper/WorkContactEmployeeMapper.xml

@@ -70,6 +70,40 @@
         where 1 = 1 AND ${ew.sqlSegment}
         where 1 = 1 AND ${ew.sqlSegment}
     </select>
     </select>
 
 
+    <select id="getHubListTotal" resultType="Integer">
+        SELECT
+            count(distinct (a.id))
+        FROM mc_work_contact_employee AS a
+             LEFT JOIN mc_work_employee AS e ON a.employee_id = e.id
+             LEFT JOIN mc_work_contact AS c ON a.contact_id = c.id
+             LEFT JOIN mc_corp AS p ON p.id = a.corp_id
+        where 1 = 1 AND ${ew.sqlSegment}
+    </select>
+
+    <select id="getHubVoList" resultType="com.mokamrp.privates.mapper.vo.WorkContactEmployeeVo">
+        SELECT a.id,
+               c.`name`          AS client_name,
+               a.`employee_id`   AS employee_id,
+               c.gender          AS client_gender,
+               a.`status`        AS client_status,
+               a.channel_code_id as channel_code_id,
+               c.deleted_at      AS client_deleted_at,
+               c.created_at      AS client_created_at,
+               c.unionid         AS client_unionid,
+               e.`name`          AS employee_name,
+               p.`name`          as company_name,
+               a.contact_id,
+               a.state,
+               a.remark,
+        FROM mc_work_contact_employee AS a
+                 LEFT JOIN mc_work_employee AS e ON a.employee_id = e.id
+                 LEFT JOIN mc_work_contact AS c ON a.contact_id = c.id
+                 LEFT JOIN mc_corp AS p ON p.id = a.corp_id
+        where 1 = 1 AND ${ew.sqlSegment}
+        group by a.id
+        LIMIT #{limit} offset #{offset}
+    </select>
+
     <select id="getContactTagList" resultType="Map">
     <select id="getContactTagList" resultType="Map">
         SELECT
         SELECT
             a.id,
             a.id,

+ 27 - 0
src/main/java/com/mokamrp/privates/mapper/vo/WorkContactEmployeeVo.java

@@ -32,6 +32,33 @@ public class WorkContactEmployeeVo {
     private String tagNames;
     private String tagNames;
     private String tagIds;
     private String tagIds;
     private Integer employeeId;
     private Integer employeeId;
+    private String typerTag;
+    private String appId;
+    private String openId;
+
+    public String getTyperTag() {
+        return typerTag;
+    }
+
+    public void setTyperTag(String typerTag) {
+        this.typerTag = typerTag;
+    }
+
+    public String getAppId() {
+        return appId;
+    }
+
+    public void setAppId(String appId) {
+        this.appId = appId;
+    }
+
+    public String getOpenId() {
+        return openId;
+    }
+
+    public void setOpenId(String openId) {
+        this.openId = openId;
+    }
 
 
     public Integer getClientGender() {
     public Integer getClientGender() {
         return clientGender;
         return clientGender;

+ 3 - 0
src/main/java/com/mokamrp/privates/service/WorkContactEmployeeService.java

@@ -2,6 +2,7 @@ package com.mokamrp.privates.service;
 
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.mokamrp.privates.entity.GetWorkContactEmployeeHandle;
 import com.mokamrp.privates.entity.GetWorkContactEmployeeHandle;
+import com.mokamrp.privates.entity.HubWorkContactEmployeeHandle;
 import com.mokamrp.privates.mapper.pojo.Downfile;
 import com.mokamrp.privates.mapper.pojo.Downfile;
 import com.mokamrp.privates.mapper.pojo.WorkContactEmployee;
 import com.mokamrp.privates.mapper.pojo.WorkContactEmployee;
 import com.mokamrp.privates.mapper.vo.WorkContactEmployeeHubVo;
 import com.mokamrp.privates.mapper.vo.WorkContactEmployeeHubVo;
@@ -21,6 +22,8 @@ public interface WorkContactEmployeeService extends IService<WorkContactEmployee
 
 
     public Map<String, Object> getPageList(GetWorkContactEmployeeHandle handle);
     public Map<String, Object> getPageList(GetWorkContactEmployeeHandle handle);
 
 
+    public Map<String, Object> getHubPageList(HubWorkContactEmployeeHandle handle);
+
     public void export(Downfile downFile,GetWorkContactEmployeeHandle handle);
     public void export(Downfile downFile,GetWorkContactEmployeeHandle handle);
 
 
     public void formatChanelCode();
     public void formatChanelCode();

+ 56 - 0
src/main/java/com/mokamrp/privates/service/impl/WorkContactEmployeeServiceImpl.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mokamrp.privates.config.OSSConfiguration;
 import com.mokamrp.privates.config.OSSConfiguration;
 import com.mokamrp.privates.entity.GetWorkContactEmployeeHandle;
 import com.mokamrp.privates.entity.GetWorkContactEmployeeHandle;
+import com.mokamrp.privates.entity.HubWorkContactEmployeeHandle;
 import com.mokamrp.privates.mapper.DownfileMapper;
 import com.mokamrp.privates.mapper.DownfileMapper;
 import com.mokamrp.privates.mapper.WorkContactEmployeeMapper;
 import com.mokamrp.privates.mapper.WorkContactEmployeeMapper;
 import com.mokamrp.privates.mapper.pojo.Downfile;
 import com.mokamrp.privates.mapper.pojo.Downfile;
@@ -49,8 +50,22 @@ public class WorkContactEmployeeServiceImpl extends ServiceImpl<WorkContactEmplo
     @Autowired
     @Autowired
     private WorkContactEmployeeMapper mapperObj;
     private WorkContactEmployeeMapper mapperObj;
 
 
+
     @Override
     @Override
+    public Map<String, Object> getHubPageList(HubWorkContactEmployeeHandle handle) {
+
+        QueryWrapper<WorkContactEmployeeVo> obj = getHubWrapper(handle);
+        Integer offset = PageUtil.getOffset(handle.getPage(),handle.getPagesize());
+        List<WorkContactEmployeeVo> list = mapperObj.getVoList(obj,offset,handle.getPagesize());
+        Integer total = mapperObj.getHubListTotal(obj);
+        Map<String, Object> resMap = new HashMap<String, Object>();
+        resMap.put("list", list);
+        resMap.put("total", total);
 
 
+        return resMap;
+    }
+
+    @Override
     public Map<String, Object> getPageList(GetWorkContactEmployeeHandle handle) {
     public Map<String, Object> getPageList(GetWorkContactEmployeeHandle handle) {
 
 
         QueryWrapper<WorkContactEmployeeVo> obj = getWrapper(handle);
         QueryWrapper<WorkContactEmployeeVo> obj = getWrapper(handle);
@@ -184,6 +199,47 @@ public class WorkContactEmployeeServiceImpl extends ServiceImpl<WorkContactEmplo
         return list;
         return list;
     }
     }
 
 
+    private QueryWrapper<WorkContactEmployeeVo> getHubWrapper(HubWorkContactEmployeeHandle handle) {
+
+        QueryWrapper<WorkContactEmployeeVo> obj = new QueryWrapper<WorkContactEmployeeVo>();
+
+        Integer gender = handle.getGender();
+        String name = handle.getName();
+        String startCreatedAt = handle.getStartCreatedAt();
+        String endCreatedAt = handle.getEndCreatedAt();
+        Integer corpId = handle.getCorpId();
+        List employeeId = handle.getEmployeeId();
+        List<Integer> authCorpIds = handle.getAuthCorpIds();
+
+        if (name != null && !name.equals("")) {
+            obj.like("c.name", name);
+        }
+
+        if (gender != null) {
+            obj.eq("c.gender", gender);
+        }
+
+        if (startCreatedAt != null && !startCreatedAt.isEmpty()) {
+            obj.ge("c.created_at", startCreatedAt);
+        }
+
+        if (endCreatedAt != null && !endCreatedAt.isEmpty()) {
+            obj.le("c.created_at", endCreatedAt);
+        }
+        if (corpId != null) {
+            obj.eq("a.corp_id", corpId);
+        }
+
+        if (employeeId != null && employeeId.size() >= 1) {
+            obj.in("a.employee_id", employeeId);
+        }
+
+        obj.in("a.corp_id", authCorpIds);
+
+        return obj;
+
+    }
+
     private QueryWrapper<WorkContactEmployeeVo> getWrapper(GetWorkContactEmployeeHandle handle) {
     private QueryWrapper<WorkContactEmployeeVo> getWrapper(GetWorkContactEmployeeHandle handle) {
 
 
         QueryWrapper<WorkContactEmployeeVo> obj = new QueryWrapper<WorkContactEmployeeVo>();
         QueryWrapper<WorkContactEmployeeVo> obj = new QueryWrapper<WorkContactEmployeeVo>();