Просмотр исходного кода

Merge branch 'master' of http://git.mokasz.com/marketing/moka-private

* 'master' of http://git.mokasz.com/marketing/moka-private:
  修复企业库企业数量BUG
  Update 'Dockerfile'
  Update 'Dockerfile'
  update
  盘古相关service
  修复数据库字符集问题
  增加部分返回信息,增加盘古项目结构
  修复文件上传返回data为空问题
  不全代码文件
  update
  update
  Update 'Dockerfile'
  测试库mysql/redis地址修改
  update
  解决数据库严格模式问题,新增封禁记录,通用文件上传接口
  修复Date时区问题,增加企业客服封禁记录
  客服库支持超管权限
  增加超管权限控制
  修复客服所在群功能BUG

# Conflicts:
#	src/main/resources/application-local.properties
gengyang 5 лет назад
Родитель
Сommit
2e546ed787
52 измененных файлов с 1165 добавлено и 117 удалено
  1. 2 1
      Dockerfile
  2. 2 0
      src/main/java/com/mokamrp/privates/config/OSSConfiguration.java
  3. 9 0
      src/main/java/com/mokamrp/privates/constant/HttpMsg.java
  4. 11 2
      src/main/java/com/mokamrp/privates/controller/CorpController.java
  5. 31 0
      src/main/java/com/mokamrp/privates/controller/FileContorller.java
  6. 0 1
      src/main/java/com/mokamrp/privates/controller/GroupController.java
  7. 18 11
      src/main/java/com/mokamrp/privates/controller/UserCorpController.java
  8. 6 0
      src/main/java/com/mokamrp/privates/controller/WorkContactRoomController.java
  9. 44 16
      src/main/java/com/mokamrp/privates/controller/WorkEmployeeController.java
  10. 37 0
      src/main/java/com/mokamrp/privates/controller/WorkEmployeeForbbidenRecordController.java
  11. 37 0
      src/main/java/com/mokamrp/privates/controller/pangu/CustserviceController.java
  12. 1 0
      src/main/java/com/mokamrp/privates/entity/PostWorkEmployee.java
  13. 24 0
      src/main/java/com/mokamrp/privates/entity/SetForbbidenHandle.java
  14. 4 3
      src/main/java/com/mokamrp/privates/help/AjaxResult.java
  15. 12 4
      src/main/java/com/mokamrp/privates/interceptor/AuthIntercepotor.java
  16. 2 1
      src/main/java/com/mokamrp/privates/mapper/CorpMapper.java
  17. 2 2
      src/main/java/com/mokamrp/privates/mapper/CorpMapper.xml
  18. 1 1
      src/main/java/com/mokamrp/privates/mapper/GroupMapper.xml
  19. 2 1
      src/main/java/com/mokamrp/privates/mapper/WorkContactRoomMapper.java
  20. 6 2
      src/main/java/com/mokamrp/privates/mapper/WorkContactRoomMapper.xml
  21. 16 0
      src/main/java/com/mokamrp/privates/mapper/WorkEmployeeForbbidenRecordMapper.java
  22. 20 0
      src/main/java/com/mokamrp/privates/mapper/WorkEmployeeForbbidenRecordMapper.xml
  23. 9 9
      src/main/java/com/mokamrp/privates/mapper/WorkEmployeeMapper.xml
  24. 16 0
      src/main/java/com/mokamrp/privates/mapper/pangu/CustserviceMapper.java
  25. 20 0
      src/main/java/com/mokamrp/privates/mapper/pangu/CustserviceMapper.xml
  26. 110 0
      src/main/java/com/mokamrp/privates/mapper/pangu/pojo/Custservice.java
  27. 3 1
      src/main/java/com/mokamrp/privates/mapper/pojo/Corp.java
  28. 5 5
      src/main/java/com/mokamrp/privates/mapper/pojo/WorkEmployee.java
  29. 110 0
      src/main/java/com/mokamrp/privates/mapper/pojo/WorkEmployeeForbbidenRecord.java
  30. 2 0
      src/main/java/com/mokamrp/privates/mapper/pojo/WorkRoom.java
  31. 193 0
      src/main/java/com/mokamrp/privates/mapper/vo/WorkEmployeeRoom.java
  32. 3 11
      src/main/java/com/mokamrp/privates/mapper/vo/WorkEmployeeVo.java
  33. 2 1
      src/main/java/com/mokamrp/privates/service/CorpService.java
  34. 19 0
      src/main/java/com/mokamrp/privates/service/FileService.java
  35. 18 0
      src/main/java/com/mokamrp/privates/service/UserCorpService.java
  36. 16 0
      src/main/java/com/mokamrp/privates/service/WorkEmployeeForbbidenRecordService.java
  37. 3 0
      src/main/java/com/mokamrp/privates/service/WorkEmployeeService.java
  38. 2 2
      src/main/java/com/mokamrp/privates/service/impl/CorpServiceImpl.java
  39. 56 0
      src/main/java/com/mokamrp/privates/service/impl/FileServiceImpl.java
  40. 72 1
      src/main/java/com/mokamrp/privates/service/impl/UserCorpServiceImpl.java
  41. 4 3
      src/main/java/com/mokamrp/privates/service/impl/WorkContactRoomServiceImpl.java
  42. 20 0
      src/main/java/com/mokamrp/privates/service/impl/WorkEmployeeForbbidenRecordServiceImpl.java
  43. 54 27
      src/main/java/com/mokamrp/privates/service/impl/WorkEmployeeServiceImpl.java
  44. 16 0
      src/main/java/com/mokamrp/privates/service/pangu/CustserviceService.java
  45. 20 0
      src/main/java/com/mokamrp/privates/service/pangu/impl/CustserviceServiceImpl.java
  46. 6 3
      src/main/resources/application-local.properties
  47. 1 1
      src/main/resources/application-prod.properties
  48. 4 2
      src/main/resources/application-test.properties
  49. 1 0
      src/main/resources/application.properties
  50. 1 1
      src/main/resources/template/controller.java.vm
  51. 5 5
      src/test/java/com/mokamrp/AutoMP.java
  52. 87 0
      src/test/java/com/mokamrp/AutoMPPangu.java

+ 2 - 1
Dockerfile

@@ -3,7 +3,8 @@ MAINTAINER HERA Hera@mokaprivate.com
 
 ARG env
 
-ENV ENVIRMENT=${env:-"prod"}
+ENV ENVIRMENT=${env:+"test"}
+ENV ENVIRMENT=${ENVIRMENT:-"prod"}
 
 COPY ./target/*.jar  /hera/moka-private.jar
 RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

+ 2 - 0
src/main/java/com/mokamrp/privates/config/OSSConfiguration.java

@@ -14,6 +14,8 @@ public class OSSConfiguration {
 
     public static final String DOWN_DIR = "mochat/down/";
 
+    public static final String UPLOAD_DIR = "hera/upload/";
+
     private volatile static OSS ossClient;
 
     private volatile static OSSClientBuilder ossClientBuilder;

+ 9 - 0
src/main/java/com/mokamrp/privates/constant/HttpMsg.java

@@ -0,0 +1,9 @@
+package com.mokamrp.privates.constant;
+
+public class HttpMsg {
+    public static final String permissionDenied = "账号权限不足";
+
+    public static final String success = "操作成功";
+
+    public static final String error = "操作失败";
+}

+ 11 - 2
src/main/java/com/mokamrp/privates/controller/CorpController.java

@@ -5,8 +5,11 @@ import com.mokamrp.privates.constant.HttpStatus;
 import com.mokamrp.privates.entity.CorpIndexHandle;
 import com.mokamrp.privates.entity.PostCorpWxLoginHandle;
 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.service.CorpService;
+import com.mokamrp.privates.service.UserCorpService;
 import com.mokamrp.privates.utils.StringUtils;
 import com.mokamrp.privates.utils.http.HttpUtils;
 import com.xxl.sso.core.conf.Conf;
@@ -35,6 +38,9 @@ public class CorpController extends BaseController<Corp>{
     @Autowired
     public CorpService corpService;
 
+    @Autowired
+    public UserCorpService userCorpService;
+
     /**
      * 查询企业列表
      * @param corpIndexHandle
@@ -42,11 +48,14 @@ public class CorpController extends BaseController<Corp>{
      * @return
      */
     @PostMapping("/indexMake")
