소스 검색

fix(客服群列表,客户管理列表 增加当前用户管理公司的绑定)

gengyang 5 년 전
부모
커밋
204b16a777

+ 24 - 1
src/main/java/com/mokamrp/privates/controller/WorkContactEmployeeController.java

@@ -19,6 +19,7 @@ import com.mokamrp.privates.mapper.pojo.WorkContactEmployee;
 import com.mokamrp.privates.mapper.pojo.WorkEmployee;
 import com.mokamrp.privates.mapper.vo.WorkContactEmployeeVo;
 import com.mokamrp.privates.service.DownfileService;
+import com.mokamrp.privates.service.UserCorpService;
 import com.mokamrp.privates.service.WorkContactEmployeeService;
 import com.mokamrp.privates.utils.OssFile;
 import com.mokamrp.privates.utils.RedisUtil;
@@ -26,6 +27,7 @@ import io.netty.handler.codec.json.JsonObjectDecoder;
 import lombok.extern.flogger.Flogger;
 import org.apache.ibatis.annotations.Param;
 import org.apache.xerces.xs.datatypes.ObjectList;
+import org.omg.PortableInterceptor.SYSTEM_EXCEPTION;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.EnableAsync;
 import org.springframework.validation.BindingResult;
@@ -56,6 +58,9 @@ public class WorkContactEmployeeController extends BaseController<WorkContactEmp
     @Autowired
     private WorkContactEmployeeService WorkContactEmployeeService;
 
+    @Autowired
+    public UserCorpService userCorpService;
+
     @Resource
     private RedisUtil redisUtil;
 
@@ -72,6 +77,13 @@ public class WorkContactEmployeeController extends BaseController<WorkContactEmp
             return AjaxResult.error(HttpStatus.ERROR, bindingResult.getFieldError().getDefaultMessage());
         }
 
+        List<Integer> corpIds = userCorpService.getAuthUserCorpIds(authUser.getId());
+
+        if(corpIds.size() <=0){
+            return AjaxResult.error(HttpStatus.ERROR, UserCorpService.USER_MSG);
+        }
+
+        handle.setAuthCorpIds(corpIds);
         Map<String, Object> resMap = WorkContactEmployeeService.getPageList(handle);//所有
 
         return AjaxResult.success(resMap);
@@ -80,13 +92,24 @@ public class WorkContactEmployeeController extends BaseController<WorkContactEmp
 
     @RequestMapping("/export")
     @ResponseBody
