فهرست منبع

fix(优化客户管理代码)

gengyang 5 سال پیش
والد
کامیت
d5db10a50e

+ 19 - 38
src/main/java/com/mokamrp/privates/controller/WorkContactEmployeeController.java

@@ -9,9 +9,8 @@ import com.aliyun.oss.model.PutObjectRequest;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.mokamrp.privates.config.OSSConfiguration;
-import com.mokamrp.privates.entity.JobRedis;
-import com.mokamrp.privates.entity.JobRoomJobRedis;
-import com.mokamrp.privates.entity.JobWorkContactEmployeeRedis;
+import com.mokamrp.privates.constant.HttpStatus;
+import com.mokamrp.privates.entity.*;
 import com.mokamrp.privates.help.AjaxResult;
 import com.mokamrp.privates.interceptor.AuthUser;
 import com.mokamrp.privates.mapper.pojo.Downfile;
@@ -29,15 +28,15 @@ import org.apache.ibatis.annotations.Param;
 import org.apache.xerces.xs.datatypes.ObjectList;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import javax.validation.Valid;
 import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
 import java.io.ByteArrayInputStream;
 import java.util.*;
 
@@ -63,22 +62,17 @@ public class WorkContactEmployeeController extends BaseController<WorkContactEmp
     @Autowired
     private DownfileService downfileService;
 
