Procházet zdrojové kódy

增加企业客服列表相关接口

MOKASZ\wzk12044 před 5 roky
rodič
revize
f880ed2126

+ 26 - 0
src/main/java/com/mokamrp/privates/controller/GroupCorpController.java

@@ -1,6 +1,10 @@
 package com.mokamrp.privates.controller;
 
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.mokamrp.privates.mapper.pojo.Corp;
+import com.mokamrp.privates.mapper.pojo.Group;
+import com.mokamrp.privates.service.CorpService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import com.mokamrp.privates.service.GroupCorpService;
@@ -10,6 +14,7 @@ import com.mokamrp.privates.entity.IndexHandle;
 import com.mokamrp.privates.mapper.pojo.IndexBaseRes;
 
 import javax.validation.Valid;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -28,6 +33,9 @@ public class GroupCorpController extends BaseController<GroupCorp> {
     @Autowired
     public GroupCorpService groupCorpService;
 
+    @Autowired
+    public CorpService corpService;
+
     /*
      * @fast
      * 默认生成的控制器所继承的父类中有index/add/edit/del四个基础方法,均为post json请求
@@ -39,5 +47,23 @@ public class GroupCorpController extends BaseController<GroupCorp> {
         List<Map<String,Object>> res = groupCorpService.selectGroupCorp();
         return AjaxResult.success("success",res);
     }
+
+    @GetMapping("/getCorpsByGroupId")
+    public Object getCorpsByGroupId(@RequestParam String groupId){
+        if (groupId == null || groupId.isEmpty()){
+            return AjaxResult.error("groupId 不可为空");
+        }
+        List<GroupCorp> corps = groupCorpService.selectList(new EntityWrapper<GroupCorp>().eq("group_id",groupId));
+        if (corps == null || corps.size() == 0){
+            return AjaxResult.success("success", new ArrayList<>());
+        }
+        List<Integer> corpIds = new ArrayList<Integer>();
+        for(GroupCorp corp : corps){
+            corpIds.add(corp.getCorpId());
+        }
+        List<Corp> corpInfos = corpService.selectList(new EntityWrapper<Corp>().in("id",corpIds));
+        return AjaxResult.success("success",corpInfos);
+    }
+
 }
 

+ 26 - 0
src/main/java/com/mokamrp/privates/controller/WorkEmployeeController.java

@@ -1,14 +1,29 @@
 package com.mokamrp.privates.controller;
 
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.mokamrp.privates.constant.HttpStatus;
+import com.mokamrp.privates.entity.WorkEmployeeHandle;
+import com.mokamrp.privates.help.AjaxResult;
+import com.mokamrp.privates.interceptor.AuthUser;
+import com.mokamrp.privates.mapper.pojo.Corp;
+import com.mokamrp.privates.mapper.pojo.User;
+import com.mokamrp.privates.mapper.pojo.UserCorp;
+import com.mokamrp.privates.service.UserCorpService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import com.mokamrp.privates.service.WorkEmployeeService;
 import com.mokamrp.privates.mapper.pojo.WorkEmployee;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.swing.border.EtchedBorder;
 import javax.validation.Valid;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -26,12 +41,23 @@ public class WorkEmployeeController extends BaseController<WorkEmployee> {
     @Autowired
     public WorkEmployeeService workEmployeeService;
 
+    @Autowired
+    public UserCorpService userCorpService;
+
     /*
      * @fast
      * 默认生成的控制器所继承的父类中有index/add/edit/del四个基础方法,均为post json请求
      * 如果需要定制化,需要将BaseController中对应的方法复制到当前控制器,然后进行修改
      */
 
+    @PostMapping("/getWorkEmployeeList")
+    public Object getWorkEmployeeList(@Valid @RequestBody WorkEmployeeHandle workEmployee,@AuthUser User authUser, BindingResult bindingResult){
+        if(bindingResult.hasErrors()){
+            return AjaxResult.error(HttpStatus.LOGIN_ERROR,bindingResult.getFieldError().getDefaultMessage());
+        }
+        Object res = workEmployeeService.selectWorkEmployeeList(authUser.getId(),workEmployee);
+        return AjaxResult.success(res);
+    }
 
 }
 

+ 28 - 0
src/main/java/com/mokamrp/privates/entity/WorkEmployeeHandle.java

@@ -0,0 +1,28 @@
+package com.mokamrp.privates.entity;
+
+import lombok.Data;
+
+@Data
+public class WorkEmployeeHandle {
+    //.企业id
+    private Integer corpId;
+    //.企业组id
+    private Integer groupId;
+    //.客服名称
+    private String employeeName;
+    //.性别
+    private Integer sex;
+    //.交付状态
+    private Integer payStatus;
+    //.迁移状态
+    private Integer switchStatus;
+    //.手机号码
+    private String phoneNo;
+    //.手机编号
+    private String phoneCode;
+    //.运营人员
+    private String admin;
+    //.标签
+    private Integer tag;
+
+}

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