-    public Object export(@Valid @RequestBody GetWorkContactEmployeeHandle handle, BindingResult bindingResult){
+    public Object export(
+            @AuthUser User authUser,
+            @Valid @RequestBody GetWorkContactEmployeeHandle handle, BindingResult bindingResult){
         if (bindingResult.hasErrors()) {
             return AjaxResult.error(HttpStatus.ERROR, bindingResult.getFieldError().getDefaultMessage());
         }
 
+        List<Integer> corpIds = userCorpService.getAuthUserCorpIds(authUser.getId());
+        if(corpIds.size() <=0){
+            return AjaxResult.error(HttpStatus.ERROR, UserCorpService.USER_MSG);
+        }
+
+        handle.setAuthCorpIds(corpIds);
+
         Downfile downObj = new Downfile();
         downObj.setMsg(Downfile.DEFAULT_MSG);
+        downObj.setAuthId(authUser.getId());
+        downObj.setAuthName(authUser.getName());
         downObj.setTitle(Downfile.WORK_CONTACT_EMPLOYEE);
         downfileService.insert(downObj);
 

+ 26 - 2
src/main/java/com/mokamrp/privates/controller/WorkRoomController.java

@@ -8,9 +8,12 @@ import com.mokamrp.privates.entity.JobRedis;
 import com.mokamrp.privates.entity.JobRoomJobRedis;
 import com.mokamrp.privates.entity.WorkRoomBandTagHandle;
 import com.mokamrp.privates.help.AjaxResult;
+import com.mokamrp.privates.interceptor.AuthUser;
 import com.mokamrp.privates.mapper.pojo.Downfile;
+import com.mokamrp.privates.mapper.pojo.User;
 import com.mokamrp.privates.mapper.pojo.WorkRoom;
 import com.mokamrp.privates.service.DownfileService;
+import com.mokamrp.privates.service.UserCorpService;
 import com.mokamrp.privates.service.WorkContactEmployeeService;
 import com.mokamrp.privates.service.WorkRoomService;
 import com.mokamrp.privates.utils.RedisUtil;
@@ -45,16 +48,27 @@ public class WorkRoomController extends BaseController<WorkRoom> {
     @Autowired
     private DownfileService downfileService;
 
+    @Autowired
+    private UserCorpService userCorpService;
+
     @Resource
     private RedisUtil redisUtil;
 
     @PostMapping("/list")
     @ResponseBody
-    public Object getList(@Valid @RequestBody GetWorkRoomHandle handle, BindingResult bindingResult) {
+    public Object getList(
+            @AuthUser User authUser,
+            @Valid @RequestBody GetWorkRoomHandle handle, BindingResult bindingResult) {
         if (bindingResult.hasErrors()) {
             return AjaxResult.error(HttpStatus.ERROR, bindingResult.getFieldError().getDefaultMessage());
         }
 
+        List<Integer> corpIds = userCorpService.getAuthUserCorpIds(authUser.getId());
+        if(corpIds.size() <=0){
+            return AjaxResult.error(HttpStatus.ERROR, UserCorpService.USER_MSG);
+        }
+        handle.setAuthCorpIds(corpIds);
+
         Map<String, Object> resMap = workRoomService.getPageList(handle);//所有
 
         return AjaxResult.success(resMap);
@@ -62,11 +76,19 @@ public class WorkRoomController extends BaseController<WorkRoom> {
 
     @PostMapping("/export")
     @ResponseBody
-    public Object export(@Valid @RequestBody GetWorkRoomHandle handle, BindingResult bindingResult) {
+    public Object export(
+            @AuthUser User authUser,
+            @Valid @RequestBody GetWorkRoomHandle handle, BindingResult bindingResult) {
         if (bindingResult.hasErrors()) {
             return AjaxResult.error(HttpStatus.ERROR, bindingResult.getFieldError().getDefaultMessage());
         }
 
+        List<Integer> corpIds = userCorpService.getAuthUserCorpIds(authUser.getId());
+        if(corpIds.size() <=0){
+            return AjaxResult.error(HttpStatus.ERROR, UserCorpService.USER_MSG);
+        }
+        handle.setAuthCorpIds(corpIds);
+
         JobRedis realJob = new JobRedis();
         JobRoomJobRedis job = new JobRoomJobRedis();
         Downfile downObj = new Downfile();
@@ -74,6 +96,8 @@ public class WorkRoomController extends BaseController<WorkRoom> {
         /*先生成下载记录*/
         downObj.setMsg(Downfile.DEFAULT_MSG);
         downObj.setTitle(Downfile.WORM_ROOM);
+        downObj.setAuthId(authUser.getId());
+        downObj.setAuthName(authUser.getName());
         downfileService.insert(downObj);
 
         /*推送简单任务*/

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

@@ -23,4 +23,5 @@ public class GetWorkContactEmployeeHandle {
     private List employeeId;
     private List tagId;
     private Integer channelCodeId;
+    private List<Integer> authCorpIds;
 }

+ 1 - 2
src/main/java/com/mokamrp/privates/entity/GetWorkRoomHandle.java

@@ -19,6 +19,5 @@ public class GetWorkRoomHandle {
     private Integer corpGroupId;
     private List ownerId;
     private List tagId;
-
-
+    private List<Integer> authCorpIds;
 }

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

@@ -2,6 +2,7 @@ package com.mokamrp.privates.mapper;
 
 import com.mokamrp.privates.mapper.pojo.UserCorp;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
+import java.util.List;
 
 /**
  * <p>
@@ -12,5 +13,5 @@ import com.baomidou.mybatisplus.mapper.BaseMapper;
  * @since 2021-04-17
  */
 public interface UserCorpMapper extends BaseMapper<UserCorp> {
-
+    public List<Integer> getCorpIds(Integer userId);
 }

+ 9 - 0
src/main/java/com/mokamrp/privates/mapper/UserCorpMapper.xml

@@ -21,4 +21,13 @@
         , user_id, corp_id, seq, create_at, update_at
     </sql>
 
+    <select id="getCorpIds" resultType="List">
+        SELECT
+            a.id
+        FROM
+            private_user_corp AS b
+            LEFT JOIN mc_corp AS a on b.corp_id = a.id
+        where b.user_id = (#{userId});
+    </select>
+
 </mapper>

+ 6 - 0
src/main/java/com/mokamrp/privates/service/UserCorpService.java

@@ -17,6 +17,9 @@ import java.util.List;
  * @since 2021-04-17
  */
 public interface UserCorpService extends IService<UserCorp> {
+
+    public final  static String USER_MSG = "您当前用户未绑定企业";
+
     /**
      * 获取指定管理账户管辖的企业信息
      * @param userId
@@ -25,4 +28,7 @@ public interface UserCorpService extends IService<UserCorp> {
     public List<Corp> getAuthUserCorps (Integer userId);
 
     public List<Integer> getAuthUserCorpIds(Integer userId);
+
+    public List<Integer> getCorpIdsByUserId(Integer userId);
+
 }

+ 9 - 0
src/main/java/com/mokamrp/privates/service/impl/UserCorpServiceImpl.java

@@ -1,6 +1,7 @@
 package com.mokamrp.privates.service.impl;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.mokamrp.privates.mapper.DownfileMapper;
 import com.mokamrp.privates.mapper.pojo.Corp;
 import com.mokamrp.privates.mapper.pojo.UserCorp;
 import com.mokamrp.privates.mapper.UserCorpMapper;
@@ -27,6 +28,9 @@ public class UserCorpServiceImpl extends ServiceImpl<UserCorpMapper, UserCorp> i
     @Autowired
     public CorpService corpService;
 
+    @Autowired
+    private UserCorpMapper userCorpMapper;
+
     /**
      * 获取指定管理账户管辖的企业信息
      *
@@ -58,4 +62,9 @@ public class UserCorpServiceImpl extends ServiceImpl<UserCorpMapper, UserCorp> i
         return corpIds;
     }
 
+    @Override
+    public List<Integer> getCorpIdsByUserId(Integer userId){
+        return userCorpMapper.getCorpIds(userId);
+    }
+
 }

+ 4 - 2
src/main/java/com/mokamrp/privates/service/impl/WorkContactEmployeeServiceImpl.java

@@ -99,7 +99,6 @@ public class WorkContactEmployeeServiceImpl extends ServiceImpl<WorkContactEmplo
                     }
                 };
                 resList.add(tempObj);
-
             }
         }
 
@@ -121,7 +120,7 @@ public class WorkContactEmployeeServiceImpl extends ServiceImpl<WorkContactEmplo
         return;
     }
 
-    private EntityWrapper<WorkContactEmployee> getWrapper(GetWorkContactEmployeeHandle handle){
+    private EntityWrapper<WorkContactEmployee> getWrapper(GetWorkContactEmployeeHandle handle) {
 
         EntityWrapper<WorkContactEmployee> obj = new EntityWrapper<WorkContactEmployee>();
 
@@ -137,6 +136,7 @@ public class WorkContactEmployeeServiceImpl extends ServiceImpl<WorkContactEmplo
         List employeeId = handle.getEmployeeId();
         List tagId = handle.getTagId();
         Integer channel_code_id = handle.getChannelCodeId();
+        List<Integer> authCorpIds = handle.getAuthCorpIds();
 
         if (name != null && !name.equals("")) {
             obj.like("c.name", name);
@@ -177,6 +177,8 @@ public class WorkContactEmployeeServiceImpl extends ServiceImpl<WorkContactEmplo
             obj.in("a.employee_id", employeeId);
         }
 
+        obj.in("a.corp_id", authCorpIds);
+
         return obj;
 
     }

+ 14 - 8
src/main/java/com/mokamrp/privates/service/impl/WorkRoomServiceImpl.java

@@ -69,8 +69,7 @@ public class WorkRoomServiceImpl extends ServiceImpl<WorkRoomMapper, WorkRoom> i
         resMap.put("list", null);
         resMap.put("total", 0);
 
-        EntityWrapper<WorkRoom> obj = getWrapper(handle.getName(), handle.getCorpId(), handle.getStartCreateTime(),
-                handle.getEndCreateTime(), handle.getWxChatId(), handle.getCorpGroupId(), handle.getOwnerId(), handle.getTagId());
+        EntityWrapper<WorkRoom> obj = getWrapper(handle);
 
         Integer total = mapperObj.getVoListTotal(obj);
         resMap.put("total", total);
@@ -98,8 +97,7 @@ public class WorkRoomServiceImpl extends ServiceImpl<WorkRoomMapper, WorkRoom> i
         List<Object> headList = Arrays.asList(head);
         Date currentTime = new Date();
 
-        EntityWrapper<WorkRoom> obj = getWrapper(handle.getName(), handle.getCorpId(), handle.getStartCreateTime(),
-                handle.getEndCreateTime(), handle.getWxChatId(), handle.getCorpGroupId(), handle.getOwnerId(), handle.getTagId());
+        EntityWrapper<WorkRoom> obj = getWrapper(handle);
         Integer total = mapperObj.getVoListTotal(obj);
         Page<WorkRoom> pageObj = new Page<>(1, total);
         List<WorkRoomVo> list = getCommonList(pageObj, obj);
@@ -169,13 +167,21 @@ public class WorkRoomServiceImpl extends ServiceImpl<WorkRoomMapper, WorkRoom> i
 
     }
 
-    private EntityWrapper<WorkRoom> getWrapper(String name, Integer corp_id,
-                                               String start_create_time, String end_create_time,
-                                               String wx_chat_id, Integer corp_group_id,
-                                               List owner_id, List tag_id) {
+    private EntityWrapper<WorkRoom> getWrapper(GetWorkRoomHandle handle) {
+        String name = handle.getName();
+        Integer corp_id = handle.getCorpId();
+        String start_create_time = handle.getStartCreateTime();
+        String end_create_time = handle.getEndCreateTime();
+        String wx_chat_id = handle.getWxChatId();
+        Integer corp_group_id = handle.getCorpGroupId();
+        List owner_id = handle.getOwnerId();
+        List tag_id = handle.getTagId();
+        List<Integer> authCorpIds = handle.getAuthCorpIds();
 
         EntityWrapper<WorkRoom> obj = new EntityWrapper<WorkRoom>();
 
+        obj.in("a.corp_id", authCorpIds);
+
         if (name != null && !"".equals(name)) {
             obj.like("a.name", name);
         }