-    public Object indexMake(@Valid @RequestBody CorpIndexHandle corpIndexHandle, BindingResult bindingResult){
+    public Object indexMake(@Valid @RequestBody CorpIndexHandle corpIndexHandle, @AuthUser User authUser, BindingResult bindingResult){
         if (bindingResult.hasErrors()) {
             return AjaxResult.error(HttpStatus.ERROR, bindingResult.getFieldError().getDefaultMessage());
         }
-        Object res = corpService.selectCorpList(corpIndexHandle);
+        if (authUser.getIsSuperAdmin() != 1){
+            corpIndexHandle.setUserId(authUser.getId());
+        }
+        Map<String,Object> res = corpService.selectCorpList(corpIndexHandle);
         return AjaxResult.success(res);
     }
 

+ 31 - 0
src/main/java/com/mokamrp/privates/controller/FileContorller.java

@@ -0,0 +1,31 @@
+package com.mokamrp.privates.controller;
+
+import com.aliyun.oss.model.PutObjectRequest;
+import com.aliyun.oss.model.PutObjectResult;
+import com.mokamrp.privates.help.AjaxResult;
+import com.mokamrp.privates.service.FileService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+/**
+ * @author leon 通用上传
+ */
+@RestController
+@RequestMapping("/file")
+public class FileContorller {
+    @Autowired
+    public FileService fileService;
+
+    @PostMapping("/upload")
+    public Object upload(@RequestParam("file") MultipartFile zipFile){
+        String url = fileService.uploadToOss(zipFile);
+        return AjaxResult.success("success",url);
+    }
+
+
+}

+ 0 - 1
src/main/java/com/mokamrp/privates/controller/GroupController.java

@@ -1,6 +1,5 @@
 package com.mokamrp.privates.controller;
 
-
 import com.mokamrp.privates.constant.HttpStatus;
 import com.mokamrp.privates.entity.PostBasePageHandle;
 import com.mokamrp.privates.help.AjaxResult;

+ 18 - 11
src/main/java/com/mokamrp/privates/controller/UserCorpController.java

@@ -2,6 +2,7 @@ package com.mokamrp.privates.controller;
 
 
 import com.mokamrp.privates.constant.Constants;
+import com.mokamrp.privates.constant.HttpMsg;
 import com.mokamrp.privates.constant.HttpStatus;
 import com.mokamrp.privates.entity.SetUserCorpsHandle;
 import com.mokamrp.privates.entity.UnSetUserCorpHandle;
@@ -15,6 +16,7 @@ import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -39,8 +41,12 @@ public class UserCorpController {
      */
     @GetMapping("/getAuthUserCorps")
     public Object getAuthUserCorps(@AuthUser User authUser) {
-
-        List<Corp> res = userCorpService.getCorpsByUserId(authUser.getId());
+        List<Corp> res = new ArrayList<Corp>();
+        if(authUser.getIsSuperAdmin() == 1){
+            res = userCorpService.getAllCorps();
+        }else{
+            res = userCorpService.getCorpsByUserId(authUser.getId());
+        }
         return AjaxResult.success(Constants.SUCCESS, res);
     }
 
@@ -57,7 +63,7 @@ public class UserCorpController {
             List<Corp> res = userCorpService.getCorpsByUserId(userId);
             return AjaxResult.success(res);
         } else {
-            return AjaxResult.error("Permission denied");
+            return AjaxResult.error(Constants.SUCCESS);
         }
     }
 
@@ -73,13 +79,14 @@ public class UserCorpController {
         if (authUser.getIsSuperAdmin() == 1) {
             userCorpService.setUserCorpsByUserId(setUserCorpsHandle.getUserIds(), setUserCorpsHandle.getCorpIds());
         } else {
-            return AjaxResult.error("Permission denied");
+            return AjaxResult.error(HttpMsg.permissionDenied);
         }
-        return AjaxResult.success(Constants.SUCCESS);
+        return AjaxResult.success(HttpMsg.success);
     }
 
     /**
      * 解绑企业和账户
+     *
      * @param unSetUserCorpHandle
      * @param authUser
      * @param bindingResult
@@ -91,26 +98,26 @@ public class UserCorpController {
             return AjaxResult.error(HttpStatus.ERROR, bindingResult.getFieldError().getDefaultMessage());
         }
         if (authUser.getIsSuperAdmin() == 1) {
-            Boolean res = userCorpService.unSetUserCorp(unSetUserCorpHandle.getUserId(),unSetUserCorpHandle.getCorpId());
+            Boolean res = userCorpService.unSetUserCorp(unSetUserCorpHandle.getUserId(), unSetUserCorpHandle.getCorpId());
         } else {
-            return AjaxResult.error("Permission denied");
+            return AjaxResult.error(HttpMsg.permissionDenied);
         }
-        return AjaxResult.success(Constants.SUCCESS);
+        return AjaxResult.success(HttpMsg.success);
     }
 
     /**
      * 获取指定企业的小前台管理员列表
+     *
      * @param corpId
      * @return
      */
     @GetMapping("/getUserByCorpId")
-    public Object getUserCorpsByUserId(@RequestParam(name="corpId") Integer corpId){
-        if (corpId == null || corpId == 0){
+    public Object getUserCorpsByUserId(@RequestParam(name = "corpId") Integer corpId) {
+        if (corpId == null || corpId == 0) {
             return AjaxResult.error("corpId null");
         }
         List<User> res = userCorpService.selectUserByCorpId(corpId);
         return AjaxResult.success(res);
     }
-
 }
 

+ 6 - 0
src/main/java/com/mokamrp/privates/controller/WorkContactRoomController.java

@@ -37,6 +37,12 @@ public class WorkContactRoomController extends BaseController<WorkContactRoom> {
         return AjaxResult.success(resMap);
     }
 
+    /**
+     * 查询客服所在群
+     * @author leon
+     * @param pageHandle
+     * @return
+     */
     @PostMapping("/getRoomByEmployeeId")
     public Object getRoomByEmployeeId(@RequestBody PostBasePageHandle pageHandle){
         Map<String,Object> res = workContactRoomService.getRoomByEmployeeId(pageHandle);

+ 44 - 16
src/main/java/com/mokamrp/privates/controller/WorkEmployeeController.java

@@ -22,6 +22,7 @@ import org.springframework.web.bind.annotation.*;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.validation.Valid;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -51,6 +52,7 @@ public class WorkEmployeeController extends BaseController<WorkEmployee> {
 
     @Autowired
     private DownfileService downfileService;
+
     /*
      * @fast
      * 默认生成的控制器所继承的父类中有index/add/edit/del四个基础方法,均为post json请求
@@ -58,7 +60,7 @@ public class WorkEmployeeController extends BaseController<WorkEmployee> {
      */
     @PostMapping("/getWorkEmployeeList")
     public Object getWorkEmployeeList(@Valid @RequestBody WorkEmployeeHandle workEmployee, @AuthUser User authUser,
-                                      BindingResult bindingResult,HttpServletRequest request) {
+                                      BindingResult bindingResult, HttpServletRequest request) {
 
         XxlSsoUser user = (XxlSsoUser) request.getAttribute(Conf.SSO_USER);
 
@@ -71,42 +73,69 @@ public class WorkEmployeeController extends BaseController<WorkEmployee> {
         return AjaxResult.success(res);
     }
 
+    /**
+     * 客服列表查询接口
+     * @param authUser
+     * @param handle
+     * @param bindingResult
+     * @return
+     */
     @PostMapping("/list")
-    @ResponseBody
-    public Object getList(
-            @AuthUser User authUser,
-            @Valid @RequestBody PostWorkEmployee handle, BindingResult bindingResult) {
+    public Object getList(@AuthUser User authUser, @Valid @RequestBody PostWorkEmployee handle, BindingResult bindingResult) {
         if (bindingResult.hasErrors()) {
             return AjaxResult.error(HttpStatus.ERROR, bindingResult.getFieldError().getDefaultMessage());
         }
-
-        List<Integer> corpIds  = userCorpService.getAuthUserCorpIds(authUser.getId().toString());
+        List<Integer> corpIds = new ArrayList<Integer>();
+        if(authUser.getIsSuperAdmin() == 1){
+            corpIds = userCorpService.getAllCorpIds();
+        }else{
+            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 = workEmployeeService.getPageList(handle);//所有
 
         return AjaxResult.success(resMap);
-
     }
 
-
     /**
      * 设置客服标签
+     *
      * @param setTagHandle
      * @return
      */
     @PostMapping("/setTag")
-    public Object setTag(@RequestBody SetWorkEmployeeTagHandle setTagHandle){
-        if(setTagHandle.getEmployeeIds().size() <= 0){
+    public Object setTag(@RequestBody SetWorkEmployeeTagHandle setTagHandle) {
+        if (setTagHandle.getEmployeeIds().size() <= 0) {
             return AjaxResult.error("employeeIds null");
         }
-        workEmployeeService.setTag(setTagHandle.getTagId(),setTagHandle.getEmployeeIds());
+        workEmployeeService.setTag(setTagHandle.getTagId(), setTagHandle.getEmployeeIds());
         return AjaxResult.success(Constants.SUCCESS);
     }
 
+    /**
+     * 设置封禁时间和状态
+     * @param setForbbidenHandle
+     * @return
+     */
+    @PostMapping("/setForbidden")
+    public Object setForbidden(@RequestBody SetForbbidenHandle setForbbidenHandle, BindingResult bindingResult){
+        if (bindingResult.hasErrors()) {
+            return AjaxResult.error(HttpStatus.ERROR, bindingResult.getFieldError().getDefaultMessage());
+        }
+        boolean res = workEmployeeService.setForbbiden(setForbbidenHandle);
+        return AjaxResult.success();
+    }
+
+    /**
+     * 导出客服列表
+     * @param authUser
+     * @param handle
+     * @param bindingResult
+     * @return
+     */
     @RequestMapping("/export")
     @ResponseBody
     public Object export(
@@ -118,7 +147,7 @@ public class WorkEmployeeController extends BaseController<WorkEmployee> {
         }
 
         List<Integer> corpIds = userCorpService.getAuthUserCorpIds(authUser.getId().toString());
-        if(corpIds.size() <=0){
+        if (corpIds.size() <= 0) {
             return AjaxResult.error(HttpStatus.ERROR, UserCorpService.USER_MSG);
         }
 
@@ -140,10 +169,9 @@ public class WorkEmployeeController extends BaseController<WorkEmployee> {
         realJob.setJobName(JobWorkEmployeeJobRedis.TASK_NAME);
         realJob.setDownFile(downObj);
 
-        redisUtil.leftPush(JobRedis.QUEUE_KEY,realJob);
+        redisUtil.leftPush(JobRedis.QUEUE_KEY, realJob);
 
         return AjaxResult.success("正在异步生成请稍后");
     }
-
 }
 

+ 37 - 0
src/main/java/com/mokamrp/privates/controller/WorkEmployeeForbbidenRecordController.java

@@ -0,0 +1,37 @@
+package com.mokamrp.privates.controller;
+
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import com.mokamrp.privates.service.WorkEmployeeForbbidenRecordService;
+import com.mokamrp.privates.mapper.pojo.WorkEmployeeForbbidenRecord;
+
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * <p>
+ * 企微客服封禁记录 前端控制器
+ * </p>
+ *
+ * @author leon
+ * @since 2021-05-28
+ */
+@RestController
+@RequestMapping("/workEmployeeForbbidenRecord")
+public class WorkEmployeeForbbidenRecordController extends BaseController<WorkEmployeeForbbidenRecord> {
+
+    @Autowired
+    public WorkEmployeeForbbidenRecordService workEmployeeForbbidenRecordService;
+
+    /*
+     * @fast
+     * 默认生成的控制器所继承的父类中有index/add/edit/del四个基础方法,均为post json请求
+     * 如果需要定制化,需要将BaseController中对应的方法复制到当前控制器,然后进行修改
+     */
+
+
+}
+

+ 37 - 0
src/main/java/com/mokamrp/privates/controller/pangu/CustserviceController.java

@@ -0,0 +1,37 @@
+package com.mokamrp.privates.controller.pangu;
+
+import com.mokamrp.privates.controller.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import com.mokamrp.privates.service.pangu.CustserviceService;
+import com.mokamrp.privates.mapper.pangu.pojo.Custservice;
+
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * <p>
+ * 盘古客服库 前端控制器
+ * </p>
+ *
+ * @author leon
+ * @since 2021-06-02
+ */
+@RestController
+@RequestMapping("/custservice")
+public class CustserviceController extends BaseController<Custservice> {
+
+    @Autowired
+    public CustserviceService custserviceService;
+
+    /*
+     * @fast
+     * 默认生成的控制器所继承的父类中有index/add/edit/del四个基础方法,均为post json请求
+     * 如果需要定制化,需要将BaseController中对应的方法复制到当前控制器,然后进行修改
+     */
+
+
+}
+

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

@@ -18,4 +18,5 @@ public class PostWorkEmployee {
     private Integer groupId;
     private String mobile;
     private Integer privateTagId;
+    private Integer privateForbbidenStatus;
 }

+ 24 - 0
src/main/java/com/mokamrp/privates/entity/SetForbbidenHandle.java

@@ -0,0 +1,24 @@
+package com.mokamrp.privates.entity;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * 设置封禁状态请求实体
+ * @author leon
+ */
+@Data
+public class SetForbbidenHandle {
+    @NotNull(message = "id 不可为空")
+    private Integer id;
+
+    private Date forbbidenStartAt;
+
+    private Date forbbidenEndAt;
+
+    @NotNull(message = "forbbidenStatus 不可为空")
+    private Integer forbbidenStatus;
+}

+ 4 - 3
src/main/java/com/mokamrp/privates/help/AjaxResult.java

@@ -1,5 +1,6 @@
 package com.mokamrp.privates.help;
 
+import com.mokamrp.privates.constant.HttpMsg;
 import com.mokamrp.privates.constant.HttpStatus;
 import com.mokamrp.privates.utils.StringUtils;
 
@@ -66,7 +67,7 @@ public class AjaxResult<T> extends HashMap<String, Object> {
      * @return 成功消息
      */
     public static AjaxResult success() {
-        return AjaxResult.success("操作成功");
+        return AjaxResult.success(HttpMsg.success);
     }
 
     /**
@@ -75,7 +76,7 @@ public class AjaxResult<T> extends HashMap<String, Object> {
      * @return 成功消息
      */
     public static AjaxResult success(Object data) {
-        return AjaxResult.success("操作成功", data);
+        return AjaxResult.success(HttpMsg.success, data);
     }
 
     /**
@@ -105,7 +106,7 @@ public class AjaxResult<T> extends HashMap<String, Object> {
      * @return
      */
     public static AjaxResult error() {
-        return AjaxResult.error("操作失败");
+        return AjaxResult.error(HttpMsg.error);
     }
 
     /**

+ 12 - 4
src/main/java/com/mokamrp/privates/interceptor/AuthIntercepotor.java

@@ -46,12 +46,20 @@ public class AuthIntercepotor extends HandlerInterceptorAdapter {
         user.setId(Integer.valueOf(plugininfo.get("employeeNo")));
         user.setName(xxlSsoUser.getUsername());
         user.setUserId(xxlSsoUser.getUserid());
-        user.setIsSuperAdmin(1);
+        String roles = plugininfo.get("roles");
+        //.检查用户角色信息
+        user.setIsSuperAdmin(0);
+        if (roles != null){
+            String[] roleList = roles.split(",");
+            for (String role : roleList) {
+                //.角色权限包含私域运营超管
+                if (role.equals("10001007")){
+                    user.setIsSuperAdmin(1);
+                }
+            }
+        }
         request.setAttribute("auth-user", user);
-
         userService.Insert(xxlSsoUser.getPlugininfo(),xxlSsoUser.getUsername());
-
         return true;
     }
-
 }

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

@@ -2,6 +2,7 @@ package com.mokamrp.privates.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.mokamrp.privates.mapper.pojo.Corp;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Component;
@@ -18,5 +19,5 @@ import java.util.List;
  */
 @Component
 public interface CorpMapper extends BaseMapper<Corp> {
-    public List<Corp> selectCorpList(IPage<Corp> page, @Param("userId") Integer userId, @Param("corpName") String corpName);
+    public List<Corp> selectCorpList(Page<Corp> pageObj, @Param("userId") Integer userId, @Param("corpName") String corpName);
 }

+ 2 - 2
src/main/java/com/mokamrp/privates/mapper/CorpMapper.xml

@@ -37,8 +37,8 @@
             RIGHT JOIN private_user_corp AS B ON B.corp_id = A.id
         </if>
         <where>
-            <if test="userId != null">and B.user_id = #{userId} </if>
-            <if test="corpName != null">and A.name like CONCAT('%',#{corpName},'%')</if>
+            <if test="userId != null">AND B.user_id = #{userId} </if>
+            <if test="corpName != null">AND A.name like CONCAT('%',#{corpName},'%')</if>
         </where>
 
     </select>

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

@@ -102,7 +102,7 @@
             mc_work_employee AS a
         LEFT JOIN mc_corp AS b ON b.id = a.corp_id
         LEFT JOIN private_group_corp AS c ON b.id = c.corp_id
-        LEFT JOIN private_tag AS D ON a.private_tag_id = d.id
+        LEFT JOIN private_tag AS d ON a.private_tag_id = d.id
         where d.tag_name != '' AND ${ew.sqlSegment}
         GROUP BY
             c.group_id,

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

@@ -8,6 +8,7 @@ import com.mokamrp.privates.mapper.pojo.WorkContactRoom;
 import com.mokamrp.privates.mapper.pojo.WorkRoom;
 import com.mokamrp.privates.mapper.vo.WorkContactRoomByRoomIdVo;
 import com.mokamrp.privates.mapper.vo.WorkContactRoomGroupDataVo;
+import com.mokamrp.privates.mapper.vo.WorkEmployeeRoom;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -27,5 +28,5 @@ public interface WorkContactRoomMapper extends BaseMapper<WorkContactRoom> {
 
     Integer getListByRoomIdTotal(@Param("ew") QueryWrapper<WorkContactRoomByRoomIdVo> queryWrapper);
 
-    List<WorkRoom> getRoomByEmployeeId(Page<WorkRoom> page, @Param("employeeId") Integer employeeId);
+    List<WorkEmployeeRoom> getRoomByEmployeeId(Page<WorkEmployeeRoom> page, @Param("employeeId") Integer employeeId);
 }

+ 6 - 2
src/main/java/com/mokamrp/privates/mapper/WorkContactRoomMapper.xml

@@ -72,8 +72,12 @@
         WHERE
             ${ew.sqlSegment}
     </select>
-    <select id="getRoomByEmployeeId" resultType="com.mokamrp.privates.mapper.pojo.WorkRoom">
-        SELECT B.*,C.name as corp_name,D.name AS owner_name,E.member_cnt FROM mc_work_contact_room AS A
+    <select id="getRoomByEmployeeId" resultType="com.mokamrp.privates.mapper.vo.WorkEmployeeRoom">
+        SELECT B.*,
+               C.name as corp_name,
+               D.name AS owner_name,
+               E.member_cnt
+          FROM mc_work_contact_room AS A
           LEFT JOIN mc_work_room AS B ON A.room_id = B.id
           LEFT JOIN mc_corp AS C ON B.corp_id = C.id
           LEFT JOIN mc_work_employee AS D ON B.owner_id = D.id

+ 16 - 0
src/main/java/com/mokamrp/privates/mapper/WorkEmployeeForbbidenRecordMapper.java

@@ -0,0 +1,16 @@
+package com.mokamrp.privates.mapper;
+
+import com.mokamrp.privates.mapper.pojo.WorkEmployeeForbbidenRecord;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 企微客服封禁记录 Mapper 接口
+ * </p>
+ *
+ * @author leon
+ * @since 2021-05-28
+ */
+public interface WorkEmployeeForbbidenRecordMapper extends BaseMapper<WorkEmployeeForbbidenRecord> {
+
+}

+ 20 - 0
src/main/java/com/mokamrp/privates/mapper/WorkEmployeeForbbidenRecordMapper.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.mokamrp.privates.mapper.WorkEmployeeForbbidenRecordMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.mokamrp.privates.mapper.pojo.WorkEmployeeForbbidenRecord">
+        <id column="id" property="id" />
+        <result column="employee_id" property="employeeId" />
+        <result column="forbbiden_start_at" property="forbbidenStartAt" />
+        <result column="forbbiden_end_at" property="forbbidenEndAt" />
+        <result column="create_at" property="createAt" />
+        <result column="update_at" property="updateAt" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, employee_id, forbbiden_start_at, forbbiden_end_at, create_at, update_at
+    </sql>
+
+</mapper>

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

@@ -28,12 +28,12 @@
         <result column="log_user_id" property="logUserId"/>
         <result column="contact_auth" property="contactAuth"/>
         <result column="private_switch_status" property="privateSwitchStatus"/>
-        <result column="private_forbidden_status" property="privateForbiddenStatus"/>
+        <result column="private_forbbiden_status" property="privateForbbidenStatus"/>
         <result column="private_tag_id" property="privateTagId"/>
         <result column="private_phone_code" property="privatePhoneCode"/>
         <result column="private_user_id" property="privateUserId"/>
-        <result column="prohibit_start_at" property="prohibitStartAt"/>
-        <result column="prohibit_end_at" property="prohibitEndAt"/>
+        <result column="forbbiden_start_at" property="forbbidenStartAt"/>
+        <result column="forbbiden_end_at" property="forbbidenEndAt"/>
         <result column="created_at" property="createdAt"/>
         <result column="updated_at" property="updatedAt"/>
         <result column="deleted_at" property="deletedAt"/>
@@ -44,7 +44,7 @@
         id, wx_user_id, corp_id, name, mobile, position, gender, email, avatar, thumb_avatar,
         telephone, alias, extattr, status, qr_code, external_profile, external_position, address,
         open_user_id, wx_main_department_id, main_department_id, log_user_id, contact_auth,
-        private_switch_status, private_forbidden_status, private_tag_id, private_phone_code, private_user_id,prohibit_start_at,prohibit_end_at,created_at, updated_at, deleted_at
+        private_switch_status, private_forbbiden_status, private_tag_id, private_phone_code, private_user_id,forbbiden_start_at,forbbiden_end_at,created_at, updated_at, deleted_at
     </sql>
 
     <select id="getVoList" resultType="com.mokamrp.privates.mapper.vo.WorkEmployeeVo">
@@ -60,7 +60,7 @@
         A.private_switch_status,
         A.private_tag_id,
         A.private_phone_code,
-        A.private_forbidden_status,
+        A.private_forbbiden_status,
         A.private_user_id,
         A.cust_cnt,
         A.group_cnt,
@@ -69,8 +69,8 @@
         C.`name` AS companyName,
         D.group_id,
         E.tag_name,
-        A.prohibit_start_at,
-        A.prohibit_end_at
+        A.forbbiden_start_at,
+        A.forbbiden_end_at
         FROM
         mc_work_employee AS A
         LEFT JOIN private_group_corp AS D ON A.corp_id = D.corp_id
@@ -80,14 +80,14 @@
         <where>
             ${ew.sqlSegment}
         </where>
-        group by a.id
+        group by A.id
     </select>
 
 
     <select id="getVoListTotal" resultType="Integer">
 
         SELECT
-        count(distinct(a.id))
+        count(distinct(A.id))
         FROM
         mc_work_employee AS A
         LEFT JOIN private_group_corp AS D ON A.corp_id = D.corp_id

+ 16 - 0
src/main/java/com/mokamrp/privates/mapper/pangu/CustserviceMapper.java

@@ -0,0 +1,16 @@
+package com.mokamrp.privates.mapper.pangu;
+
+import com.mokamrp.privates.mapper.pangu.pojo.Custservice;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 盘古客服库 Mapper 接口
+ * </p>
+ *
+ * @author leon
+ * @since 2021-06-02
+ */
+public interface CustserviceMapper extends BaseMapper<Custservice> {
+
+}

+ 20 - 0
src/main/java/com/mokamrp/privates/mapper/pangu/CustserviceMapper.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.mokamrp.privates.mapper.pangu.CustserviceMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.mokamrp.privates.mapper.pangu.pojo.Custservice">
+        <id column="id" property="id" />
+        <result column="group_id" property="groupId" />
+        <result column="name" property="name" />
+        <result column="qrcode" property="qrcode" />
+        <result column="create_at" property="createAt" />
+        <result column="update_at" property="updateAt" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, group_id, name, qrcode, create_at, update_at
+    </sql>
+
+</mapper>

+ 110 - 0
src/main/java/com/mokamrp/privates/mapper/pangu/pojo/Custservice.java

@@ -0,0 +1,110 @@
+package com.mokamrp.privates.mapper.pangu.pojo;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 盘古客服库
+ * </p>
+ *
+ * @author leon
+ * @since 2021-06-02
+ */
+@TableName("pan_custservice")
+public class Custservice extends Model<Custservice> {
+
+    private static final long serialVersionUID = 1L;
+
+      @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 客服组
+     */
+    private Integer groupId;
+
+    /**
+     * 客服名称
+     */
+    private String name;
+
+    /**
+     * 客服个微二维码
+     */
+    private String qrcode;
+
+    private LocalDateTime createAt;
+
+    private LocalDateTime updateAt;
+
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getGroupId() {
+        return groupId;
+    }
+
+    public void setGroupId(Integer groupId) {
+        this.groupId = groupId;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getQrcode() {
+        return qrcode;
+    }
+
+    public void setQrcode(String qrcode) {
+        this.qrcode = qrcode;
+    }
+
+    public LocalDateTime getCreateAt() {
+        return createAt;
+    }
+
+    public void setCreateAt(LocalDateTime createAt) {
+        this.createAt = createAt;
+    }
+
+    public LocalDateTime getUpdateAt() {
+        return updateAt;
+    }
+
+    public void setUpdateAt(LocalDateTime updateAt) {
+        this.updateAt = updateAt;
+    }
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+    @Override
+    public String toString() {
+        return "Custservice{" +
+        "id=" + id +
+        ", groupId=" + groupId +
+        ", name=" + name +
+        ", qrcode=" + qrcode +
+        ", createAt=" + createAt +
+        ", updateAt=" + updateAt +
+        "}";
+    }
+}

+ 3 - 1
src/main/java/com/mokamrp/privates/mapper/pojo/Corp.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
 
 import java.io.Serializable;
 import java.util.Date;
@@ -16,8 +17,9 @@ import java.util.Date;
  * @author leon
  * @since 2021-04-19
  */
+@Data
 @TableName("mc_corp")
-public class Corp extends Model<Corp> {
+public class Corp  extends Model<Corp>{
 
     private static final long serialVersionUID = 1L;
 

+ 5 - 5
src/main/java/com/mokamrp/privates/mapper/pojo/WorkEmployee.java

@@ -112,7 +112,7 @@ public class WorkEmployee extends Model<WorkEmployee> {
 
     private Integer privateSwitchStatus;
 
-    private Integer privateForbiddenStatus; //.1正常 2封禁中 3永封 4解封待确认
+    private Integer privateForbbidenStatus; //.1正常 2封禁中 3永封 4解封待确认
 
     /**
      * 小前台标签ID
@@ -132,11 +132,11 @@ public class WorkEmployee extends Model<WorkEmployee> {
     /**
      * 封禁开始时间
      */
-    private Date prohibitStartAt;
+    private Date forbbidenStartAt;
     /**
      * 封禁结束时间
      */
-    private Date prohibitEndAt;
+    private Date forbbidenEndAt;
 
     private Date createdAt;
     private Date updatedAt;
@@ -382,8 +382,8 @@ public class WorkEmployee extends Model<WorkEmployee> {
                 ", mainDepartmentId=" + mainDepartmentId +
                 ", logUserId=" + logUserId +
                 ", contactAuth=" + contactAuth +
-                ", prohibitStartAt=" + prohibitStartAt +
-                ", prohibitEndAt=" + prohibitEndAt +
+                ", forbbidenStartAt=" + forbbidenStartAt +
+                ", forbbidenEndAt=" + forbbidenEndAt +
                 ", createdAt=" + createdAt +
                 ", updatedAt=" + updatedAt +
                 ", deletedAt=" + deletedAt +

+ 110 - 0
src/main/java/com/mokamrp/privates/mapper/pojo/WorkEmployeeForbbidenRecord.java

@@ -0,0 +1,110 @@
+package com.mokamrp.privates.mapper.pojo;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 企微客服封禁记录
+ * </p>
+ *
+ * @author leon
+ * @since 2021-05-28
+ */
+@TableName("private_work_employee_forbbiden_record")
+public class WorkEmployeeForbbidenRecord extends Model<WorkEmployeeForbbidenRecord> {
+
+    private static final long serialVersionUID = 1L;
+
+      @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 客服ID(mc.work_employee.id)
+     */
+    private Integer employeeId;
+
+    /**
+     * 封禁开始时间
+     */
+    private Date forbbidenStartAt;
+
+    /**
+     * 封禁结束时间
+     */
+    private Date forbbidenEndAt;
+
+    private Date createAt;
+
+    private Date updateAt;
+
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getEmployeeId() {
+        return employeeId;
+    }
+
+    public void setEmployeeId(Integer employeeId) {
+        this.employeeId = employeeId;
+    }
+
+    public Date getForbbidenStartAt() {
+        return forbbidenStartAt;
+    }
+
+    public void setForbbidenStartAt(Date forbbidenStartAt) {
+        this.forbbidenStartAt = forbbidenStartAt;
+    }
+
+    public Date getForbbidenEndAt() {
+        return forbbidenEndAt;
+    }
+
+    public void setForbbidenEndAt(Date forbbidenEndAt) {
+        this.forbbidenEndAt = forbbidenEndAt;
+    }
+
+    public Date getCreateAt() {
+        return createAt;
+    }
+
+    public void setCreateAt(Date createAt) {
+        this.createAt = createAt;
+    }
+
+    public Date getUpdateAt() {
+        return updateAt;
+    }
+
+    public void setUpdateAt(Date updateAt) {
+        this.updateAt = updateAt;
+    }
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+    @Override
+    public String toString() {
+        return "WorkEmployeeForbbidenRecord{" +
+        "id=" + id +
+        ", employeeId=" + employeeId +
+        ", forbbidenStartAt=" + forbbidenStartAt +
+        ", forbbidenEndAt=" + forbbidenEndAt +
+        ", createAt=" + createAt +
+        ", updateAt=" + updateAt +
+        "}";
+    }
+}

+ 2 - 0
src/main/java/com/mokamrp/privates/mapper/pojo/WorkRoom.java

@@ -1,6 +1,7 @@
 package com.mokamrp.privates.mapper.pojo;
 
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
@@ -63,6 +64,7 @@ public class WorkRoom extends Model<WorkRoom> {
     private Integer roomGroupId;
     private String corpName;
     private String ownerName;
+
     private Integer memberCnt = 0;
     private Date createdAt;
     private Date updatedAt;

+ 193 - 0
src/main/java/com/mokamrp/privates/mapper/vo/WorkEmployeeRoom.java

@@ -0,0 +1,193 @@
+package com.mokamrp.privates.mapper.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 客户群表
+ * </p>
+ *
+ * @author gy
+ * @since 2021-04-21
+ */
+@Data
+public class WorkEmployeeRoom {
+
+    private static final long serialVersionUID = 1L;
+
+    private Integer id;
+    /**
+     * 企业表ID(mc_corp.id)
+     */
+    private Integer corpId;
+    /**
+     * 客户群ID
+     */
+    private String wxChatId;
+    /**
+     * 客户群名称
+     */
+    private String name;
+    /**
+     * 群主ID(work_employee.id)
+     */
+    private Integer ownerId;
+    /**
+     * 群公告
+     */
+    private String notice;
+    /**
+     * 客户群状态(0 - 正常 1 - 跟进人离职 2 - 离职继承中 3 - 离职继承完成)
+     */
+    private Integer status;
+    /**
+     * 群创建时间
+     */
+    private Date createTime;
+    /**
+     * 群成员上限
+     */
+    private Integer roomMax;
+    /**
+     * 分组id(work_room_group.id)
+     */
+    private Integer roomGroupId;
+    private String corpName;
+    private String ownerName;
+
+    private Integer memberCnt = 0;
+    private Date createdAt;
+    private Date updatedAt;
+    private Date deletedAt;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getCorpId() {
+        return corpId;
+    }
+
+    public void setCorpId(Integer corpId) {
+        this.corpId = corpId;
+    }
+
+    public String getWxChatId() {
+        return wxChatId;
+    }
+
+    public void setWxChatId(String wxChatId) {
+        this.wxChatId = wxChatId;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Integer getOwnerId() {
+        return ownerId;
+    }
+
+    public void setOwnerId(Integer ownerId) {
+        this.ownerId = ownerId;
+    }
+
+    public String getNotice() {
+        return notice;
+    }
+
+    public void setNotice(String notice) {
+        this.notice = notice;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Integer getRoomMax() {
+        return roomMax;
+    }
+
+    public void setRoomMax(Integer roomMax) {
+        this.roomMax = roomMax;
+    }
+
+    public Integer getRoomGroupId() {
+        return roomGroupId;
+    }
+
+    public void setRoomGroupId(Integer roomGroupId) {
+        this.roomGroupId = roomGroupId;
+    }
+
+    public Date getCreatedAt() {
+        return createdAt;
+    }
+
+    public void setCreatedAt(Date createdAt) {
+        this.createdAt = createdAt;
+    }
+
+    public Date getUpdatedAt() {
+        return updatedAt;
+    }
+
+    public void setUpdatedAt(Date updatedAt) {
+        this.updatedAt = updatedAt;
+    }
+
+    public Date getDeletedAt() {
+        return deletedAt;
+    }
+
+    public void setDeletedAt(Date deletedAt) {
+        this.deletedAt = deletedAt;
+    }
+
+
+    @Override
+    public String toString() {
+        return "WorkRoom{" +
+                ", id=" + id +
+                ", corpId=" + corpId +
+                ", wxChatId=" + wxChatId +
+                ", name=" + name +
+                ", ownerId=" + ownerId +
+                ", notice=" + notice +
+                ", status=" + status +
+                ", createTime=" + createTime +
+                ", roomMax=" + roomMax +
+                ", roomGroupId=" + roomGroupId +
+                ", createdAt=" + createdAt +
+                ", updatedAt=" + updatedAt +
+                ", deletedAt=" + deletedAt +
+                "}";
+    }
+}

+ 3 - 11
src/main/java/com/mokamrp/privates/mapper/vo/WorkEmployeeVo.java

@@ -25,7 +25,7 @@ public class WorkEmployeeVo {
     private Integer privateSwitchStatus;
     private Integer privateTagId;
     private String privatePhoneCode;
-    private Integer privateForbiddenStatus; //.1正常 2封禁中 3永封 4解封待确认
+    private Integer privateForbbidenStatus; //.1正常 2封禁中 3永封 4解封待确认
     private Integer privateUserId;
     private Integer custCnt;
     private Integer groupCnt;
@@ -37,8 +37,8 @@ public class WorkEmployeeVo {
     private Integer groupId;
     private String tagName;
     private String thumbAvatar;
-    private Date prohibitStartAt;
-    private Date prohibitEndAt;
+    private Date forbbidenStartAt;
+    private Date forbbidenEndAt;
 
     public String getThumbAvatar() {
         return thumbAvatar;
@@ -188,14 +188,6 @@ public class WorkEmployeeVo {
         this.privatePhoneCode = privatePhoneCode;
     }
 
-    public Integer getPrivateForbiddenStatus() {
-        return privateForbiddenStatus;
-    }
-
-    public void setPrivateForbiddenStatus(Integer privateForbiddenStatus) {
-        this.privateForbiddenStatus = privateForbiddenStatus;
-    }
-
     public Integer getPrivateUserId() {
         return privateUserId;
     }

+ 2 - 1
src/main/java/com/mokamrp/privates/service/CorpService.java

@@ -5,6 +5,7 @@ import com.mokamrp.privates.entity.CorpIndexHandle;
 import com.mokamrp.privates.mapper.pojo.Corp;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -23,5 +24,5 @@ public interface CorpService extends IService<Corp> {
     public List<Corp> getCorpInfoByCorpIds(List<Integer> corps);
 
 
-    public Object selectCorpList(CorpIndexHandle corpIndexHandle);
+    public Map<String,Object> selectCorpList(CorpIndexHandle corpIndexHandle);
 }

+ 19 - 0
src/main/java/com/mokamrp/privates/service/FileService.java

@@ -0,0 +1,19 @@
+package com.mokamrp.privates.service;
+
+import com.aliyun.oss.model.PutObjectResult;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mokamrp.privates.mapper.pojo.ChatTool;
+import org.springframework.web.multipart.MultipartFile;
+
+/**
+ * <p>
+ * 通用上传文件 服务类
+ * </p>
+ *
+ * @author leon
+ * @since 2021-06-01
+ */
+public interface FileService {
+    //.上传文件到oss
+    public String uploadToOss(MultipartFile zipFile);
+}

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

@@ -6,6 +6,7 @@ import com.mokamrp.privates.mapper.pojo.User;
 import com.mokamrp.privates.mapper.pojo.UserCorp;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -18,14 +19,31 @@ import java.util.List;
 public interface UserCorpService extends IService<UserCorp> {
 
     public final static String USER_MSG = "您当前用户未绑定企业";
+
     //. 获取指定管理账户管辖的企业信息
     public List<Corp> getCorpsByUserId(Integer userId);
+
+    //. 获取指定管理账户管辖的企业信息 支持分页
+    public Map<String,Object> getCorpsInPageByUserId(Integer userId, Integer page, Integer pageSize);
+
+    //. 获取所有企业信息
+    public List<Corp> getAllCorps();
+
+    //. 获取所有企业信息 支持分页
+    public Map<String, Object> getAllCorpsInPage(Integer page, Integer pageSize);
+
     //. 获取用户管理的企业ID
     public List<Integer> getAuthUserCorpIds(String userId);
+
+    //. 获取所有企业ID
+    public List<Integer> getAllCorpIds();
+
     //. 绑定账户和企业
     public boolean setUserCorpsByUserId(List<Integer> userIds, List<Integer> corpIds);
+
     //. 解绑账户和企业
     public boolean unSetUserCorp(Integer userId, Integer corpId);
+
     //. 通过企业ID获取企业的小前台管理员列表
     public List<User> selectUserByCorpId(Integer corpId);
 

+ 16 - 0
src/main/java/com/mokamrp/privates/service/WorkEmployeeForbbidenRecordService.java

@@ -0,0 +1,16 @@
+package com.mokamrp.privates.service;
+
+import com.mokamrp.privates.mapper.pojo.WorkEmployeeForbbidenRecord;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 企微客服封禁记录 服务类
+ * </p>
+ *
+ * @author leon
+ * @since 2021-05-28
+ */
+public interface WorkEmployeeForbbidenRecordService extends IService<WorkEmployeeForbbidenRecord> {
+
+}

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

@@ -2,6 +2,7 @@ package com.mokamrp.privates.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.mokamrp.privates.entity.PostWorkEmployee;
+import com.mokamrp.privates.entity.SetForbbidenHandle;
 import com.mokamrp.privates.entity.WorkEmployeeHandle;
 import com.mokamrp.privates.mapper.pojo.Downfile;
 import com.mokamrp.privates.mapper.pojo.WorkEmployee;
@@ -24,6 +25,8 @@ public interface WorkEmployeeService extends IService<WorkEmployee> {
 
     public Boolean updateForbiddenStatus();
 
+    public boolean setForbbiden(SetForbbidenHandle setForbbidenHandle);
+
     public void export(Downfile downFile, PostWorkEmployee handle);
 
     public boolean setTag(Integer tagId,List<Integer> employeeIds);

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

@@ -39,10 +39,10 @@ public class CorpServiceImpl extends ServiceImpl<CorpMapper, Corp> implements Co
         return res;
     }
 
-    public Object selectCorpList(CorpIndexHandle corpIndexHandle){
+    public Map<String,Object> selectCorpList(CorpIndexHandle corpIndexHandle){
         Integer page = corpIndexHandle.getPage();
         Integer pagesize = corpIndexHandle.getPageSize();
-        Page<Corp> pageObj = new Page<>(page, pagesize);
+        Page<Corp> pageObj = new Page<Corp>(page, pagesize);
         List<Corp> res = corpMapper.selectCorpList(pageObj,corpIndexHandle.getUserId(),corpIndexHandle.getCorpName());
         Map<String, Object> resMap = new HashMap<String, Object>();
         resMap.put("list", res);

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

@@ -0,0 +1,56 @@
+package com.mokamrp.privates.service.impl;
+
+
+import com.aliyun.oss.OSS;
+import com.aliyun.oss.model.PutObjectRequest;
+import com.aliyun.oss.model.PutObjectResult;
+import com.mokamrp.privates.config.OSSConfiguration;
+import com.mokamrp.privates.service.FileService;
+import com.mokamrp.privates.utils.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+import java.io.IOException;
+
+import java.io.ByteArrayInputStream;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 企业 服务实现类
+ * </p>
+ *
+ * @author leon
+ * @since 2021-04-19
+ */
+@Service
+public class FileServiceImpl implements FileService {
+    @Autowired
+    public OSSConfiguration ossConfiguration;
+    @Autowired
+    public OSS oss;
+
+    public String uploadToOss(MultipartFile zipFile) {
+        try{
+            InputStream inputStream = zipFile.getInputStream();
+            String originalFileName = zipFile.getOriginalFilename();
+            String exland = originalFileName.substring(originalFileName.lastIndexOf("."));
+            SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmm");
+            Date currentTime = new Date();
+            String dateStr = formatter.format(currentTime);
+            String randStr = StringUtils.getRandomString(10);
+            String filePath = ossConfiguration.UPLOAD_DIR + dateStr+"/"+randStr+exland;
+            PutObjectResult res = oss.putObject(ossConfiguration.getBucketName(),filePath,inputStream);
+            String url = ossConfiguration.getHost() + filePath;
+            return url;
+        }catch (Exception e){
+            return "";
+        }
+    }
+}

+ 72 - 1
src/main/java/com/mokamrp/privates/service/impl/UserCorpServiceImpl.java

@@ -1,6 +1,7 @@
 package com.mokamrp.privates.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mokamrp.privates.mapper.UserCorpMapper;
 import com.mokamrp.privates.mapper.pojo.Corp;
@@ -12,7 +13,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -33,7 +36,6 @@ public class UserCorpServiceImpl extends ServiceImpl<UserCorpMapper, UserCorp> i
 
     /**
      * 获取指定管理账户管辖的企业信息
-     *
      * @param userId
      * @return
      */
@@ -48,6 +50,60 @@ public class UserCorpServiceImpl extends ServiceImpl<UserCorpMapper, UserCorp> i
     }
 
     /**
+     * 获取指定管理账户管辖的企业信息 支持分页
+     * @param userId
+     * @param page
+     * @param pageSize
+     * @return
+     */
+    public Map<String,Object> getCorpsInPageByUserId(Integer userId, Integer page, Integer pageSize){
+        List<Integer> corpIds = new ArrayList<Integer>();
+        Page<UserCorp> pageObj = this.page(new Page<UserCorp>(page,pageSize),new QueryWrapper<UserCorp>().eq("user_id", userId));
+        List<UserCorp> corps = pageObj.getRecords();
+        for (UserCorp userCorp : corps) {
+            corpIds.add(userCorp.getCorpId());
+        }
+        Map<String,Object> res = new HashMap<>();
+        res.put("list",corpService.getCorpInfoByCorpIds(corpIds));
+        res.put("total",pageObj.getTotal());
+        return res;
+    }
+
+    /**
+     * 获取所有企业信息
+     * @return
+     */
+    public List<Corp> getAllCorps() {
+        List<Integer> corpIds = new ArrayList<Integer>();
+        List<UserCorp> corps = this.list();
+        for (UserCorp userCorp : corps) {
+            corpIds.add(userCorp.getCorpId());
+        }
+        List<Corp> res = corpService.getCorpInfoByCorpIds(corpIds);
+        return res;
+    }
+
+    /**
+     * 获取所有企业信息 支持分页
+     * @param page
+     * @param pageSize
+     * @return
+     */
+    public Map<String, Object> getAllCorpsInPage(Integer page, Integer pageSize){
+        List<Integer> corpIds = new ArrayList<Integer>();
+        Page<UserCorp> pageObj = this.page(new Page<>(page,pageSize));
+        List<UserCorp> corps = pageObj.getRecords();
+        for (UserCorp userCorp : corps) {
+            corpIds.add(userCorp.getCorpId());
+        }
+        Map<String,Object> res = new HashMap<>();
+        res.put("list",corpService.getCorpInfoByCorpIds(corpIds));
+        res.put("total",pageObj.getTotal());
+        return res;
+    }
+
+
+    /**
      * 获取指定管理账户管辖的企业ID
      *
      * @param userId
@@ -62,6 +118,21 @@ public class UserCorpServiceImpl extends ServiceImpl<UserCorpMapper, UserCorp> i
         return corpIds;
     }
 
+    /**
+     * 获取所有企业ID
+     *
+     * @return
+     */
+    public List<Integer> getAllCorpIds() {
+        List<Integer> corpIds = new ArrayList<Integer>();
+        List<UserCorp> corps = this.list();
+        for (UserCorp userCorp : corps) {
+            corpIds.add(userCorp.getCorpId());
+        }
+        return corpIds;
+    }
+
+
     public boolean unSetUserCorp(Integer userId, Integer corpId) {
         Boolean res = this.remove(new QueryWrapper<UserCorp>().eq("corp_id", corpId).eq("user_id", userId));
         return res;

+ 4 - 3
src/main/java/com/mokamrp/privates/service/impl/WorkContactRoomServiceImpl.java

@@ -12,6 +12,7 @@ import com.mokamrp.privates.mapper.pojo.Corp;
 import com.mokamrp.privates.mapper.pojo.WorkContactRoom;
 import com.mokamrp.privates.mapper.pojo.WorkRoom;
 import com.mokamrp.privates.mapper.vo.WorkContactRoomByRoomIdVo;
+import com.mokamrp.privates.mapper.vo.WorkEmployeeRoom;
 import com.mokamrp.privates.service.WorkContactRoomService;
 import com.mokamrp.privates.utils.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -84,12 +85,12 @@ public class WorkContactRoomServiceImpl extends ServiceImpl<WorkContactRoomMappe
 
         return resMap;
     }
-
+    //.@leon 获取客户所在群信息
     public Map<String,Object> getRoomByEmployeeId(PostBasePageHandle pageHandle){
         Integer page = pageHandle.getPage();
         Integer pagesize = pageHandle.getPagesize();
-        Page<WorkRoom> pageObj = new Page<WorkRoom>(page, pagesize);
-        List<WorkRoom> list = mapperObj.getRoomByEmployeeId(pageObj,pageHandle.getId());
+        Page<WorkEmployeeRoom> pageObj = new Page<WorkEmployeeRoom>(page, pagesize);
+        List<WorkEmployeeRoom> list = mapperObj.getRoomByEmployeeId(pageObj,pageHandle.getId());
         Map<String,Object> res = new HashMap<>();
         res.put("list",list);
         res.put("total",pageObj.getTotal());

+ 20 - 0
src/main/java/com/mokamrp/privates/service/impl/WorkEmployeeForbbidenRecordServiceImpl.java

@@ -0,0 +1,20 @@
+package com.mokamrp.privates.service.impl;
+
+import com.mokamrp.privates.mapper.pojo.WorkEmployeeForbbidenRecord;
+import com.mokamrp.privates.mapper.WorkEmployeeForbbidenRecordMapper;
+import com.mokamrp.privates.service.WorkEmployeeForbbidenRecordService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 企微客服封禁记录 服务实现类
+ * </p>
+ *
+ * @author leon
+ * @since 2021-05-28
+ */
+@Service
+public class WorkEmployeeForbbidenRecordServiceImpl extends ServiceImpl<WorkEmployeeForbbidenRecordMapper, WorkEmployeeForbbidenRecord> implements WorkEmployeeForbbidenRecordService {
+
+}

+ 54 - 27
src/main/java/com/mokamrp/privates/service/impl/WorkEmployeeServiceImpl.java

@@ -8,11 +8,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mokamrp.privates.config.OSSConfiguration;
 import com.mokamrp.privates.entity.PostWorkEmployee;
+import com.mokamrp.privates.entity.SetForbbidenHandle;
 import com.mokamrp.privates.entity.WorkEmployeeHandle;
 import com.mokamrp.privates.mapper.*;
 import com.mokamrp.privates.mapper.pojo.*;
 import com.mokamrp.privates.mapper.vo.WorkEmployeeVo;
 import com.mokamrp.privates.service.UserCorpService;
+import com.mokamrp.privates.service.WorkEmployeeForbbidenRecordService;
 import com.mokamrp.privates.service.WorkEmployeeService;
 import com.mokamrp.privates.utils.OssFile;
 import com.mokamrp.privates.utils.StringUtils;
@@ -21,6 +23,9 @@ import org.springframework.stereotype.Service;
 
 import java.io.ByteArrayInputStream;
 import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.ZoneOffset;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -58,6 +63,9 @@ public class WorkEmployeeServiceImpl extends ServiceImpl<WorkEmployeeMapper, Wor
     private OSSConfiguration ossConfiguration;
 
     @Autowired
+    private WorkEmployeeForbbidenRecordService workEmployeeForbbidenRecordService;
+
+    @Autowired
     private OSS ossClient;
 
     public Object selectWorkEmployeeList(String authUserId, WorkEmployeeHandle workEmployee) {
@@ -82,21 +90,21 @@ public class WorkEmployeeServiceImpl extends ServiceImpl<WorkEmployeeMapper, Wor
         List<WorkEmployee> workEmployeeList = this.list();
         long nowTime = new Date().getTime();
         for (WorkEmployee workEmployee : workEmployeeList) {
-            if (workEmployee.getPrivateForbiddenStatus() != 2) {
+            if (workEmployee.getPrivateForbbidenStatus() != 2) {
                 continue;
             }
-            if (workEmployee.getProhibitStartAt() == null || workEmployee.getProhibitEndAt() == null) {
+            if (workEmployee.getForbbidenStartAt() == null || workEmployee.getForbbidenEndAt() == null) {
                 continue;
             }
-            long prohibitStartTime = workEmployee.getProhibitStartAt().getTime();
-            long prohibitEndTime = workEmployee.getProhibitEndAt().getTime();
-            if (nowTime >= prohibitStartTime && nowTime <= prohibitEndTime) {
+            long forbbidenStartTime = workEmployee.getForbbidenStartAt().getTime();
+            long forbbidenEndTime = workEmployee.getForbbidenEndAt().getTime();
+            if (nowTime >= forbbidenStartTime && nowTime <= forbbidenEndTime) {
                 //.封禁中
             } else {
                 //.正常状态
-                if (workEmployee.getPrivateForbiddenStatus() == 2) {
+                if (workEmployee.getPrivateForbbidenStatus() == 2) {
                     WorkEmployee workEmployeeSave = new WorkEmployee();
-                    workEmployeeSave.setPrivateForbiddenStatus(4);
+                    workEmployeeSave.setPrivateForbbidenStatus(4);
                     this.update(workEmployeeSave, new UpdateWrapper<WorkEmployee>().in("id", workEmployee.getId()));
                 }
             }
@@ -115,8 +123,6 @@ public class WorkEmployeeServiceImpl extends ServiceImpl<WorkEmployeeMapper, Wor
 
         Integer pagesize = handle.getPagesize();
         Integer page = handle.getPage();
-        System.out.println(pagesize);
-        System.out.println(page);
         Page<WorkEmployeeVo> pageObj = new Page<WorkEmployeeVo>(page, pagesize);
         Map<String, Object> resMap = new HashMap<String, Object>();
         resMap.put("list", null);
@@ -203,43 +209,32 @@ public class WorkEmployeeServiceImpl extends ServiceImpl<WorkEmployeeMapper, Wor
         Integer groupId = handle.getGroupId();
         String mobile = handle.getMobile();
         Integer privateTagId = handle.getPrivateTagId();
-
+        Integer privateFrobbidenStatus = handle.getPrivateForbbidenStatus();
         QueryWrapper<WorkEmployeeVo> obj = new QueryWrapper<WorkEmployeeVo>();
-
         obj.in("A.corp_id", authCorpIds);
-
         if (name != null && !"".equals(name)) {
             obj.like("A.name", name);
         }
-
         if (gender != null) {
             obj.eq("A.gender", gender);
         }
-
-        /*
-        if (privateTagId != null) {
-            obj.eq("A.private_tag_id", privateTagId);
-        }
-         */
-
         if (groupId != null) {
             obj.eq("D.group_id", groupId);
         }
-
         if (mobile != null && !mobile.isEmpty()) {
             obj.eq("A.mobile", mobile);
         }
-
         if (corp_id != null) {
-            obj.eq("a.corp_id", corp_id);
+            obj.eq("A.corp_id", corp_id);
         }
-
         if (privateTagId != null) {
-            obj.eq("a.private_tag_id", privateTagId);
+            obj.eq("A.private_tag_id", privateTagId);
         }
-
         if (authCorpIds != null || authCorpIds.size() >= 1) {
-            obj.in("a.corp_id", authCorpIds);
+            obj.in("A.corp_id", authCorpIds);
+        }
+        if (privateFrobbidenStatus != null){
+            obj.eq("A.private_forbbiden_status",privateFrobbidenStatus);
         }
 
         return obj;
@@ -318,4 +313,36 @@ public class WorkEmployeeServiceImpl extends ServiceImpl<WorkEmployeeMapper, Wor
         return true;
     }
 
+    /**
+     * 设置封禁状态/时间
+     * @param setForbbidenHandle
+     * @return
+     */
+    public boolean setForbbiden(SetForbbidenHandle setForbbidenHandle){
+        Date nowDate = new Date();
+        Date forbbidenStartAt = setForbbidenHandle.getForbbidenStartAt();
+        Date forbbidenEndAt = setForbbidenHandle.getForbbidenEndAt();
+        Integer id = setForbbidenHandle.getId();
+        Integer forbbidenStatus = setForbbidenHandle.getForbbidenStatus();
+        //.更新封禁信息
+        WorkEmployee workEmployee = new WorkEmployee();
+        workEmployee.setPrivateForbbidenStatus(setForbbidenHandle.getForbbidenStatus());
+        if (forbbidenStatus == 2){
+            workEmployee.setForbbidenStartAt(forbbidenStartAt);
+            workEmployee.setForbbidenEndAt(forbbidenEndAt);
+        }
+        this.update(workEmployee,new UpdateWrapper<WorkEmployee>().eq("id",id));
+        //.记录封禁历史
+        if (forbbidenStatus == 2){
+            WorkEmployeeForbbidenRecord workEmployeeForbbidenRecord = new WorkEmployeeForbbidenRecord();
+            workEmployeeForbbidenRecord.setEmployeeId(id);
+            workEmployeeForbbidenRecord.setForbbidenStartAt(forbbidenStartAt);
+            workEmployeeForbbidenRecord.setForbbidenEndAt(forbbidenEndAt);
+            workEmployeeForbbidenRecord.setCreateAt(nowDate);
+            workEmployeeForbbidenRecord.setUpdateAt(nowDate);
+            workEmployeeForbbidenRecordService.save(workEmployeeForbbidenRecord);
+        }
+        return true;
+    }
+
 }

+ 16 - 0
src/main/java/com/mokamrp/privates/service/pangu/CustserviceService.java

@@ -0,0 +1,16 @@
+package com.mokamrp.privates.service.pangu;
+
+import com.mokamrp.privates.mapper.pangu.pojo.Custservice;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 盘古客服库 服务类
+ * </p>
+ *
+ * @author leon
+ * @since 2021-06-02
+ */
+public interface CustserviceService extends IService<Custservice> {
+
+}

+ 20 - 0
src/main/java/com/mokamrp/privates/service/pangu/impl/CustserviceServiceImpl.java

@@ -0,0 +1,20 @@
+package com.mokamrp.privates.service.pangu.impl;
+
+import com.mokamrp.privates.mapper.pangu.pojo.Custservice;
+import com.mokamrp.privates.mapper.pangu.CustserviceMapper;
+import com.mokamrp.privates.service.pangu.CustserviceService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 盘古客服库 服务实现类
+ * </p>
+ *
+ * @author leon
+ * @since 2021-06-02
+ */
+@Service
+public class CustserviceServiceImpl extends ServiceImpl<CustserviceMapper, Custservice> implements CustserviceService {
+
+}

+ 6 - 3
src/main/resources/application-local.properties

@@ -4,13 +4,14 @@ api.wechatcallback=/weWork/callback
 
 
 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
-spring.datasource.url=jdbc:mysql://172.18.71.27:3306/mochat?serverTimezone=GMT%2b0
+spring.datasource.url=jdbc:mysql://172.18.71.27:3306/mochat?serverTimezone=GMT%2b8&useUnicode=true&characterEncoding=UTF-8
 spring.datasource.username=typer
 spring.datasource.password=jch9sh_shl
 spring.datasource.max-idle=10
 spring.datasource.max-wait=10000
 spring.datasource.min-idle=5
 spring.datasource.initial-size=5
+spring.datasource.strict = false
 
 mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
 mybatis-plus.configuration.map-underscore-to-camel-case=true
@@ -34,12 +35,14 @@ aliyun.bucketName=mini-short-video-test
 spring.servlet.multipart.max-request-size=10MB
 spring.servlet.multipart.max-file-size=10MB
 
-xxl.sso.server=http://test.sso.mokamrp.com/sso
+xxl.sso.server=https://sso.mokamrp.com/sso 
 xxl.sso.logout.path=/logout
 xxl-sso.excluded.paths=/healthy
+#xxl.sso.redis.address=redis://xxl-sso:Jch9shshl@r-uf633f3f27aa2174pd.redis.rds.aliyuncs.com:6379/0
 xxl.sso.redis.address=redis://xxl-sso:MokaSapce666$%25_RediS@r-uf6727zrr24ioihy72pd.redis.rds.aliyuncs.com:23563/0
 
-menu.host=http://test.space-server.mokamrp.com/space/menu/getMenuInterface?sysCode=1006&userId=
+menu.host=http://space-server.mokamrp.com/space/menu/getMenuInterface?sysCode=1006&userId=
+
 
 datahub.endpoint=https://dh-cn-shanghai.aliyuncs.com
 datahub.accessid=LTAI5tEWU1j9H2poG4zWgfEP

+ 1 - 1
src/main/resources/application-prod.properties

@@ -3,7 +3,7 @@ api.host=http://127.0.0.1
 api.wechatcallback=/weWork/callback
 
 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
-spring.datasource.url=jdbc:mysql://rm-uf6s9smcl373jjenc35930.mysql.rds.aliyuncs.com:3306/mochat?serverTimezone=GMT%2b0
+spring.datasource.url=jdbc:mysql://rm-uf6s9smcl373jjenc35930.mysql.rds.aliyuncs.com:3306/mochat?serverTimezone=GMT%2b8&useUnicode=true&characterEncoding=UTF-8
 spring.datasource.username=mochat
 spring.datasource.password=MoChat666$%MOchaT
 spring.datasource.max-idle=10

+ 4 - 2
src/main/resources/application-test.properties

@@ -3,7 +3,7 @@ api.host=http://127.0.0.1
 api.wechatcallback=/weWork/callback
 
 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
-spring.datasource.url=jdbc:mysql://rm-uf618jc32u2o80g55oo.mysql.rds.aliyuncs.com:3306/mochat
+spring.datasource.url=jdbc:mysql://172.18.71.27:3306/mochat?serverTimezone=GMT%2b8&useUnicode=true&characterEncoding=UTF-8
 spring.datasource.username=typer
 spring.datasource.password=jch9sh_shl
 spring.datasource.max-idle=10
@@ -14,7 +14,7 @@ spring.datasource.initial-size=5
 mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
 mybatis-plus.configuration.map-underscore-to-camel-case=true
 
-spring.redis.host=r-uf633f3f27aa2174pd.redis.rds.aliyuncs.com
+spring.redis.host=172.18.71.26
 spring.redis.port=6379
 spring.redis.password=Jch9shshl
 spring.redis.database=7
@@ -32,11 +32,13 @@ aliyun.accessKeySecret=irLfHOni7ffLU3yAf3LsKEXwQLfrNc
 aliyun.bucketName=mini-short-video-test
 spring.servlet.multipart.max-request-size=10MB
 spring.servlet.multipart.max-file-size=10MB
+
 xxl.sso.server=https://sso.mokamrp.com/sso
 xxl.sso.logout.path=/logout
 xxl-sso.excluded.paths=/healthy
 #xxl.sso.redis.address=redis://xxl-sso:Jch9shshl@r-uf633f3f27aa2174pd.redis.rds.aliyuncs.com:6379/0
 xxl.sso.redis.address=redis://xxl-sso:MokaSapce666$%25_RediS@r-uf6727zrr24ioihy72pd.redis.rds.aliyuncs.com:23563/0
+
 menu.host=http://space-server-in-svc/space/menu/getMenuInterface?sysCode=1006&userId=
 
 

+ 1 - 0
src/main/resources/application.properties

@@ -1,5 +1,6 @@
 spring.application.name=moka-private
 server.port=8085
+spring.jackson.time-zone= GMT+8
 
 server.servlet.context-path=/private
 spring.profiles.active=${profileActive}

+ 1 - 1
src/main/resources/template/controller.java.vm

@@ -1,6 +1,6 @@
 package ${package.Controller};
 
-
+import com.mokamrp.privates.controller.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 import ${package.Service}.${table.serviceName};

+ 5 - 5
src/test/java/com/mokamrp/AutoMP.java

@@ -15,9 +15,9 @@ public class AutoMP {
 	/**
 	 * 代码生成    示例代码
 	 */
-
 	@Test
-	public void  testGenerator() {
+	public void testGenerator() {
+
 		//1. 全局配置
 		String outPutDir = "D://project/moka-private/src/main/java";
 		GlobalConfig config = new GlobalConfig();
@@ -35,7 +35,7 @@ public class AutoMP {
 		DataSourceConfig  dsConfig  = new DataSourceConfig();
 		dsConfig.setDbType(DbType.MYSQL)  // 设置数据库类型
 				.setDriverName("com.mysql.cj.jdbc.Driver")
-				.setUrl("jdbc:mysql://rm-uf618jc32u2o80g558o.mysql.rds.aliyuncs.com:3306/mochat")
+				.setUrl("jdbc:mysql://rm-uf618jc32u2o80g55oo.mysql.rds.aliyuncs.com:3306/mochat")
 				.setUsername("typer")
 				.setPassword("jch9sh_shl");
 		 
@@ -46,8 +46,8 @@ public class AutoMP {
 				.setSuperControllerClass("BaseController")
 				.setColumnNaming(NamingStrategy.underline_to_camel)
 				.setNaming(NamingStrategy.underline_to_camel) // 数据库表映射到实体的命名策略,下划线转驼峰命名
-				.setTablePrefix("mc_") //表名前缀
-				.setInclude("mc_work_employee");  // 生成的表
+				.setTablePrefix("private_") //表名前缀
+				.setInclude("private_work_employee_forbbiden_record");  // 生成的表
 		
 		//4. 包名策略配置 
 		PackageConfig pkConfig = new PackageConfig();

+ 87 - 0
src/test/java/com/mokamrp/AutoMPPangu.java

@@ -0,0 +1,87 @@
+package com.mokamrp;
+
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.generator.AutoGenerator;
+import com.baomidou.mybatisplus.generator.InjectionConfig;
+import com.baomidou.mybatisplus.generator.config.*;
+import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import org.junit.Test;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class AutoMPPangu {
+	/**
+	 * 代码生成    示例代码
+	 */
+	@Test
+	public void testGenerator() {
+
+		//1. 全局配置
+		String outPutDir = "D://project/moka-private/src/main/java";
+		GlobalConfig config = new GlobalConfig();
+		config.setActiveRecord(true) // 是否支持AR模式
+			  .setAuthor("leon") // 作者
+			  .setOutputDir(outPutDir) // 生成路径
+			  .setFileOverride(true)  // 文件覆盖
+			  .setIdType(IdType.AUTO) // 主键策略
+			  .setServiceName("%sService")  // 设置生成的service接口的名字的首字母是否为I
+			  					      // IEmployeeService
+ 			  .setBaseResultMap(true) //生成sql映射文件
+ 			  .setBaseColumnList(true);//生成sql片段
+		
+		//2. 数据源配置
+		DataSourceConfig  dsConfig  = new DataSourceConfig();
+		dsConfig.setDbType(DbType.MYSQL)  // 设置数据库类型
+				.setDriverName("com.mysql.cj.jdbc.Driver")
+				.setUrl("jdbc:mysql://172.18.71.27:3306/mochat")
+				.setUsername("typer")
+				.setPassword("jch9sh_shl");
+		 
+		//3. 策略配置
+		StrategyConfig stConfig = new StrategyConfig();
+		stConfig.setCapitalMode(true) //全局大写命名
+				.setRestControllerStyle(true) //.RestController
+				.setSuperControllerClass("BaseController")
+				.setColumnNaming(NamingStrategy.underline_to_camel)
+				.setNaming(NamingStrategy.underline_to_camel) // 数据库表映射到实体的命名策略,下划线转驼峰命名
+				.setTablePrefix("pan_") //表名前缀
+				.setInclude("pan_custservice");  //生成的表
+		
+		//4. 包名策略配置 
+		PackageConfig pkConfig = new PackageConfig();
+		pkConfig.setParent("com.mokamrp.privates")
+				.setMapper("mapper.pangu")
+				.setService("service.pangu")
+				.setController("controller.pangu")
+				.setEntity("mapper.pangu.pojo")
+				.setXml("mapper.pangu");
+		//5. 注入自定义配置
+		InjectionConfig cfg = new InjectionConfig() {
+			@Override
+			public void initMap() {
+				Map<String, Object> map = new HashMap<String, Object>();
+				this.setMap(map);
+			}
+		};
+
+		//6. 整合配置
+		AutoGenerator  ag = new AutoGenerator();
+		ag.setGlobalConfig(config)
+		  .setDataSource(dsConfig)
+		  .setStrategy(stConfig)
+		  .setPackageInfo(pkConfig);
+		//. @leon 自定义模板
+		TemplateConfig tc = new TemplateConfig();
+//		tc.setService("/template/service.java.vm");
+//		tc.setServiceImpl("/template/serviceImpl.java.vm");
+		tc.setController("/template/controller.java.vm");
+		ag.setTemplate(tc);
+		//7. 执行
+		ag.execute();
+	}
+	
+	
+	
+}