-    @RequestMapping("/list")
+    @PostMapping("/list")
     @ResponseBody
     public Object getList(
             @AuthUser User authUser,
-            Integer gender, Integer status,
-            Integer pagesize, Integer page, String name,
-            Integer start_deleted_at, Integer end_deleted_at,
-            Integer start_created_at, Integer end_created_at,
-            Integer group_id, Integer corp_id, @RequestParam List employee_id, @RequestParam List tag_id, Integer channel_code_id
-    ) {
-
-        Map<String, Object> resMap = WorkContactEmployeeService.getPageList(gender, status,
-                pagesize, page, name,
-                start_deleted_at, end_deleted_at,
-                start_created_at, end_created_at,
-                group_id, corp_id, employee_id, tag_id, channel_code_id);//所有
+            @Valid @RequestBody GetWorkContactEmployeeHandle handle, BindingResult bindingResult) {
+
+        if (bindingResult.hasErrors()) {
+            return AjaxResult.error(HttpStatus.ERROR, bindingResult.getFieldError().getDefaultMessage());
+        }
+
+        Map<String, Object> resMap = WorkContactEmployeeService.getPageList(handle);//所有
 
         return AjaxResult.success(resMap);
 
@@ -86,12 +80,10 @@ public class WorkContactEmployeeController extends BaseController<WorkContactEmp
 
     @RequestMapping("/export")
     @ResponseBody
-    public Object export(
-            Integer gender, Integer status,String name,
-            Integer start_deleted_at, Integer end_deleted_at,
-            Integer start_created_at, Integer end_created_at,
-            Integer group_id, Integer corp_id,@RequestParam List employee_id, @RequestParam List tag_id , Integer channel_code_id
-    ){
+    public Object export(@Valid @RequestBody GetWorkContactEmployeeHandle handle, BindingResult bindingResult){
+        if (bindingResult.hasErrors()) {
+            return AjaxResult.error(HttpStatus.ERROR, bindingResult.getFieldError().getDefaultMessage());
+        }
 
         Downfile downObj = new Downfile();
         downObj.setMsg(Downfile.DEFAULT_MSG);
@@ -101,18 +93,7 @@ public class WorkContactEmployeeController extends BaseController<WorkContactEmp
         /*推送一个简单下载任务*/
         JobRedis realJob = new JobRedis();
         JobWorkContactEmployeeRedis job = new JobWorkContactEmployeeRedis();
-        job.setGender(gender);
-        job.setStatus(status);
-        job.setName(name);
-        job.setStartCreatedAt(start_created_at);
-        job.setEndCreatedAt(end_created_at);
-        job.setStartDeletedAt(start_deleted_at);
-        job.setEndDeletedAt(end_deleted_at);
-        job.setGroupId(group_id);
-        job.setCorpId(corp_id);
-        job.setEmployeeId(employee_id);
-        job.setTagId(tag_id);
-        job.setChannelCodeId(channel_code_id);
+        job.setWorkContactEmployeeHandle(handle);
 
         realJob.setJobWorkContactEmployeeRedis(job);
         realJob.setJobName(JobWorkContactEmployeeRedis.TASK_NAME);

+ 3 - 0
src/main/java/com/mokamrp/privates/controller/WorkRoomController.java

@@ -63,6 +63,9 @@ public class WorkRoomController extends BaseController<WorkRoom> {
     @PostMapping("/export")
     @ResponseBody
     public Object export(@Valid @RequestBody GetWorkRoomHandle handle, BindingResult bindingResult) {
+        if (bindingResult.hasErrors()) {
+            return AjaxResult.error(HttpStatus.ERROR, bindingResult.getFieldError().getDefaultMessage());
+        }
 
         JobRedis realJob = new JobRedis();
         JobRoomJobRedis job = new JobRoomJobRedis();

+ 9 - 9
src/main/java/com/mokamrp/privates/entity/GetWorkContactEmployeeHandle.java

@@ -14,13 +14,13 @@ public class GetWorkContactEmployeeHandle {
     private Integer gender;
     private Integer status;
     private String name;
-    private Integer start_deleted_at;
-    private Integer end_deleted_at;
-    private Integer start_created_at;
-    private Integer end_created_at;
-    private Integer group_id;
-    private Integer corp_id;
-    private List employee_id;
-    private List tag_id;
-    private Integer channel_code_id;
+    private Integer startDeletedAt;
+    private Integer endDeletedAt;
+    private Integer startCreatedAt;
+    private Integer endCreatedAt;
+    private Integer groupId;
+    private Integer corpId;
+    private List employeeId;
+    private List tagId;
+    private Integer channelCodeId;
 }

+ 5 - 105
src/main/java/com/mokamrp/privates/entity/JobWorkContactEmployeeRedis.java

@@ -7,113 +7,13 @@ import java.util.Map;
 public class JobWorkContactEmployeeRedis{
 
     public final static String TASK_NAME = "WorkContactEmployeeService";
+    private GetWorkContactEmployeeHandle workContactEmployeeHandle;
 
-    private Integer gender;
-    private Integer status;
-    private String name;
-    private Integer startDeletedAt;
-    private Integer endDeletedAt;
-    private Integer startCreatedAt;
-    private Integer endCreatedAt;
-    private Integer groupId;
-    private Integer corpId;
-    private List employeeId;
-    private List tagId ;
-    private Integer channelCodeId;
-
-    public Integer getGender() {
-        return gender;
-    }
-
-    public void setGender(Integer gender) {
-        this.gender = gender;
-    }
-
-    public Integer getStatus() {
-        return status;
-    }
-
-    public void setStatus(Integer status) {
-        this.status = status;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public Integer getStartDeletedAt() {
-        return startDeletedAt;
-    }
-
-    public void setStartDeletedAt(Integer startDeletedAt) {
-        this.startDeletedAt = startDeletedAt;
-    }
-
-    public Integer getEndDeletedAt() {
-        return endDeletedAt;
-    }
-
-    public void setEndDeletedAt(Integer endDeletedAt) {
-        this.endDeletedAt = endDeletedAt;
-    }
-
-    public Integer getStartCreatedAt() {
-        return startCreatedAt;
-    }
-
-    public void setStartCreatedAt(Integer startCreatedAt) {
-        this.startCreatedAt = startCreatedAt;
-    }
-
-    public Integer getEndCreatedAt() {
-        return endCreatedAt;
-    }
-
-    public void setEndCreatedAt(Integer endCreatedAt) {
-        this.endCreatedAt = endCreatedAt;
-    }
-
-    public Integer getGroupId() {
-        return groupId;
-    }
-
-    public void setGroupId(Integer groupId) {
-        this.groupId = groupId;
-    }
-
-    public Integer getCorpId() {
-        return corpId;
-    }
-
-    public void setCorpId(Integer corpId) {
-        this.corpId = corpId;
-    }
-
-    public List getEmployeeId() {
-        return employeeId;
-    }
-
-    public void setEmployeeId(List employeeId) {
-        this.employeeId = employeeId;
-    }
-
-    public List getTagId() {
-        return tagId;
-    }
-
-    public void setTagId(List tagId) {
-        this.tagId = tagId;
-    }
-
-    public Integer getChannelCodeId() {
-        return channelCodeId;
+    public GetWorkContactEmployeeHandle getWorkContactEmployeeHandle() {
+        return workContactEmployeeHandle;
     }
 
-    public void setChannelCodeId(Integer channelCodeId) {
-        this.channelCodeId = channelCodeId;
+    public void setWorkContactEmployeeHandle(GetWorkContactEmployeeHandle workContactEmployeeHandle) {
+        this.workContactEmployeeHandle = workContactEmployeeHandle;
     }
 }

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

@@ -2,6 +2,7 @@ package com.mokamrp.privates.service;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.plugins.Page;
+import com.mokamrp.privates.entity.GetWorkContactEmployeeHandle;
 import com.mokamrp.privates.mapper.pojo.Downfile;
 import com.mokamrp.privates.mapper.pojo.WorkContactEmployee;
 import com.baomidou.mybatisplus.service.IService;
@@ -24,16 +25,7 @@ import java.util.Map;
 public interface WorkContactEmployeeService extends IService<WorkContactEmployee> {
 
 
-    Map<String, Object> getPageList(Integer gender, Integer status,
-                                    Integer pagesize, Integer page, String name,
-                                    Integer start_deleted_at, Integer end_deleted_at,
-                                    Integer start_created_at, Integer end_created_at,
-                                    Integer group_id,
-                                    Integer corp_id, List employee_id, List tag_id, Integer channel_code_id);
+    Map<String, Object> getPageList(GetWorkContactEmployeeHandle handle);
 
-    void export(Downfile downFile,Integer gender, Integer status, String name,
-                Integer start_deleted_at, Integer end_deleted_at,
-                Integer start_created_at, Integer end_created_at,
-                Integer group_id,
-                Integer corp_id, List employee_id, List tag_id , Integer channel_code_id);
+    void export(Downfile downFile,GetWorkContactEmployeeHandle handle);
 }

+ 72 - 95
src/main/java/com/mokamrp/privates/service/impl/WorkContactEmployeeServiceImpl.java

@@ -5,6 +5,7 @@ import com.aliyun.oss.model.PutObjectRequest;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.mokamrp.privates.config.OSSConfiguration;
+import com.mokamrp.privates.entity.GetWorkContactEmployeeHandle;
 import com.mokamrp.privates.mapper.CorpMapper;
 import com.mokamrp.privates.mapper.DownfileMapper;
 import com.mokamrp.privates.mapper.pojo.Downfile;
@@ -46,56 +47,15 @@ public class WorkContactEmployeeServiceImpl extends ServiceImpl<WorkContactEmplo
     private OSSConfiguration ossConfiguration;
 
     @Autowired
-    private WorkContactEmployeeMapper mapperObj  ;
+    private WorkContactEmployeeMapper mapperObj;
 
     @Override
-    public Map<String, Object> getPageList(Integer gender, Integer status,
-                                           Integer pagesize, Integer page, String name,
-                                           Integer start_deleted_at, Integer end_deleted_at,
-                                           Integer start_created_at, Integer end_created_at,
-                                           Integer group_id,
-                                           Integer corp_id, List employee_id, List tag_id, Integer channel_code_id) {
-
-        Page<WorkContactEmployeeVo> pageObj = new Page<>(page, pagesize);
-        EntityWrapper<WorkContactEmployee> obj = new EntityWrapper<WorkContactEmployee>();
-
-        if(name != null && !name.equals("")){
-            obj.like("c.name", name);
-        }
-
-        if (gender != null) {
-            obj.eq("c.gender", gender);
-        }
-
-        if (status != null) {
-            obj.eq("a.`status`", status);
-        }
-
-        if (channel_code_id != null) {
-            obj.eq("a.channel_code_id", channel_code_id);
-        }
 
-        if (start_deleted_at != null) {
-            obj.ge("c.deleted_at", start_deleted_at);
-        }
+    public Map<String, Object> getPageList(GetWorkContactEmployeeHandle handle) {
 
-        if (end_created_at != null) {
-            obj.le("c.deleted_at", end_deleted_at);
-        }
+        Page<WorkContactEmployeeVo> pageObj = new Page<>(handle.getPage(), handle.getPagesize());
+        EntityWrapper<WorkContactEmployee> obj = getWrapper(handle);
 
-        if (start_created_at != null) {
-            obj.ge("c.created_at", start_created_at);
-        }
-
-        if (end_created_at != null) {
-            obj.le("c.created_at", end_created_at);
-        }
-        if (corp_id != null) {
-            obj.eq("a.corp_id", corp_id);
-        }
-        if (employee_id != null) {
-            obj.in("a.employee_id", employee_id);
-        }
 
         List<WorkContactEmployeeVo> list = mapperObj.getVoList(pageObj, obj);
 
@@ -110,63 +70,20 @@ public class WorkContactEmployeeServiceImpl extends ServiceImpl<WorkContactEmplo
     }
 
     @Override
-    public void export(Downfile downFile,Integer gender, Integer status, String name,
-                                           Integer start_deleted_at, Integer end_deleted_at,
-                                           Integer start_created_at, Integer end_created_at,
-                                           Integer group_id,
-                                           Integer corp_id, List employee_id, List tag_id , Integer channel_code_id){
+    public void export(Downfile downFile, GetWorkContactEmployeeHandle handle) {
 
-        EntityWrapper<WorkContactEmployee> obj = new EntityWrapper<WorkContactEmployee>();
         List<Object> tempObj;
-
-        if(name != null && !name.equals("")){
-            obj.like("c.name",name);
-        }
-
-        if(gender != null){
-            obj.eq("c.gender",gender);
-        }
-
-        if(status != null) {
-            obj.eq("a.`status`", status);
-        }
-
-        if(channel_code_id != null) {
-            obj.eq("a.channel_code_id", channel_code_id);
-        }
-
-        if(start_deleted_at != null) {
-            obj.ge("c.deleted_at", start_deleted_at);
-        }
-
-        if(end_created_at != null) {
-            obj.le("c.deleted_at", end_deleted_at);
-        }
-
-        if(start_created_at != null) {
-            obj.ge("c.created_at", start_created_at);
-        }
-
-        if(end_created_at != null) {
-            obj.le("c.created_at", end_created_at);
-        }
-        if(corp_id != null) {
-            obj.eq("a.corp_id", corp_id);
-        }
-        if(employee_id !=null) {
-            obj.in("a.employee_id", employee_id);
-        }
-
+        EntityWrapper<WorkContactEmployee> obj = getWrapper(handle);
         List<WorkContactEmployeeVo> list = mapperObj.getAllVoList(obj);
 
         //实现下载
         List<List<Object>> resList = new ArrayList<List<Object>>();
-        Object[] head = { "id", "客户昵称", "状态","渠道码id","渠道名称","客户删除时间","客户创建时间","unionid","客服名称","公司名称" };
+        Object[] head = {"id", "客户昵称", "状态", "渠道码id", "渠道名称", "客户删除时间", "客户创建时间", "unionid", "客服名称", "公司名称"};
         List<Object> headList = Arrays.asList(head);
         resList.add(headList);
 
-        if(list.size() >=1){
-            for (WorkContactEmployeeVo o: list){
+        if (list.size() >= 1) {
+            for (WorkContactEmployeeVo o : list) {
                 tempObj = new ArrayList<Object>() {//这个大括号 就相当于我们  new 接口
                     {//这个大括号 就是 构造代码块 会在构造函数前 调用
                         this.add(o.getId());
@@ -192,16 +109,76 @@ public class WorkContactEmployeeServiceImpl extends ServiceImpl<WorkContactEmplo
         Date currentTime = new Date();
         SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
         String dateString = formatter.format(currentTime);
-        String filePath = OSSConfiguration.DOWN_DIR+dateString+"/"+downFile.getId().toString()+"_"+Downfile.WORK_CONTACT_EMPLOYEE;
+        String filePath = OSSConfiguration.DOWN_DIR + dateString + "/" + downFile.getId().toString() + "_" + Downfile.WORK_CONTACT_EMPLOYEE;
 
         PutObjectRequest putObjectRequest = new PutObjectRequest(ossConfiguration.getBucketName(), filePath, new ByteArrayInputStream(content.toString().getBytes()));
         ossClient.putObject(putObjectRequest);
 
-        downFile.setDownUrl(ossConfiguration.getHost()+filePath);
+        downFile.setDownUrl(ossConfiguration.getHost() + filePath);
         downFile.setStatus(1);
         downfileMapper.updateById(downFile);
 
         return;
     }
 
+    private EntityWrapper<WorkContactEmployee> getWrapper(GetWorkContactEmployeeHandle handle){
+
+        EntityWrapper<WorkContactEmployee> obj = new EntityWrapper<WorkContactEmployee>();
+
+        Integer gender = handle.getGender();
+        Integer status = handle.getStatus();
+        String name = handle.getName();
+        Integer startDeletedAt = handle.getStartDeletedAt();
+        Integer endDeletedAt = handle.getEndDeletedAt();
+        Integer startCreatedAt = handle.getStartCreatedAt();
+        Integer endCreatedAt = handle.getEndCreatedAt();
+        Integer group_id = handle.getGroupId();
+        Integer corpId = handle.getCorpId();
+        List employeeId = handle.getEmployeeId();
+        List tagId = handle.getTagId();
+        Integer channel_code_id = handle.getChannelCodeId();
+
+        if (name != null && !name.equals("")) {
+            obj.like("c.name", name);
+        }
+
+        if (gender != null) {
+            obj.eq("c.gender", gender);
+        }
+
+        if (status != null) {
+            obj.eq("a.`status`", status);
+        }
+
+        if (channel_code_id != null) {
+            obj.eq("a.channel_code_id", channel_code_id);
+        }
+
+        if (startDeletedAt != null) {
+            obj.ge("c.deleted_at", startDeletedAt);
+        }
+
+        if (endDeletedAt != null) {
+            obj.le("c.deleted_at", endDeletedAt);
+        }
+
+        if (startCreatedAt != null) {
+            obj.ge("c.created_at", startCreatedAt);
+        }
+
+        if (endCreatedAt != null) {
+            obj.le("c.created_at", endCreatedAt);
+        }
+        if (corpId != null) {
+            obj.eq("a.corp_id", corpId);
+        }
+
+        if (employeeId != null) {
+            obj.in("a.employee_id", employeeId);
+        }
+
+        return obj;
+
+    }
+
 }

+ 4 - 13
src/main/java/com/mokamrp/privates/tast/ExportJobTask.java

@@ -48,21 +48,12 @@ public class ExportJobTask {
                 case "Room":
                     JobRoomJobRedis job= out.getJobRoomJobRedis();
                     workRoomService.export(downFile,job.getWorkRoomHandle());
-                    break; //可选
+                    break;
                 case "WorkContactEmployeeService":
                     JobWorkContactEmployeeRedis eJob= out.getJobWorkContactEmployeeRedis();
-                    System.out.println("=======WorkContactEmployeeService======");
-                    System.out.println(eJob.getName());
-
-                    workContactEmployeeService.export(downFile,eJob.getGender(),eJob.getStatus(),eJob.getName(),
-                            eJob.getStartDeletedAt(),eJob.getEndDeletedAt(),
-                            eJob.getStartCreatedAt(), eJob.getEndCreatedAt(),
-                            eJob.getGroupId(),eJob.getCorpId(),eJob.getEmployeeId(), eJob.getTagId(), eJob.getChannelCodeId()
-                    );
-
-                    //语句
-                    break; //可选
-                default : //可选
+                    workContactEmployeeService.export(downFile,eJob.getWorkContactEmployeeHandle());
+                    break;
+                default :
             }
         }