@@ -17,8 +17,8 @@
     </sql>
     <!-- 获取企业绑定分组关系 -->
     <select id="selectGroupCorp" resultType="map">
-        SELECT A.group_id,B.group_name,COUNT(A.corp_id) AS corp_cnt FROM private_group_corp AS A
-        LEFT JOIN private_group AS B ON A.group_id = B.id
-        GROUP BY A.group_id,B.group_name
+        SELECT A.group_name,A.id,IFNULL(B.corp_id,0) AS corp_cnt FROM private_group AS A
+        LEFT JOIN (SELECT COUNT(corp_id) AS corp_id,group_id FROM private_group_corp GROUP BY group_id) AS B ON A.id = B.group_id
+        WHERE A.group_type = 1
     </select>
 </mapper>

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

@@ -2,6 +2,10 @@ package com.mokamrp.privates.mapper;
 
 import com.mokamrp.privates.mapper.pojo.Group;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -11,6 +15,7 @@ import com.baomidou.mybatisplus.mapper.BaseMapper;
  * @author leon
  * @since 2021-04-20
  */
+@Component
 public interface GroupMapper extends BaseMapper<Group> {
-
+    public List<Map<String,Object>> selectCorpAndWorkEmployeeList(String corpIds);
 }

+ 6 - 0
src/main/java/com/mokamrp/privates/mapper/GroupMapper.xml

@@ -19,4 +19,10 @@
         id, group_type, group_name, create_at, update_at
     </sql>
 
+    <select id="selectCorpAndWorkEmployeeList" resultType="map">
+        SELECT * FROM private_group_corp AS A
+        LEFT JOIN mc_corp AS B on A.corp_id = B.id
+        WHERE A.corp_id IN (#{corpIds})
+    </select>
+
 </mapper>

+ 6 - 1
src/main/java/com/mokamrp/privates/service/WorkEmployeeService.java

@@ -1,8 +1,13 @@
 package com.mokamrp.privates.service;
 
+import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.mokamrp.privates.entity.WorkEmployeeHandle;
+import com.mokamrp.privates.mapper.pojo.UserCorp;
 import com.mokamrp.privates.mapper.pojo.WorkEmployee;
 import com.baomidou.mybatisplus.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  * 企业通讯录 服务类
@@ -12,5 +17,5 @@ import com.baomidou.mybatisplus.service.IService;
  * @since 2021-04-20
  */
 public interface WorkEmployeeService extends IService<WorkEmployee> {
-
+    public Object selectWorkEmployeeList(Integer authUserId, WorkEmployeeHandle workEmployee);
 }

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

@@ -1,11 +1,24 @@
 package com.mokamrp.privates.service.impl;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.mokamrp.privates.entity.WorkEmployeeHandle;
+import com.mokamrp.privates.mapper.GroupCorpMapper;
+import com.mokamrp.privates.mapper.GroupMapper;
+import com.mokamrp.privates.mapper.pojo.UserCorp;
 import com.mokamrp.privates.mapper.pojo.WorkEmployee;
 import com.mokamrp.privates.mapper.WorkEmployeeMapper;
+import com.mokamrp.privates.service.UserCorpService;
 import com.mokamrp.privates.service.WorkEmployeeService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.mokamrp.privates.utils.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  * 企业通讯录 服务实现类
@@ -16,5 +29,24 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class WorkEmployeeServiceImpl extends ServiceImpl<WorkEmployeeMapper, WorkEmployee> implements WorkEmployeeService {
+    @Autowired
+    public UserCorpService userCorpService;
+    @Autowired
+    private GroupMapper groupMapper;
 
+    public Object selectWorkEmployeeList(Integer authUserId, WorkEmployeeHandle workEmployee){
+        List<UserCorp> userCorps = userCorpService.selectList(new EntityWrapper<UserCorp>().eq("id",authUserId));
+        //.先用户当前的企业查询企业
+        List<Integer> corpIds = new ArrayList<Integer>();
+        if (workEmployee.getCorpId() == null){
+            for(UserCorp userCorp : userCorps){
+                corpIds.add(userCorp.getCorpId());
+            }
+        }else{
+            corpIds.add(workEmployee.getCorpId());
+        }
+        String corpIdStr = StringUtils.join(corpIds, ",");
+        List<Map<String,Object>> res = groupMapper.selectCorpAndWorkEmployeeList(corpIdStr);
+        return res;
+    }
 }