Răsfoiți Sursa

fix:
1.日志记录:操作性操作记录 查询性操作不记录

caozixuan 1 an în urmă
părinte
comite
321a2abaed
45 a modificat fișierele cu 274 adăugiri și 91 ștergeri
  1. 18 1
      sop-api/src/main/java/com/qmth/sop/server/api/SysController.java
  2. 7 4
      sop-api/src/main/java/com/qmth/sop/server/api/SysCustomController.java
  3. 6 6
      sop-api/src/main/java/com/qmth/sop/server/api/SysDeviceBrandController.java
  4. 7 3
      sop-api/src/main/java/com/qmth/sop/server/api/SysDeviceController.java
  5. 4 0
      sop-api/src/main/java/com/qmth/sop/server/api/SysDeviceModelController.java
  6. 5 0
      sop-api/src/main/java/com/qmth/sop/server/api/SysDingGroupController.java
  7. 5 0
      sop-api/src/main/java/com/qmth/sop/server/api/SysLevelController.java
  8. 4 0
      sop-api/src/main/java/com/qmth/sop/server/api/SysMessageController.java
  9. 6 0
      sop-api/src/main/java/com/qmth/sop/server/api/SysNoticeController.java
  10. 4 0
      sop-api/src/main/java/com/qmth/sop/server/api/SysOrgController.java
  11. 4 0
      sop-api/src/main/java/com/qmth/sop/server/api/SysRoleController.java
  12. 5 0
      sop-api/src/main/java/com/qmth/sop/server/api/SysSupplierController.java
  13. 5 0
      sop-api/src/main/java/com/qmth/sop/server/api/SysUserController.java
  14. 6 2
      sop-api/src/main/java/com/qmth/sop/server/api/TBCrmController.java
  15. 4 1
      sop-api/src/main/java/com/qmth/sop/server/api/TBDelayWarnController.java
  16. 3 2
      sop-api/src/main/java/com/qmth/sop/server/api/TBDelayWarnDetailController.java
  17. 3 6
      sop-api/src/main/java/com/qmth/sop/server/api/TBDeviceInOutController.java
  18. 5 0
      sop-api/src/main/java/com/qmth/sop/server/api/TBDingApplyController.java
  19. 3 6
      sop-api/src/main/java/com/qmth/sop/server/api/TBDingController.java
  20. 7 7
      sop-api/src/main/java/com/qmth/sop/server/api/TBDingSubmitController.java
  21. 2 0
      sop-api/src/main/java/com/qmth/sop/server/api/TBProjectExchangeController.java
  22. 5 0
      sop-api/src/main/java/com/qmth/sop/server/api/TBQualityProblemApplyController.java
  23. 7 6
      sop-api/src/main/java/com/qmth/sop/server/api/TBServiceController.java
  24. 4 4
      sop-api/src/main/java/com/qmth/sop/server/api/TBServiceRegionController.java
  25. 4 5
      sop-api/src/main/java/com/qmth/sop/server/api/TBServiceScopeController.java
  26. 12 3
      sop-api/src/main/java/com/qmth/sop/server/api/TBSopInfoController.java
  27. 6 10
      sop-api/src/main/java/com/qmth/sop/server/api/TBUserArchivesAllocationController.java
  28. 6 10
      sop-api/src/main/java/com/qmth/sop/server/api/TBUserArchivesController.java
  29. 6 4
      sop-api/src/main/java/com/qmth/sop/server/api/TBViolationController.java
  30. 3 0
      sop-api/src/main/java/com/qmth/sop/server/api/TBViolationDetailController.java
  31. 8 0
      sop-api/src/main/java/com/qmth/sop/server/api/TFCustomFlowController.java
  32. 3 3
      sop-business/src/main/java/com/qmth/sop/business/aspect/LogAspect.java
  33. 1 1
      sop-business/src/main/java/com/qmth/sop/business/bean/params/ServiceRegionParam.java
  34. 1 1
      sop-business/src/main/java/com/qmth/sop/business/bean/params/ServiceUnitParam.java
  35. 2 0
      sop-business/src/main/java/com/qmth/sop/business/bean/params/SysRolePrivilegeParam.java
  36. 2 0
      sop-business/src/main/java/com/qmth/sop/business/bean/params/UserArchivesParam.java
  37. 2 0
      sop-business/src/main/java/com/qmth/sop/business/entity/TBDelayWarnDetail.java
  38. 2 0
      sop-business/src/main/java/com/qmth/sop/business/entity/TBViolationDetail.java
  39. 10 0
      sop-business/src/main/java/com/qmth/sop/business/service/SysLogService.java
  40. 46 0
      sop-business/src/main/java/com/qmth/sop/business/service/impl/SysLogServiceImpl.java
  41. 26 3
      sop-business/src/main/java/com/qmth/sop/business/service/impl/TWxappInfoServiceImpl.java
  42. 1 1
      sop-common/src/main/java/com/qmth/sop/common/annotation/EditKey.java
  43. 1 1
      sop-common/src/main/java/com/qmth/sop/common/annotation/OperationLog.java
  44. 2 0
      sop-common/src/main/java/com/qmth/sop/common/base/BaseEntity.java
  45. 1 1
      sop-task/src/main/java/com/qmth/sop/task/start/StartRunning.java

+ 18 - 1
sop-api/src/main/java/com/qmth/sop/server/api/SysController.java

@@ -10,6 +10,7 @@ import com.qmth.boot.api.annotation.Aac;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.boot.api.exception.ApiException;
 import com.qmth.boot.core.cache.service.CacheService;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.business.bean.dto.*;
 import com.qmth.sop.business.bean.params.LoginParam;
 import com.qmth.sop.business.bean.result.*;
@@ -95,6 +96,9 @@ public class SysController {
     @Resource
     SysConfigService sysConfigService;
 
+    @Resource
+    SysLogService sysLogService;
+
     @ApiOperation(value = "登录")
     @RequestMapping(value = "/login", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "用户信息", response = LoginResult.class)})
@@ -159,12 +163,19 @@ public class SysController {
                 throw ExceptionResultEnum.ERROR.exception("该档案用户已禁用");
             }
         }
-        return ResultUtil.ok(sysUserService.login(login.getPassword(), sysUser, AppSourceEnum.SYSTEM));
+        LoginResult result = sysUserService.login(login.getPassword(), sysUser, AppSourceEnum.SYSTEM);
+        try {
+            sysLogService.saveLogWithNoAuth(sysUser.getId(), "用户登录", LogTypeEnum.LOGIN);
+        } catch (Exception e) {
+            log.error(e.getMessage());
+        }
+        return ResultUtil.ok(result);
     }
 
     @ApiOperation(value = "登出")
     @RequestMapping(value = "/logout", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(detail = "用户登出(注销)", logType = LogTypeEnum.LOGOUT)
     public Result logout() throws NoSuchAlgorithmException {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         return ResultUtil.ok(sysUserService.removeUserInfo(sysUser.getId(), false));
@@ -174,6 +185,7 @@ public class SysController {
     @RequestMapping(value = "/file/upload", method = RequestMethod.POST)
     @Transactional
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = AttachmentResult.class)})
+    @OperationLog(logType = LogTypeEnum.UN_KNOW)
     public Result fileUpload(@ApiParam(value = "上传文件", required = true) @RequestParam MultipartFile file,
                              @ApiParam(value = "上传文件类型", required = true) @RequestParam UploadFileEnum type,
                              @ApiParam(value = "小程序签名key") @RequestParam(required = false) String key) throws Exception {
@@ -197,6 +209,7 @@ public class SysController {
     @ApiOperation(value = "下载导入模板")
     @RequestMapping(value = "/download_import_template", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.EXPORT)
     public void downloadImportTemplate(@ApiParam(value = "模版类型", required = true) @RequestParam ImportTemplateEnum type) throws IOException {
         List<ImportTemplateEnum> templateEnums = Stream.of(ImportTemplateEnum.values()).map(m -> m).collect(Collectors.toList());
         if (!templateEnums.contains(type)) {
@@ -210,6 +223,7 @@ public class SysController {
     @ApiOperation(value = "文件下载接口")
     @RequestMapping(value = "/file/download", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = EditResult.class)})
+    @OperationLog(logType = LogTypeEnum.UN_KNOW)
     public Result fileDownload(@ApiParam(value = "任务id", required = true) @RequestParam Long taskId,
                                @ApiParam(value = "下载文件类型", required = true) @RequestParam DownloadFileEnum type) throws Exception {
         TBTask tbTask = tbTaskService.getById(taskId);
@@ -243,6 +257,7 @@ public class SysController {
     @ApiOperation(value = "小程序签名预览接口")
     @RequestMapping(value = "/file/preview/app", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = EditResult.class)})
+    @OperationLog(logType = LogTypeEnum.PREVIEW)
     public Result filePreview(@ApiParam(value = "小程序签名key", required = true) @RequestParam String key) throws Exception {
         List<BasicAttachment> basicAttachmentList = basicAttachmentService.filePreviewApp(key);
         if (CollectionUtils.isEmpty(basicAttachmentList)) {
@@ -258,6 +273,7 @@ public class SysController {
     @ApiOperation(value = "文件预览接口")
     @RequestMapping(value = "/file/preview", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = EditResult.class)})
+    @OperationLog(logType = LogTypeEnum.PREVIEW)
     public Result filePreview(@ApiParam(value = "附件id数组", required = true) @RequestBody List<Long> ids) throws Exception {
         if (CollectionUtils.isEmpty(ids)) {
             throw ExceptionResultEnum.PARAMS_ERROR.exception("附件id数组不能为空");
@@ -404,6 +420,7 @@ public class SysController {
     @ApiOperation(value = "修改密码")
     @RequestMapping(value = "/update_password", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.UPDATE)
     public Result updatePassword(@RequestBody SysUser sysUser) throws NoSuchAlgorithmException {
         return ResultUtil.ok(sysUserService.updatePassword(sysUser));
     }

+ 7 - 4
sop-api/src/main/java/com/qmth/sop/server/api/SysCustomController.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.business.bean.result.SysCustomResult;
 import com.qmth.sop.business.entity.SysCustom;
 import com.qmth.sop.business.entity.SysCustomAddr;
@@ -14,6 +15,7 @@ import com.qmth.sop.business.service.SysCustomService;
 import com.qmth.sop.business.service.TBTaskService;
 import com.qmth.sop.business.templete.execute.AsyncSysCustomImportService;
 import com.qmth.sop.common.contant.SystemConstant;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.enums.ProductTypeEnum;
 import com.qmth.sop.common.enums.TaskTypeEnum;
 import com.qmth.sop.common.util.Result;
@@ -58,7 +60,6 @@ public class SysCustomController {
     SysCustomAddrService sysCustomAddrService;
 
 
-
     @ApiOperation(value = "客户表查询接口")
     @RequestMapping(value = "/query", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "客户表列表信息", response = SysCustomResult.class)})
@@ -77,6 +78,7 @@ public class SysCustomController {
     @ApiOperation(value = "新增客户表接口")
     @RequestMapping(value = "/add", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "新增客户表信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.ADD)
     public Result add(@Valid @ApiParam(value = "客户信息", required = true) @RequestBody(required = true) SysCustomResult sysCustom, BindingResult bindingResult) throws InterruptedException {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -89,6 +91,7 @@ public class SysCustomController {
     @ApiOperation(value = "修改客户表接口")
     @RequestMapping(value = "/update", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "修改客户表信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.UPDATE)
     public Result update(@Valid @ApiParam(value = "客户信息", required = true) @RequestBody(required = true) SysCustomResult sysCustom, BindingResult bindingResult) throws InterruptedException {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -100,6 +103,7 @@ public class SysCustomController {
     @ApiOperation(value = "删除客户表接口")
     @RequestMapping(value = "/delete", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "删除客户表信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.DELETE)
     public Result delete(@ApiParam(value = "客户id", required = true) @RequestParam(required = true) long id) {
         sysCustomService.delete(id);
         return ResultUtil.ok();
@@ -118,7 +122,7 @@ public class SysCustomController {
     public Result detail(@ApiParam(value = "客户id", required = true) @RequestParam(required = true) long id) {
         SysCustom sysCustom = sysCustomService.getById(id);
         SysCustomResult sysCustomResult = JSON.toJavaObject((JSON) JSON.toJSON(sysCustom), SysCustomResult.class);
-        sysCustomResult.setAddrList(sysCustomAddrService.list(new QueryWrapper<SysCustomAddr>().lambda().eq(SysCustomAddr::getCustomId,sysCustomResult.getId())));
+        sysCustomResult.setAddrList(sysCustomAddrService.list(new QueryWrapper<SysCustomAddr>().lambda().eq(SysCustomAddr::getCustomId, sysCustomResult.getId())));
         return ResultUtil.ok(sysCustomResult);
     }
 
@@ -126,6 +130,7 @@ public class SysCustomController {
     @ApiOperation(value = "客户表导入")
     @RequestMapping(value = "/import", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.IMPORT)
     public Result importCustom(@ApiParam(value = "上传文件", required = true) @RequestParam MultipartFile file) throws Exception {
         Map<String, Object> map = tbTaskService.saveTask(file, TaskTypeEnum.CUSTOM_IMPORT);
         asyncSysCustomImportService.importTask(map);
@@ -141,6 +146,4 @@ public class SysCustomController {
                        @ApiParam(value = "类型", required = false) @RequestParam(required = false) ProductTypeEnum type) {
         return ResultUtil.ok(sysCustomService.list(new QueryWrapper<SysCustom>().lambda().eq(Objects.nonNull(enable), SysCustom::getEnable, enable).eq(Objects.nonNull(type), SysCustom::getType, type)));
     }
-
-
 }

+ 6 - 6
sop-api/src/main/java/com/qmth/sop/server/api/SysDeviceBrandController.java

@@ -1,29 +1,27 @@
 package com.qmth.sop.server.api;
 
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.boot.api.constant.ApiConstant;
-import com.qmth.boot.api.annotation.Aac;
-import com.qmth.sop.business.bean.result.EditResult;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.business.entity.SysDeviceBrand;
 import com.qmth.sop.business.entity.SysDeviceModel;
 import com.qmth.sop.business.service.SysDeviceBrandService;
 import com.qmth.sop.business.service.SysDeviceModelService;
 import com.qmth.sop.common.contant.SystemConstant;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.util.Result;
 import com.qmth.sop.common.util.ResultUtil;
 import io.swagger.annotations.*;
-import org.springframework.util.CollectionUtils; 
-import org.springframework.validation.BindingResult; 
+import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.*;
+
 import javax.annotation.Resource;
 import javax.validation.Valid;
 import javax.validation.constraints.Max;
 import javax.validation.constraints.Min;
 import java.util.List;
-import java.util.Objects;
 
 /**
  * 设备品牌表 控制器
@@ -61,6 +59,7 @@ public class SysDeviceBrandController {
     @ApiOperation(value = "设备品牌表新增修改接口")
     @RequestMapping(value = "/save", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.EDIT)
     public Result save(@Valid @ApiParam(value = "设备品牌表信息", required = true) @RequestBody(required = true) SysDeviceBrand sysDeviceBrand, BindingResult bindingResult) throws InterruptedException {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -73,6 +72,7 @@ public class SysDeviceBrandController {
     @ApiOperation(value = "设备品牌表删除接口")
     @RequestMapping(value = "/delete", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.DELETE)
     public Result delete(@ApiParam(value = "设备品牌表id", required = true) @RequestParam(required = true) long id) {
         return ResultUtil.ok(sysDeviceBrandService.delete(id));
     }

+ 7 - 3
sop-api/src/main/java/com/qmth/sop/server/api/SysDeviceController.java

@@ -3,22 +3,21 @@ package com.qmth.sop.server.api;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.qmth.boot.api.annotation.Aac;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.sop.business.bean.result.SysDeviceResult;
 import com.qmth.sop.business.entity.SysDevice;
-import com.qmth.sop.business.entity.SysUser;
 import com.qmth.sop.business.entity.TBTask;
 import com.qmth.sop.business.service.SysDeviceService;
 import com.qmth.sop.business.service.TBTaskService;
 import com.qmth.sop.business.templete.execute.AsyncSysDeviceImportService;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.common.contant.SystemConstant;
 import com.qmth.sop.common.enums.DeviceStatusEnum;
 import com.qmth.sop.common.enums.InOutTypeEnum;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.enums.TaskTypeEnum;
 import com.qmth.sop.common.util.Result;
 import com.qmth.sop.common.util.ResultUtil;
-import com.qmth.sop.common.util.ServletUtil;
 import io.swagger.annotations.*;
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.*;
@@ -78,6 +77,7 @@ public class SysDeviceController {
     @ApiOperation(value = "设备配置表新增修改接口")
     @RequestMapping(value = "/save", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.EDIT)
     public Result save(@Valid @ApiParam(value = "设备配置表信息", required = true) @RequestBody(required = true) SysDevice sysDevice, BindingResult bindingResult) throws InterruptedException {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -98,6 +98,7 @@ public class SysDeviceController {
     @ApiOperation(value = "批量禁用设备接口")
     @RequestMapping(value = "/disable", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.DELETE)
     public Result disable(@ApiParam(value = "设备配置表id", required = true) @RequestParam(required = true) long[] ids) {
         return ResultUtil.ok(sysDeviceService.disable(ids));
     }
@@ -107,6 +108,7 @@ public class SysDeviceController {
     @ApiOperation(value = "批量启用设备接口")
     @RequestMapping(value = "/enable", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.UN_KNOW)
     public Result enable(@ApiParam(value = "设备配置表id", required = true) @RequestParam(required = true) long[] ids) {
         return ResultUtil.ok(sysDeviceService.enable(ids));
     }
@@ -116,6 +118,7 @@ public class SysDeviceController {
     @ApiOperation(value = "批量删除设备接口")
     @RequestMapping(value = "/delete", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.DELETE)
     public Result delete(@ApiParam(value = "设备配置表id", required = true) @RequestParam(required = true) long[] ids) {
         return ResultUtil.ok(sysDeviceService.delete(ids));
     }
@@ -123,6 +126,7 @@ public class SysDeviceController {
     @ApiOperation(value = "设备导入")
     @RequestMapping(value = "/import", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.IMPORT)
     public Result importUserArchives(@ApiParam(value = "上传文件", required = true) @RequestParam MultipartFile file) throws Exception {
         Map<String, Object> map = tbTaskService.saveTask(file, TaskTypeEnum.DEVICE_IMPORT);
         asyncSysDeviceImportService.importTask(map);

+ 4 - 0
sop-api/src/main/java/com/qmth/sop/server/api/SysDeviceModelController.java

@@ -7,7 +7,9 @@ import com.qmth.boot.api.annotation.Aac;
 import com.qmth.sop.business.bean.result.EditResult;
 import com.qmth.sop.business.entity.SysDeviceModel;
 import com.qmth.sop.business.service.SysDeviceModelService;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.common.contant.SystemConstant;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.util.Result;
 import com.qmth.sop.common.util.ResultUtil;
 import io.swagger.annotations.*;
@@ -56,6 +58,7 @@ public class SysDeviceModelController {
     @ApiOperation(value = "设备品牌型号表新增修改接口")
     @RequestMapping(value = "/save", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.EDIT)
     public Result save(@Valid @ApiParam(value = "设备品牌型号表信息", required = true) @RequestBody(required = true) SysDeviceModel sysDeviceModel, BindingResult bindingResult) throws InterruptedException {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -68,6 +71,7 @@ public class SysDeviceModelController {
     @ApiOperation(value = "设备品牌型号表删除接口")
     @RequestMapping(value = "/delete", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.DELETE)
     public Result delete(@ApiParam(value = "设备品牌型号表id", required = true) @RequestParam(required = true) long id) {
         return ResultUtil.ok(sysDeviceModelService.delete(id));
     }

+ 5 - 0
sop-api/src/main/java/com/qmth/sop/server/api/SysDingGroupController.java

@@ -9,7 +9,9 @@ import com.qmth.sop.business.bean.result.SysDingGroupResult;
 import com.qmth.sop.business.entity.SysDingGroup;
 import com.qmth.sop.business.service.SysDingGroupService;
 import com.qmth.sop.business.service.SysDingObjService;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.common.contant.SystemConstant;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.enums.MessageTypeEnum;
 import com.qmth.sop.common.enums.ServiceStatusEnum;
 import com.qmth.sop.common.util.Result;
@@ -69,6 +71,7 @@ public class SysDingGroupController {
     @ApiOperation(value = "新增考勤组表接口")
     @RequestMapping(value = "/add", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "新增考勤组表信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.ADD)
     public Result add(@Valid @ApiParam(value = "考勤组表信息", required = true) @RequestBody(required = true) SysDingGroupResult sysDingGroup, BindingResult bindingResult) throws InterruptedException {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -81,6 +84,7 @@ public class SysDingGroupController {
     @ApiOperation(value = "修改考勤组表接口")
     @RequestMapping(value = "/update", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "修改考勤组表信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.UPDATE)
     public Result update(@Valid @ApiParam(value = "考勤组表信息", required = true) @RequestBody(required = true) SysDingGroupResult sysDingGroup, BindingResult bindingResult) throws InterruptedException {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -93,6 +97,7 @@ public class SysDingGroupController {
     @ApiOperation(value = "删除考勤组表接口")
     @RequestMapping(value = "/delete", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "删除考勤组表信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.DELETE)
     public Result delete(@ApiParam(value = "考勤组表信息", required = true) @RequestParam(required = true) long id) {
         sysDingGroupService.delete(id);
         return ResultUtil.ok();

+ 5 - 0
sop-api/src/main/java/com/qmth/sop/server/api/SysLevelController.java

@@ -9,7 +9,9 @@ import com.qmth.sop.business.bean.result.SysLevelResult;
 import com.qmth.sop.business.entity.SysLevel;
 import com.qmth.sop.business.service.SysLevelRoleService;
 import com.qmth.sop.business.service.SysLevelService;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.common.contant.SystemConstant;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.enums.ProductTypeEnum;
 import com.qmth.sop.common.util.Result;
 import com.qmth.sop.common.util.ResultUtil;
@@ -61,6 +63,7 @@ public class SysLevelController {
     @ApiOperation(value = "新增档位表接口")
     @RequestMapping(value = "/add", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "新增档位表信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.ADD)
     public Result add(@Valid @ApiParam(value = "档位表信息", required = true) @RequestBody(required = true) SysLevelResult sysLevelResult, BindingResult bindingResult) throws InterruptedException {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -73,6 +76,7 @@ public class SysLevelController {
     @ApiOperation(value = "修改档位表接口")
     @RequestMapping(value = "/update", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "修改档位表信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.UPDATE)
     public Result update(@Valid @ApiParam(value = "档位表信息", required = true) @RequestBody(required = true) SysLevelResult sysLevelResult, BindingResult bindingResult) throws InterruptedException {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -85,6 +89,7 @@ public class SysLevelController {
     @ApiOperation(value = "删除档位表接口")
     @RequestMapping(value = "/delete", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "删除档位表信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.DELETE)
     public Result delete(@ApiParam(value = "档位表信息", required = true) @RequestParam(required = true) long id) {
         sysLevelService.delete(id);
         return ResultUtil.ok();

+ 4 - 0
sop-api/src/main/java/com/qmth/sop/server/api/SysMessageController.java

@@ -11,7 +11,9 @@ import com.qmth.sop.business.entity.TBTask;
 import com.qmth.sop.business.service.SysMessageService;
 import com.qmth.sop.business.service.TBTaskService;
 import com.qmth.sop.business.templete.execute.AsyncSysMessageExportService;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.common.contant.SystemConstant;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.enums.MessageTypeEnum;
 import com.qmth.sop.common.enums.TaskTypeEnum;
 import com.qmth.sop.common.util.Result;
@@ -71,6 +73,7 @@ public class SysMessageController {
     @ApiOperation(value = "回执查询导出")
     @RequestMapping(value = "/export", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.EXPORT)
     public Result export(@ApiParam(value = "公告表id", required = true) @RequestParam(required = true) Long noticeId,
                          @ApiParam(value = "区域城市", required = false) @RequestParam(required = false) String city,
                          @ApiParam(value = "供应商", required = false) @RequestParam(required = false) Long supplierId,
@@ -103,6 +106,7 @@ public class SysMessageController {
     @ApiOperation(value = "标记消息已阅读")
     @RequestMapping(value = "/read", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.UN_KNOW)
     public Result read(@ApiParam(value = "消息表id", required = true) @RequestParam(required = true) long id) {
         return ResultUtil.ok(sysMessageService.read(id));
     }

+ 6 - 0
sop-api/src/main/java/com/qmth/sop/server/api/SysNoticeController.java

@@ -6,7 +6,9 @@ import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.sop.business.bean.result.SysNoticeResult;
 import com.qmth.sop.business.entity.SysNotice;
 import com.qmth.sop.business.service.SysNoticeService;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.common.contant.SystemConstant;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.enums.NoticeStatusEnum;
 import com.qmth.sop.common.enums.NoticeTypeEnum;
 import com.qmth.sop.common.util.Result;
@@ -59,6 +61,7 @@ public class SysNoticeController {
     @ApiOperation(value = "公告表新增修改接口")
     @RequestMapping(value = "/save", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.EDIT)
     public Result save(@Valid @ApiParam(value = "公告表信息", required = true) @RequestBody(required = true) SysNotice sysNotice, BindingResult bindingResult) throws InterruptedException {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -70,6 +73,7 @@ public class SysNoticeController {
     @ApiOperation(value = "公告表删除接口")
     @RequestMapping(value = "/delete", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.DELETE)
     public Result delete(@ApiParam(value = "公告表id", required = true) @RequestParam(required = true) long id) {
         return ResultUtil.ok(sysNoticeService.delete(id));
     }
@@ -80,6 +84,7 @@ public class SysNoticeController {
     @ApiOperation(value = "公告表批量禁用接口")
     @RequestMapping(value = "/disable", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.DELETE)
     public Result disable(@ApiParam(value = "公告表id", required = true) @RequestParam(required = true) long[] ids) {
         return ResultUtil.ok(sysNoticeService.disable(ids));
     }
@@ -91,6 +96,7 @@ public class SysNoticeController {
     @ApiOperation(value = "公告表发布或者撤销发布接口")
     @RequestMapping(value = "/publishOrUnpublish", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.UPDATE)
     public Result publishOrUnpublish(@ApiParam(value = "公告表id", required = true) @RequestParam(required = true) long id) {
         return ResultUtil.ok(sysNoticeService.publishOrUnpublish(id));
     }

+ 4 - 0
sop-api/src/main/java/com/qmth/sop/server/api/SysOrgController.java

@@ -5,7 +5,9 @@ import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.sop.business.bean.dto.OrgDto;
 import com.qmth.sop.business.entity.SysOrg;
 import com.qmth.sop.business.service.SysOrgService;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.common.contant.SystemConstant;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.util.Result;
 import com.qmth.sop.common.util.ResultUtil;
 import io.swagger.annotations.*;
@@ -44,6 +46,7 @@ public class SysOrgController {
     @ApiOperation(value = "新增/修改")
     @RequestMapping(value = "/save", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.EDIT)
     public Result save(@Valid @ApiParam(value = "机构保存信息", required = true) @RequestBody SysOrg org, BindingResult bindingResult) {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -54,6 +57,7 @@ public class SysOrgController {
     @ApiOperation(value = "启用/禁用")
     @RequestMapping(value = "/enable", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.UPDATE)
     public Result enable(@ApiParam(value = "机构保存信息", required = true) @RequestBody SysOrg org) {
         return ResultUtil.ok(sysOrgService.enable(org));
     }

+ 4 - 0
sop-api/src/main/java/com/qmth/sop/server/api/SysRoleController.java

@@ -9,8 +9,10 @@ import com.qmth.sop.business.cache.CommonCacheService;
 import com.qmth.sop.business.entity.SysRole;
 import com.qmth.sop.business.entity.SysRolePrivilege;
 import com.qmth.sop.business.service.SysRoleService;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.common.contant.SystemConstant;
 import com.qmth.sop.common.enums.ExceptionResultEnum;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.util.Result;
 import com.qmth.sop.common.util.ResultUtil;
 import io.swagger.annotations.*;
@@ -69,6 +71,7 @@ public class SysRoleController {
     @ApiOperation(value = "新增/修改")
     @RequestMapping(value = "/save", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.EDIT)
     public Result save(@Valid @ApiParam(value = "角色保存信息", required = true) @RequestBody SysRolePrivilegeParam sysRolePrivilegeParams, BindingResult bindingResult) {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -79,6 +82,7 @@ public class SysRoleController {
     @ApiOperation(value = "删除")
     @RequestMapping(value = "/delete", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.DELETE)
     public Result delete(@ApiParam(value = "角色id", required = true) @RequestParam Long roleId) throws NoSuchAlgorithmException {
         return ResultUtil.ok(sysRoleService.deleteRole(roleId));
     }

+ 5 - 0
sop-api/src/main/java/com/qmth/sop/server/api/SysSupplierController.java

@@ -6,7 +6,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.sop.business.entity.SysSupplier;
 import com.qmth.sop.business.service.SysSupplierService;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.common.contant.SystemConstant;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.enums.SupplierTypeEnum;
 import com.qmth.sop.common.util.Result;
 import com.qmth.sop.common.util.ResultUtil;
@@ -51,6 +53,7 @@ public class SysSupplierController {
     @ApiOperation(value = "新增供应商表接口")
     @RequestMapping(value = "/add", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "新增供应商表信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.ADD)
     public Result add(@Valid @ApiParam(value = "供应商表信息", required = true) @RequestBody(required = true) SysSupplier sysSupplier, BindingResult bindingResult) throws InterruptedException {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -62,6 +65,7 @@ public class SysSupplierController {
     @ApiOperation(value = "修改供应商表接口")
     @RequestMapping(value = "/update", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "修改供应商表信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.UPDATE)
     public Result update(@Valid @ApiParam(value = "供应商表信息", required = true) @RequestBody(required = true) SysSupplier sysSupplier, BindingResult bindingResult) throws InterruptedException {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -83,6 +87,7 @@ public class SysSupplierController {
     @ApiOperation(value = "启用禁用供应商表接口")
     @RequestMapping(value = "/enable", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "启用禁用供应商表信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.UPDATE)
     public Result enable(@ApiParam(value = "供应商表信息", required = true) @RequestParam(required = true) long id) {
         sysSupplierService.enable(id);
         return ResultUtil.ok();

+ 5 - 0
sop-api/src/main/java/com/qmth/sop/server/api/SysUserController.java

@@ -5,7 +5,9 @@ import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.sop.business.bean.dto.UserDto;
 import com.qmth.sop.business.entity.SysUser;
 import com.qmth.sop.business.service.SysUserService;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.common.contant.SystemConstant;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.util.Result;
 import com.qmth.sop.common.util.ResultUtil;
 import io.swagger.annotations.*;
@@ -49,6 +51,7 @@ public class SysUserController {
     @ApiOperation(value = "新增/修改")
     @RequestMapping(value = "/save", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.EDIT)
     public Result save(@Valid @ApiParam(value = "用户保存信息", required = true) @RequestBody SysUser sysUser, BindingResult bindingResult) {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -59,6 +62,7 @@ public class SysUserController {
     @ApiOperation(value = "启用/禁用")
     @RequestMapping(value = "/enable", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.UPDATE)
     public Result enable(@RequestBody SysUser sysUser) throws NoSuchAlgorithmException {
         return ResultUtil.ok(sysUserService.enable(sysUser));
     }
@@ -66,6 +70,7 @@ public class SysUserController {
     @ApiOperation(value = "初始化密码")
     @RequestMapping(value = "/init_password", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.UPDATE)
     public Result initPassword(@RequestBody SysUser sysUser) throws NoSuchAlgorithmException {
         return ResultUtil.ok(sysUserService.initPassword(sysUser));
     }

+ 6 - 2
sop-api/src/main/java/com/qmth/sop/server/api/TBCrmController.java

@@ -4,12 +4,13 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.boot.api.constant.ApiConstant;
-import com.qmth.sop.business.annotation.OperationLog;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.business.bean.result.DingElementResult;
 import com.qmth.sop.business.bean.result.TBCrmResult;
 import com.qmth.sop.business.entity.TBCrm;
 import com.qmth.sop.business.service.TBCrmService;
 import com.qmth.sop.common.contant.SystemConstant;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.enums.ProductTypeEnum;
 import com.qmth.sop.common.util.Result;
 import com.qmth.sop.common.util.ResultUtil;
@@ -64,6 +65,7 @@ public class TBCrmController {
     @ApiOperation(value = "派单信息表新增修改接口")
     @RequestMapping(value = "/save", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.EDIT)
     public Result save(@Valid @ApiParam(value = "派单信息表信息", required = true) @RequestBody(required = true) TBCrm tBCrm, BindingResult bindingResult) throws InterruptedException {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -75,6 +77,7 @@ public class TBCrmController {
     @ApiOperation(value = "派单信息表删除接口")
     @RequestMapping(value = "/delete", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.DELETE)
     public Result delete(@ApiParam(value = "派单信息表id", required = true) @RequestParam(required = true) long id) {
         return ResultUtil.ok(tBCrmService.delete(id));
     }
@@ -93,6 +96,7 @@ public class TBCrmController {
     @ApiOperation(value = "批量划定服务单元接口")
     @RequestMapping(value = "/batchZone", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.UPDATE)
     public Result batchZone(@ApiParam(value = "服务单元id", required = true) @RequestParam(required = true) long serviceId,
                             @ApiParam(value = "派单信息表id", required = true) @RequestParam(required = true) long[] crmIds) {
         return ResultUtil.ok(tBCrmService.batchZone(serviceId, crmIds));
@@ -103,6 +107,7 @@ public class TBCrmController {
     @ApiOperation(value = "批量禁用接口")
     @RequestMapping(value = "/batchDisable", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.UPDATE)
     public Result batchDisable(@ApiParam(value = "派单信息表id", required = true) @RequestParam(required = true) long[] crmIds) {
         return ResultUtil.ok(tBCrmService.batchDisable(crmIds));
     }
@@ -119,7 +124,6 @@ public class TBCrmController {
     @ApiOperation(value = "查询项目派单信息")
     @RequestMapping(value = "/crm_project_info", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = DingElementResult.class)})
-    @OperationLog
     public Result findDingInfo(@ApiParam(value = "sop单号") @RequestParam(required = false) String sopNo,
                                @ApiParam(value = "crm单号") @RequestParam(required = false) String crmNo) {
         return ResultUtil.ok(tBCrmService.findCrmProjectBySopNoOrCrmNo(sopNo, crmNo));

+ 4 - 1
sop-api/src/main/java/com/qmth/sop/server/api/TBDelayWarnController.java

@@ -1,14 +1,15 @@
 package com.qmth.sop.server.api;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.sop.business.bean.result.TBDelayWarnResult;
 import com.qmth.sop.business.entity.TBDelayWarn;
 import com.qmth.sop.business.service.TBDelayWarnService;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.common.contant.SystemConstant;
 import com.qmth.sop.common.enums.DelayWarnStatusEnum;
 import com.qmth.sop.common.enums.DelayWarnTypeEnum;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.util.Result;
 import com.qmth.sop.common.util.ResultUtil;
 import io.swagger.annotations.*;
@@ -70,6 +71,7 @@ public class TBDelayWarnController {
     @ApiOperation(value = "关闭延期预警跟进")
     @RequestMapping(value = "/close", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "关闭成功")})
+    @OperationLog(logType = LogTypeEnum.EDIT)
     public Result close(@ApiParam(value = "延期预警跟进表id", required = true) @RequestParam long id) {
         TBDelayWarn tBDelayWarn = tBDelayWarnService.getById(id);
         tBDelayWarn.setStatus(DelayWarnStatusEnum.CLOSE);
@@ -82,6 +84,7 @@ public class TBDelayWarnController {
     @ApiOperation(value = "重启延期预警跟进")
     @RequestMapping(value = "/restart", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "重启成功")})
+    @OperationLog(logType = LogTypeEnum.EDIT)
     public Result restart(@ApiParam(value = "延期预警跟进表id", required = true) @RequestParam long id) {
         TBDelayWarn tBDelayWarn = tBDelayWarnService.getById(id);
         tBDelayWarn.setStatus(DelayWarnStatusEnum.RESTART);

+ 3 - 2
sop-api/src/main/java/com/qmth/sop/server/api/TBDelayWarnDetailController.java

@@ -1,11 +1,11 @@
 package com.qmth.sop.server.api;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.sop.business.entity.TBDelayWarnDetail;
-import com.qmth.sop.business.entity.TBViolationDetail;
 import com.qmth.sop.business.service.TBDelayWarnDetailService;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.common.contant.SystemConstant;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.util.Result;
 import com.qmth.sop.common.util.ResultUtil;
 import io.swagger.annotations.*;
@@ -47,6 +47,7 @@ public class TBDelayWarnDetailController {
     @ApiOperation(value = "延期预警明细表新增修改接口")
     @RequestMapping(value = "/save", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.EDIT)
     public Result save(@Valid @ApiParam(value = "延期预警明细表信息", required = true) @RequestBody(required = true) TBDelayWarnDetail tBDelayWarnDetail, BindingResult bindingResult) throws InterruptedException {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());

+ 3 - 6
sop-api/src/main/java/com/qmth/sop/server/api/TBDeviceInOutController.java

@@ -2,13 +2,14 @@ package com.qmth.sop.server.api;
 
 
 import com.qmth.boot.api.constant.ApiConstant;
-import com.qmth.sop.business.annotation.OperationLog;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.business.bean.params.DeviceInOutSubmitParam;
 import com.qmth.sop.business.bean.result.DeviceInOutResult;
 import com.qmth.sop.business.service.TBDeviceInOutService;
 import com.qmth.sop.common.contant.SystemConstant;
 import com.qmth.sop.common.enums.DeviceStatusEnum;
 import com.qmth.sop.common.enums.DeviceUsageTypeEnum;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.util.Result;
 import com.qmth.sop.common.util.ResultUtil;
 import io.swagger.annotations.*;
@@ -38,7 +39,6 @@ public class TBDeviceInOutController {
     @ApiOperation(value = "sop管理 - 设备出入库登记查询")
     @RequestMapping(value = "/sop_page", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = DeviceInOutResult.class)})
-    @OperationLog
     public Result findDeviceInOutPageBySop(@ApiParam(value = "服务单元id") @RequestParam(required = false) String serviceUnitId,
                                            @ApiParam(value = "用途类型") @RequestParam(required = false) DeviceUsageTypeEnum usageType,
                                            @ApiParam(value = "登记人") @RequestParam(required = false) String userId,
@@ -61,7 +61,6 @@ public class TBDeviceInOutController {
     @ApiOperation(value = "查询可出库的设备信息")
     @RequestMapping(value = "/can_out_info", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = DeviceInOutResult.class)})
-    @OperationLog
     public Result findDeviceCanOutInfo(@ApiParam(value = "供应商id") @RequestParam(required = false) String supplierId) {
         return ResultUtil.ok(tbDeviceInOutService.findDeviceCanOutInfo(SystemConstant.convertIdToLong(supplierId)));
     }
@@ -69,7 +68,6 @@ public class TBDeviceInOutController {
     @ApiOperation(value = "查询可入库的设备信息")
     @RequestMapping(value = "/can_in_info", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = DeviceInOutResult.class)})
-    @OperationLog
     public Result findDeviceCanInInfo(@ApiParam(value = "供应商id") @RequestParam(required = false) String supplierId,
                                       @ApiParam(value = "派单号") @RequestParam(required = false) String crmNo) {
         return ResultUtil.ok(tbDeviceInOutService.findDeviceCanInInfo(SystemConstant.convertIdToLong(supplierId), crmNo));
@@ -78,7 +76,7 @@ public class TBDeviceInOutController {
     @ApiOperation(value = "设备出入库提交")
     @RequestMapping(value = "/submit", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "更新成功", response = Result.class)})
-    @OperationLog
+    @OperationLog(logType = LogTypeEnum.ADD)
     public Result deviceInOutSubmit(@Valid @RequestBody DeviceInOutSubmitParam deviceInOutSubmitParam, BindingResult bindingResult) {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -90,7 +88,6 @@ public class TBDeviceInOutController {
     @ApiOperation(value = "资源保障-设备保障-出入库登记查询")
     @RequestMapping(value = "/source_page", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = DeviceInOutResult.class)})
-    @OperationLog
     public Result findDeviceInOutPageBySource(@ApiParam(value = "服务单元id") @RequestParam(required = false) String serviceUnitId,
                                               @ApiParam(value = "用途类型") @RequestParam(required = false) DeviceUsageTypeEnum usageType,
                                               @ApiParam(value = "登记人") @RequestParam(required = false) String userId,

+ 5 - 0
sop-api/src/main/java/com/qmth/sop/server/api/TBDingApplyController.java

@@ -8,8 +8,10 @@ import com.qmth.sop.business.bean.result.DingApplyUnDoneResult;
 import com.qmth.sop.business.bean.result.TBDingApplyViewResult;
 import com.qmth.sop.business.entity.TBDingApply;
 import com.qmth.sop.business.service.TBDingApplyService;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.common.contant.SystemConstant;
 import com.qmth.sop.common.enums.DingExceptionApproveEnum;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.util.Result;
 import com.qmth.sop.common.util.ResultUtil;
 import io.swagger.annotations.*;
@@ -41,6 +43,7 @@ public class TBDingApplyController {
     @ApiOperation(value = "考勤异常申请接口")
     @RequestMapping(value = "/save", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.ADD)
     public Result save(@Valid @ApiParam(value = "考勤异常申请信息", required = true) @RequestBody TBDingApply tbDingApply, BindingResult bindingResult) throws InterruptedException {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -84,6 +87,7 @@ public class TBDingApplyController {
     @ApiOperation(value = "考勤异常审核接口")
     @RequestMapping(value = "/flow/approve", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.UN_KNOW)
     public Result flowApprove(@ApiParam(value = "流程任务id", required = true) @RequestParam Long taskId,
                               @ApiParam(value = "审核结果", required = true) @RequestParam DingExceptionApproveEnum dingExceptionApprove,
                               @ApiParam(value = "审核用户id") @RequestParam(required = false) Long userId) throws InterruptedException {
@@ -93,6 +97,7 @@ public class TBDingApplyController {
     @ApiOperation(value = "考勤异常批量审核接口")
     @RequestMapping(value = "/flow/batch/approve", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.UN_KNOW)
     public Result flowBatchApprove(@ApiParam(value = "流程任务id数组", required = true) @RequestParam List<Long> taskIds,
                                    @ApiParam(value = "审核结果", required = true) @RequestParam DingExceptionApproveEnum dingExceptionApprove,
                                    @ApiParam(value = "审核用户id") @RequestParam(required = false) Long userId) throws InterruptedException {

+ 3 - 6
sop-api/src/main/java/com/qmth/sop/server/api/TBDingController.java

@@ -3,7 +3,7 @@ package com.qmth.sop.server.api;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.boot.api.constant.ApiConstant;
-import com.qmth.sop.business.annotation.OperationLog;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.business.bean.params.DingSaveParam;
 import com.qmth.sop.business.bean.result.*;
 import com.qmth.sop.business.entity.SysUser;
@@ -101,6 +101,7 @@ public class TBDingController {
     @ApiOperation(value = "工时统计导出")
     @RequestMapping(value = "/export", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.EXPORT)
     public Result export(@ApiParam(value = "服务单元", required = false) @RequestParam(required = false) Long serviceId,
                          @ApiParam(value = "提交状态", required = false) @RequestParam(required = false) String status,
                          @ApiParam(value = "提交人", required = false) @RequestParam(required = false) Long createId,
@@ -193,7 +194,6 @@ public class TBDingController {
     @ApiOperation(value = "考勤打卡信息")
     @RequestMapping(value = "/ding_info", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = DingElementResult.class)})
-    @OperationLog
     public Result findDingInfo(@ApiParam(value = "sop单号", required = true) @RequestParam String sopNo) {
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         return ResultUtil.ok(tBDingService.findDingElements(sopNo, requestUser.getId()));
@@ -202,7 +202,6 @@ public class TBDingController {
     @ApiOperation(value = "考勤结果统计")
     @RequestMapping(value = "/ding_statistic", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = DingStatisticResult.class)})
-    @OperationLog
     public Result findDingStatistic(@ApiParam(value = "sop单号", required = true) @RequestParam String sopNo) {
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         return ResultUtil.ok(tBDingService.findDingStatistic(sopNo, requestUser.getId()));
@@ -211,7 +210,7 @@ public class TBDingController {
     @ApiOperation(value = "考勤打卡保存")
     @RequestMapping(value = "/ding_save", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "更新成功", response = Result.class)})
-    @OperationLog
+    @OperationLog(logType = LogTypeEnum.UN_KNOW)
     public Result dingSave(@Valid @RequestBody DingSaveParam dingSaveParam, BindingResult bindingResult) throws IOException {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -224,7 +223,6 @@ public class TBDingController {
     @ApiOperation(value = "考勤打卡-查询进行中的sop")
     @RequestMapping(value = "/ding_find_running_sop", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = DingElementResult.class)})
-    @OperationLog
     public Result findDingRunningSop() {
         List<DingSopInfo> resultList = new ArrayList<>();
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
@@ -276,7 +274,6 @@ public class TBDingController {
     @ApiOperation(value = "考勤打卡-查询所有sop")
     @RequestMapping(value = "/ding_find_all_sop", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = DingElementResult.class)})
-    @OperationLog
     public Result findDingAllSop() {
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         List<DingSopInfo> resultList = new ArrayList<>();

+ 7 - 7
sop-api/src/main/java/com/qmth/sop/server/api/TBDingSubmitController.java

@@ -1,7 +1,7 @@
 package com.qmth.sop.server.api;
 
 import com.qmth.boot.api.constant.ApiConstant;
-import com.qmth.sop.business.annotation.OperationLog;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.business.bean.params.DingSubmitParam;
 import com.qmth.sop.business.bean.query.DingSubmitQuery;
 import com.qmth.sop.business.bean.result.DingSubmitResult;
@@ -10,6 +10,7 @@ import com.qmth.sop.business.service.TBDingSubmitService;
 import com.qmth.sop.business.service.TBTaskService;
 import com.qmth.sop.business.templete.execute.AsyncDingSubmitExportService;
 import com.qmth.sop.common.contant.SystemConstant;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.enums.TaskTypeEnum;
 import com.qmth.sop.common.util.Result;
 import com.qmth.sop.common.util.ResultUtil;
@@ -43,7 +44,6 @@ public class TBDingSubmitController {
     @ApiOperation(value = "考勤提交-分页查询")
     @RequestMapping(value = "/page", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = DingSubmitResult.class)})
-    @OperationLog
     public Result findDingSubmitPage(@ApiParam(value = "服务单元id") @RequestParam(required = false) String serviceUnitId,
                                      @ApiParam(value = "考勤提交状态") @RequestParam(required = false) String dingSubmitStatusDesc,
                                      @ApiParam(value = "提交人id") @RequestParam(required = false) String submitUserId,
@@ -67,7 +67,6 @@ public class TBDingSubmitController {
     @ApiOperation(value = "考勤提交-小计")
     @RequestMapping(value = "/sub_total", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = DingSubmitResult.class)})
-    @OperationLog
     public Result findDingSubmitSubTotal(@ApiParam(value = "服务单元id") @RequestParam(required = false) String serviceUnitId,
                                          @ApiParam(value = "考勤提交状态") @RequestParam(required = false) String dingSubmitStatusDesc,
                                          @ApiParam(value = "提交人id") @RequestParam(required = false) String submitUserId,
@@ -89,7 +88,7 @@ public class TBDingSubmitController {
     @ApiOperation(value = "考勤提交-批量提交")
     @RequestMapping(value = "/submit_batch", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "更新成功", response = Result.class)})
-    @OperationLog
+    @OperationLog(logType = LogTypeEnum.EDIT)
     public Result submitBatch(@Valid @RequestBody List<DingSubmitParam> dingSubmitParamList, BindingResult bindingResult) {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -101,7 +100,7 @@ public class TBDingSubmitController {
     @ApiOperation(value = "考勤提交-考勤撤回")
     @RequestMapping(value = "/apply_withdraw", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "更新成功", response = Result.class)})
-    @OperationLog
+    @OperationLog(logType = LogTypeEnum.UPDATE)
     public Result applyWithdraw(@Valid @RequestBody DingSubmitParam dingSubmitParam, BindingResult bindingResult) {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -113,7 +112,7 @@ public class TBDingSubmitController {
     @ApiOperation(value = "考勤提交-取消撤回")
     @RequestMapping(value = "/cancel_withdraw", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "更新成功", response = Result.class)})
-    @OperationLog
+    @OperationLog(logType = LogTypeEnum.UPDATE)
     public Result submitBatch(@Valid @RequestBody DingSubmitParam dingSubmitParam, BindingResult bindingResult) {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -125,7 +124,7 @@ public class TBDingSubmitController {
     @ApiOperation(value = "考勤提交-同意撤回")
     @RequestMapping(value = "/agree_withdraw", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "更新成功", response = Result.class)})
-    @OperationLog
+    @OperationLog(logType = LogTypeEnum.UPDATE)
     public Result agreeWithdraw(@ApiParam(value = "考勤提交记录id", required = true) @RequestParam() String dingSubmitId) {
         tbDingSubmitService.agreeWithdraw(SystemConstant.convertIdToLong(dingSubmitId));
         return ResultUtil.ok();
@@ -135,6 +134,7 @@ public class TBDingSubmitController {
     @ApiOperation(value = "考勤提交-批量导出")
     @RequestMapping(value = "/export", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.EXPORT)
     public Result exportDingSubmit(@ApiParam(value = "服务单元id") @RequestParam(required = false) String serviceUnitId,
                                    @ApiParam(value = "考勤提交状态") @RequestParam(required = false) String dingSubmitStatusDesc,
                                    @ApiParam(value = "提交人id") @RequestParam(required = false) String submitUserId,

+ 2 - 0
sop-api/src/main/java/com/qmth/sop/server/api/TBProjectExchangeController.java

@@ -7,6 +7,7 @@ import com.qmth.sop.business.bean.result.ProjectExchangeResult;
 import com.qmth.sop.business.bean.result.TBProjectExchangeViewResult;
 import com.qmth.sop.business.entity.TBProjectExchange;
 import com.qmth.sop.business.service.TBProjectExchangeService;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.common.contant.SystemConstant;
 import com.qmth.sop.common.enums.*;
 import com.qmth.sop.common.util.Result;
@@ -42,6 +43,7 @@ public class TBProjectExchangeController {
     @ApiOperation(value = "项目变更计划申请接口")
     @RequestMapping(value = "/save", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.UN_KNOW)
     public Result save(@Valid @ApiParam(value = "项目变更计划申请信息", required = true) @RequestBody TBProjectExchange tbProjectExchange, BindingResult bindingResult) throws InterruptedException {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());

+ 5 - 0
sop-api/src/main/java/com/qmth/sop/server/api/TBQualityProblemApplyController.java

@@ -7,8 +7,10 @@ import com.qmth.sop.business.bean.result.TBQualityProblemApplyResult;
 import com.qmth.sop.business.entity.SysUser;
 import com.qmth.sop.business.entity.TBQualityProblemApply;
 import com.qmth.sop.business.service.TBQualityProblemApplyService;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.common.contant.SystemConstant;
 import com.qmth.sop.common.enums.InfluenceDegreeEnum;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.enums.QualityProblemReasonEnum;
 import com.qmth.sop.common.enums.QualityProblemTypeEnum;
 import com.qmth.sop.common.util.Result;
@@ -60,6 +62,7 @@ public class TBQualityProblemApplyController {
     @ApiOperation(value = "质量问题反馈表新增修改接口")
     @RequestMapping(value = "/save", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.EDIT)
     public Result save(@Valid @ApiParam(value = "质量问题反馈表信息", required = true) @RequestBody TBQualityProblemApply tbQualityProblemApply, BindingResult bindingResult) throws InterruptedException {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -70,6 +73,7 @@ public class TBQualityProblemApplyController {
     @ApiOperation(value = "质量问题反馈表审核接口")
     @RequestMapping(value = "/approve", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.UN_KNOW)
     public Result submit(@Valid @ApiParam(value = "质量问题反馈审核信息", required = true) @RequestBody FlowApproveParam flowApproveParam, BindingResult bindingResult) throws InterruptedException {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -80,6 +84,7 @@ public class TBQualityProblemApplyController {
     @ApiOperation(value = "质量问题反馈表删除接口")
     @RequestMapping(value = "/delete", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.DELETE)
     public Result delete(@ApiParam(value = "质量问题反馈表id", required = true) @RequestParam(required = true) long[] ids) {
         return ResultUtil.ok(tBQualityProblemApplyService.delete(ids));
     }

+ 7 - 6
sop-api/src/main/java/com/qmth/sop/server/api/TBServiceController.java

@@ -2,12 +2,13 @@ package com.qmth.sop.server.api;
 
 
 import com.qmth.boot.api.constant.ApiConstant;
-import com.qmth.sop.business.annotation.OperationLog;
 import com.qmth.sop.business.bean.params.ServiceUnitParam;
 import com.qmth.sop.business.bean.result.ServiceUnitResult;
 import com.qmth.sop.business.entity.SysUser;
 import com.qmth.sop.business.service.TBServiceService;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.common.contant.SystemConstant;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.enums.ProductTypeEnum;
 import com.qmth.sop.common.enums.ServiceStatusEnum;
 import com.qmth.sop.common.util.Result;
@@ -56,7 +57,7 @@ public class TBServiceController {
     @ApiOperation(value = "服务单元管理-编辑")
     @RequestMapping(value = "/edit", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "更新成功", response = Result.class)})
-    @OperationLog
+    @OperationLog(logType = LogTypeEnum.EDIT)
     public Result editServiceUnit(@Valid @RequestBody ServiceUnitParam serviceUnitParam, BindingResult bindingResult) {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -68,7 +69,7 @@ public class TBServiceController {
     @ApiOperation(value = "服务单元管理-作废")
     @RequestMapping(value = "/cancel", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "作废成功", response = Result.class)})
-    @OperationLog
+    @OperationLog(logType = LogTypeEnum.UPDATE)
     public Result cancelServiceUnit(@ApiParam(value = "服务单元id", required = true) @RequestParam String id) {
         tbServiceService.cancelServiceUnit(SystemConstant.convertIdToLong(id));
         return ResultUtil.ok();
@@ -77,7 +78,7 @@ public class TBServiceController {
     @ApiOperation(value = "服务单元管理-发布")
     @RequestMapping(value = "/publish", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "发布成功", response = Result.class)})
-    @OperationLog
+    @OperationLog(logType = LogTypeEnum.UPDATE)
     public Result publishServiceUnit(@ApiParam(value = "服务单元id", required = true) @RequestParam String id) {
         tbServiceService.publishServiceUnit(SystemConstant.convertIdToLong(id));
         return ResultUtil.ok();
@@ -86,7 +87,7 @@ public class TBServiceController {
     @ApiOperation(value = "服务单元管理-关闭")
     @RequestMapping(value = "/cloze", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "作废成功", response = Result.class)})
-    @OperationLog
+    @OperationLog(logType = LogTypeEnum.UPDATE)
     public Result clozeServiceUnit(@ApiParam(value = "服务单元id", required = true) @RequestParam String id) {
         tbServiceService.clozeServiceUnit(SystemConstant.convertIdToLong(id));
         return ResultUtil.ok();
@@ -95,7 +96,7 @@ public class TBServiceController {
     @ApiOperation(value = "服务单元管理-重启")
     @RequestMapping(value = "/restart", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "重启成功", response = Result.class)})
-    @OperationLog
+    @OperationLog(logType = LogTypeEnum.UPDATE)
     @Deprecated
     public Result restartServiceUnit(@ApiParam(value = "服务单元id", required = true) @RequestParam String id) {
         tbServiceService.restartServiceUnit(SystemConstant.convertIdToLong(id));

+ 4 - 4
sop-api/src/main/java/com/qmth/sop/server/api/TBServiceRegionController.java

@@ -2,11 +2,12 @@ package com.qmth.sop.server.api;
 
 
 import com.qmth.boot.api.constant.ApiConstant;
-import com.qmth.sop.business.annotation.OperationLog;
 import com.qmth.sop.business.bean.params.ServiceRegionParam;
 import com.qmth.sop.business.bean.result.ServiceRegionResult;
 import com.qmth.sop.business.service.TBServiceRegionService;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.common.contant.SystemConstant;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.util.Result;
 import com.qmth.sop.common.util.ResultUtil;
 import io.swagger.annotations.*;
@@ -50,7 +51,7 @@ public class TBServiceRegionController {
     @ApiOperation(value = "服务区域规划-编辑")
     @RequestMapping(value = "/edit", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "操作成功", response = Result.class)})
-    @OperationLog
+    @OperationLog(logType = LogTypeEnum.EDIT)
     public Result bindCrmWithServiceBatch(@Valid @RequestBody ServiceRegionParam serviceRegionParam, BindingResult bindingResult) {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -61,7 +62,7 @@ public class TBServiceRegionController {
     @ApiOperation(value = "服务区域规划-删除")
     @RequestMapping(value = "/remove", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "删除成功", response = ServiceRegionResult.class)})
-    @OperationLog
+    @OperationLog(logType = LogTypeEnum.DELETE)
     public Result removeServiceRegion(@ApiParam(value = "服务单元id") @RequestParam(required = false) String serviceRegionId) {
         tbServiceRegionService.removeServiceRegion(SystemConstant.convertIdToLong(serviceRegionId));
         return ResultUtil.ok();
@@ -70,7 +71,6 @@ public class TBServiceRegionController {
     @ApiOperation(value = "服务区域规划-查询可选大区经理")
     @RequestMapping(value = "/find_leader", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = ServiceRegionResult.class)})
-    @OperationLog
     public Result findCanChooseLeader(@ApiParam(value = "服务单元id") @RequestParam(required = false) String serviceUnitId) {
         return ResultUtil.ok(tbServiceRegionService.findCanChooseLeader(SystemConstant.convertIdToLong(serviceUnitId)));
     }

+ 4 - 5
sop-api/src/main/java/com/qmth/sop/server/api/TBServiceScopeController.java

@@ -2,11 +2,12 @@ package com.qmth.sop.server.api;
 
 
 import com.qmth.boot.api.constant.ApiConstant;
-import com.qmth.sop.business.annotation.OperationLog;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.business.bean.params.ServiceScopeParam;
 import com.qmth.sop.business.bean.result.CrmServiceResult;
 import com.qmth.sop.business.service.TBCrmService;
 import com.qmth.sop.common.contant.SystemConstant;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.enums.ProductTypeEnum;
 import com.qmth.sop.common.util.Result;
 import com.qmth.sop.common.util.ResultUtil;
@@ -52,7 +53,6 @@ public class TBServiceScopeController {
     @ApiOperation(value = "服务范围管理-新增服务范围-未绑定派单分页查询")
     @RequestMapping(value = "/unbind/page", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = CrmServiceResult.class)})
-    @OperationLog
     public Result findUnbindOrderPage(@ApiParam(value = "派单人") @RequestParam(required = false) String crmUserId,
                                       @ApiParam(value = "客户类型") @RequestParam(required = false) ProductTypeEnum productType,
                                       @ApiParam(value = "客户名称") @RequestParam(required = false) String customName,
@@ -67,7 +67,7 @@ public class TBServiceScopeController {
     @ApiOperation(value = "服务范围管理-批量划定派单和服务单元关系")
     @RequestMapping(value = "/bind_batch", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "操作成功", response = Result.class)})
-    @OperationLog
+    @OperationLog(logType = LogTypeEnum.UPDATE)
     public Result bindCrmWithServiceBatch(@Valid @RequestBody ServiceScopeParam serviceScopeParam, BindingResult bindingResult) {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -79,7 +79,7 @@ public class TBServiceScopeController {
     @ApiOperation(value = "服务范围管理-移出")
     @RequestMapping(value = "/unbind", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "操作成功", response = Result.class)})
-    @OperationLog
+    @OperationLog(logType = LogTypeEnum.UPDATE)
     public Result unbind(@ApiParam(value = "派单id") @RequestParam(required = false) String crmId) {
         tbCrmService.unbindCrmWithService(SystemConstant.convertIdToLong(crmId));
         return ResultUtil.ok();
@@ -88,7 +88,6 @@ public class TBServiceScopeController {
     @ApiOperation(value = "服务范围管理-派单小计")
     @RequestMapping(value = "/subTotal", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
-    @OperationLog
     public Result findCrmSubTotalData(@ApiParam(value = "服务单元id") @RequestParam(required = false) String serviceUnitId,
                                       @ApiParam(value = "城市") @RequestParam(required = false) String city,
                                       @ApiParam(value = "客户类型") @RequestParam(required = false) ProductTypeEnum productType,

+ 12 - 3
sop-api/src/main/java/com/qmth/sop/server/api/TBSopInfoController.java

@@ -12,8 +12,10 @@ import com.qmth.sop.business.entity.SysUser;
 import com.qmth.sop.business.entity.TDFormWidgetMetadata;
 import com.qmth.sop.business.service.TBSopInfoService;
 import com.qmth.sop.business.service.TDFormWidgetMetadataService;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.common.contant.SystemConstant;
 import com.qmth.sop.common.enums.ExceptionResultEnum;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.enums.TFCustomTypeEnum;
 import com.qmth.sop.common.util.Result;
 import com.qmth.sop.common.util.ResultUtil;
@@ -61,6 +63,7 @@ public class TBSopInfoController {
     @ApiOperation(value = "sop元数据修改")
     @RequestMapping(value = "/metadata/save", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.UPDATE)
     public Result metadataSave(@Valid @ApiParam(value = "元数据保存信息", required = true) @RequestBody List<TDFormWidgetMetadata> formWidgetMetadataList, BindingResult bindingResult) {
         return ResultUtil.ok(tdFormWidgetMetadataService.save(formWidgetMetadataList));
     }
@@ -68,6 +71,7 @@ public class TBSopInfoController {
     @ApiOperation(value = "sop申请")
     @RequestMapping(value = "/apply", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.UN_KNOW)
     public Result apply(@Valid @ApiParam(value = "sop申请信息", required = true) @RequestBody SopApplyParam sopApplyParam, BindingResult bindingResult) throws InterruptedException {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -78,6 +82,7 @@ public class TBSopInfoController {
     @ApiOperation(value = "sop填报")
     @RequestMapping(value = "/approve", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.UN_KNOW)
     public Result approve(@Valid @ApiParam(value = "sop填报信息", required = true) @RequestBody FlowApproveParam flowApproveParam, BindingResult bindingResult) throws InterruptedException {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -98,14 +103,16 @@ public class TBSopInfoController {
     @ApiOperation(value = "sop作废")
     @RequestMapping(value = "/cancel", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
-    public Result cancel(@ApiParam(value = "流程id", required = true) @RequestParam Long flowId) throws InterruptedException {
+    @OperationLog(logType = LogTypeEnum.DELETE)
+    public Result cancel(@ApiParam(value = "流程id", required = true) @RequestParam Long flowId) {
         return ResultUtil.ok(activitiService.flowEnd(flowId));
     }
 
     @ApiOperation(value = "sop批量作废")
     @RequestMapping(value = "/batch/cancel", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
-    public Result batchCancel(@ApiParam(value = "流程id数组", required = true) @RequestBody List<Long> flowIds) throws InterruptedException {
+    @OperationLog(logType = LogTypeEnum.DELETE)
+    public Result batchCancel(@ApiParam(value = "流程id数组", required = true) @RequestBody List<Long> flowIds) {
         if (CollectionUtils.isEmpty(flowIds)) {
             throw ExceptionResultEnum.ERROR.exception("流程id数组不能为空");
         }
@@ -118,6 +125,7 @@ public class TBSopInfoController {
     @ApiOperation(value = "sop编辑")
     @RequestMapping(value = "/edit", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = FlowResult.class)})
+    @OperationLog(logType = LogTypeEnum.EDIT)
     public Result edit(@ApiParam(value = "sopId", required = true) @RequestParam Long id) throws InterruptedException {
         return ResultUtil.ok(tbSopInfoService.sopEdit(id));
     }
@@ -125,6 +133,7 @@ public class TBSopInfoController {
     @ApiOperation(value = "sop保存")
     @RequestMapping(value = "/save", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.EDIT)
     public Result save(@Valid @ApiParam(value = "sop保存信息", required = true) @RequestBody SopSaveParam sopSaveParam, BindingResult bindingResult) throws InterruptedException {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -138,4 +147,4 @@ public class TBSopInfoController {
     public Result userList(@ApiParam(value = "sopId", required = true) @RequestParam Long sop_info_id) {
         return ResultUtil.ok(tbSopInfoService.userList(sop_info_id));
     }
-}
+}

+ 6 - 10
sop-api/src/main/java/com/qmth/sop/server/api/TBUserArchivesAllocationController.java

@@ -2,7 +2,6 @@ package com.qmth.sop.server.api;
 
 
 import com.qmth.boot.api.constant.ApiConstant;
-import com.qmth.sop.business.annotation.OperationLog;
 import com.qmth.sop.business.bean.params.AutoAllocationParam;
 import com.qmth.sop.business.bean.params.UserArchivesAllocationParam;
 import com.qmth.sop.business.bean.result.ArchivesSourceResult;
@@ -11,7 +10,9 @@ import com.qmth.sop.business.bean.result.UserArchivesAllocationResult;
 import com.qmth.sop.business.bean.result.UserArchivesAllocationSubTotalResult;
 import com.qmth.sop.business.service.TBUserArchivesAllocationService;
 import com.qmth.sop.business.service.TBUserArchivesService;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.common.contant.SystemConstant;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.enums.RoleTypeEnum;
 import com.qmth.sop.common.util.Result;
 import com.qmth.sop.common.util.ResultUtil;
@@ -45,7 +46,6 @@ public class TBUserArchivesAllocationController {
     @ApiOperation(value = "人员调配管理-分页查询")
     @RequestMapping(value = "/page", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = UserArchivesAllocationResult.class)})
-    @OperationLog
     public Result findUserArchivesAllocationPage(@ApiParam(value = "服务单元id") @RequestParam(required = false) String serviceUnitId,
                                                  @ApiParam(value = "省") @RequestParam(required = false) String province,
                                                  @ApiParam(value = "市") @RequestParam(required = false) String city,
@@ -61,7 +61,6 @@ public class TBUserArchivesAllocationController {
     @ApiOperation(value = "人员调配管理-小计查询")
     @RequestMapping(value = "/sub_total", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = UserArchivesAllocationSubTotalResult.class)})
-    @OperationLog
     public Result findUserArchivesAllocationSubTotal(@ApiParam(value = "服务单元id") @RequestParam(required = false) String serviceUnitId,
                                                      @ApiParam(value = "省") @RequestParam(required = false) String province,
                                                      @ApiParam(value = "市") @RequestParam(required = false) String city,
@@ -75,7 +74,6 @@ public class TBUserArchivesAllocationController {
     @ApiOperation(value = "人员调配管理-根据派单号查询派单分配信息")
     @RequestMapping(value = "/detail_by_crm_no", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = CrmArchivesAllocationResult.class)})
-    @OperationLog
     public Result findDetailByCrmNo(@ApiParam(value = "派单号", required = true) @RequestParam String crmNo) {
         return ResultUtil.ok(tbUserArchivesAllocationService.findAllocationByCrmNo(crmNo));
     }
@@ -83,7 +81,7 @@ public class TBUserArchivesAllocationController {
     @ApiOperation(value = "人员调配管理-调配")
     @RequestMapping(value = "/edit", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "更新成功", response = Result.class)})
-    @OperationLog
+    @OperationLog(logType = LogTypeEnum.EDIT)
     public Result edit(@Valid @RequestBody UserArchivesAllocationParam userArchivesAllocationParam, BindingResult bindingResult) {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -95,7 +93,7 @@ public class TBUserArchivesAllocationController {
     @ApiOperation(value = "人员调配管理-自动调配")
     @RequestMapping(value = "/auto_edit", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "更新成功", response = Result.class)})
-    @OperationLog
+    @OperationLog(logType = LogTypeEnum.EDIT)
     public Result autoEdit(@Valid @RequestBody AutoAllocationParam allocationParam, BindingResult bindingResult) {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -107,7 +105,7 @@ public class TBUserArchivesAllocationController {
     @ApiOperation(value = "人员调配管理-发布")
     @RequestMapping(value = "/publish", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "发布成功", response = Result.class)})
-    @OperationLog
+    @OperationLog(logType = LogTypeEnum.UPDATE)
     public Result publishCrmSop(@ApiParam(value = "派单号", required = true) @RequestParam String crmNo) throws InterruptedException {
         tbUserArchivesAllocationService.publishSop(crmNo);
         return ResultUtil.ok();
@@ -116,7 +114,7 @@ public class TBUserArchivesAllocationController {
     @ApiOperation(value = "人员调配管理-撤销发布")
     @RequestMapping(value = "/un_publish", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "作废成功", response = Result.class)})
-    @OperationLog
+    @OperationLog(logType = LogTypeEnum.UPDATE)
     public Result unPublishCrmSop(@ApiParam(value = "派单号", required = true) @RequestParam String crmNo) {
         tbUserArchivesAllocationService.unPublishSop(crmNo);
         return ResultUtil.ok();
@@ -125,7 +123,6 @@ public class TBUserArchivesAllocationController {
     @ApiOperation(value = "人员调配管理-查询空闲工程师")
     @RequestMapping(value = "/free_engineer", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = ArchivesSourceResult.class)})
-    @OperationLog
     public Result findFreeEngineer(@ApiParam(value = "工程师类型", required = true) @RequestParam RoleTypeEnum roleType,
                                    @ApiParam(value = "派单号") @RequestParam(required = false) String crmNo) {
         return ResultUtil.ok(tbUserArchivesService.findFreeEngineerSourceByType(roleType, crmNo));
@@ -134,7 +131,6 @@ public class TBUserArchivesAllocationController {
     @ApiOperation(value = "人员调配管理-查询空闲区域协调人")
     @RequestMapping(value = "/free_coordinator", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = ArchivesSourceResult.class)})
-    @OperationLog
     public Result findFreeCoordinator(@ApiParam(value = "服务单元id", required = true) @RequestParam String serviceUnitId,
                                       @ApiParam(value = "派单号") @RequestParam(required = false) String crmNo) {
         return ResultUtil.ok(tbUserArchivesService.findFreeCoordinatorByServiceId(SystemConstant.convertIdToLong(serviceUnitId), crmNo));

+ 6 - 10
sop-api/src/main/java/com/qmth/sop/server/api/TBUserArchivesController.java

@@ -1,7 +1,6 @@
 package com.qmth.sop.server.api;
 
 import com.qmth.boot.api.constant.ApiConstant;
-import com.qmth.sop.business.annotation.OperationLog;
 import com.qmth.sop.business.bean.params.UserArchivesParam;
 import com.qmth.sop.business.bean.query.UserArchivesQuery;
 import com.qmth.sop.business.bean.result.UserArchivesResult;
@@ -13,11 +12,9 @@ import com.qmth.sop.business.service.TBTaskService;
 import com.qmth.sop.business.service.TBUserArchivesService;
 import com.qmth.sop.business.templete.execute.AsyncUserArchivesExportService;
 import com.qmth.sop.business.templete.execute.AsyncUserArchivesImportService;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.common.contant.SystemConstant;
-import com.qmth.sop.common.enums.ExceptionResultEnum;
-import com.qmth.sop.common.enums.RoleTypeEnum;
-import com.qmth.sop.common.enums.SequenceEnum;
-import com.qmth.sop.common.enums.TaskTypeEnum;
+import com.qmth.sop.common.enums.*;
 import com.qmth.sop.common.util.Result;
 import com.qmth.sop.common.util.ResultUtil;
 import com.qmth.sop.common.util.ServletUtil;
@@ -66,7 +63,6 @@ public class TBUserArchivesController {
     @ApiOperation(value = "人员档案管理-分页查询")
     @RequestMapping(value = "/page", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = UserArchivesResult.class)})
-    @OperationLog
     public Result findUserArchivesPage(@ApiParam(value = "城市") @RequestParam(required = false) String city,
                                        @ApiParam(value = "供应商") @RequestParam(required = false) String supplierId,
                                        @ApiParam(value = "档案名称") @RequestParam(required = false) String archivesName,
@@ -85,7 +81,6 @@ public class TBUserArchivesController {
     @ApiOperation(value = "人员档案管理-小计")
     @RequestMapping(value = "/sub_total", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = UserArchivesSubTotalResult.class)})
-    @OperationLog
     public Result findUserArchivesSubTotal(@ApiParam(value = "城市") @RequestParam(required = false) String city,
                                            @ApiParam(value = "供应商") @RequestParam(required = false) String supplierId,
                                            @ApiParam(value = "档案名称") @RequestParam(required = false) String archivesName,
@@ -101,7 +96,6 @@ public class TBUserArchivesController {
     @ApiOperation(value = "人员档案管理-生成编号")
     @RequestMapping(value = "/create_code", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
-    @OperationLog
     public Result createUserArchivesCode() throws InterruptedException {
         return ResultUtil.ok(sequenceService.createSerialNo(SequenceEnum.USER_ARCHIVES_CODE), ExceptionResultEnum.SUCCESS.getMessage());
     }
@@ -109,7 +103,7 @@ public class TBUserArchivesController {
     @ApiOperation(value = "人员档案管理-编辑")
     @RequestMapping(value = "/edit", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "更新成功", response = Result.class)})
-    @OperationLog
+    @OperationLog(logType = LogTypeEnum.EDIT)
     public Result editUserArchives(@Valid @RequestBody UserArchivesParam userArchivesParam, BindingResult bindingResult) throws InterruptedException {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -121,6 +115,7 @@ public class TBUserArchivesController {
     @ApiOperation(value = "人员档案导入")
     @RequestMapping(value = "/import", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.IMPORT)
     public Result importUserArchives(@ApiParam(value = "上传文件", required = true) @RequestParam MultipartFile file) throws Exception {
         Map<String, Object> map = tbTaskService.saveTask(file, TaskTypeEnum.USER_ARCHIVES_IMPORT);
         asyncUserArchivesImportService.importTask(map);
@@ -131,6 +126,7 @@ public class TBUserArchivesController {
     @ApiOperation(value = "人员档案导出")
     @RequestMapping(value = "/export", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.EXPORT)
     public Result exportUserArchives(@ApiParam(value = "城市") @RequestParam(required = false) String city,
                                      @ApiParam(value = "供应商") @RequestParam(required = false) String supplierId,
                                      @ApiParam(value = "档案名") @RequestParam(required = false) String archivesName,
@@ -158,7 +154,7 @@ public class TBUserArchivesController {
     @ApiOperation(value = "人员档案管理-作废")
     @RequestMapping(value = "/cancel", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "作废成功", response = Result.class)})
-    @OperationLog
+    @OperationLog(logType = LogTypeEnum.UPDATE)
     public Result cancelUserArchives(@ApiParam(value = "人员档案id集合", required = true) @RequestParam List<String> idList) {
         if (CollectionUtils.isNotEmpty(idList)) {
             List<Long> archivesIdList = idList.stream().map(SystemConstant::convertIdToLong).collect(Collectors.toList());

+ 6 - 4
sop-api/src/main/java/com/qmth/sop/server/api/TBViolationController.java

@@ -1,16 +1,16 @@
 package com.qmth.sop.server.api;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.qmth.boot.api.annotation.Aac;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.sop.business.bean.result.TBViolationResult;
 import com.qmth.sop.business.entity.SysUser;
 import com.qmth.sop.business.entity.TBViolation;
 import com.qmth.sop.business.service.SysUserService;
 import com.qmth.sop.business.service.TBViolationService;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.common.contant.SystemConstant;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.enums.ViolationStatusEnum;
 import com.qmth.sop.common.enums.ViolationTypeEnum;
 import com.qmth.sop.common.util.Result;
@@ -65,10 +65,10 @@ public class TBViolationController {
         return ResultUtil.ok(resultIPage);
     }
 
-//    @Aac(auth=false)
     @ApiOperation(value = "sop违规登记表新增修改接口")
     @RequestMapping(value = "/save", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.EDIT)
     public Result save(@Valid @ApiParam(value = "sop违规登记表信息", required = true) @RequestBody(required = true) TBViolation tBViolation, BindingResult bindingResult) throws InterruptedException {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -82,6 +82,7 @@ public class TBViolationController {
     @ApiOperation(value = "关闭违规登记")
     @RequestMapping(value = "/close", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "关闭成功")})
+    @OperationLog(logType = LogTypeEnum.UPDATE)
     public Result close(@ApiParam(value = "违规登记id", required = true) @RequestParam(required = true) long id) {
         TBViolation tBViolation = tBViolationService.getById(id);
         tBViolation.setStatus(ViolationStatusEnum.CLOSE);
@@ -94,6 +95,7 @@ public class TBViolationController {
     @ApiOperation(value = "重启违规登记")
     @RequestMapping(value = "/restart", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "重启成功")})
+    @OperationLog(logType = LogTypeEnum.UPDATE)
     public Result restart(@ApiParam(value = "违规登记id", required = true) @RequestParam(required = true) long id) {
         TBViolation tBViolation = tBViolationService.getById(id);
         tBViolation.setStatus(ViolationStatusEnum.RESTART);
@@ -101,7 +103,6 @@ public class TBViolationController {
     }
 
 
-
     //根据code的获取详细信息
     @ApiOperation(value = "sop违规登记表获取单个接口")
     @RequestMapping(value = "/getByCode", method = RequestMethod.GET)
@@ -109,6 +110,7 @@ public class TBViolationController {
     public Result getByCode(@ApiParam(value = "sop违规登记表code", required = true) @RequestParam String code) {
         return ResultUtil.ok(tBViolationService.getByCode(code));
     }
+
     //获取创建者list
     @ApiOperation(value = "获取创建者list")
     @RequestMapping(value = "/creator/list", method = RequestMethod.POST)

+ 3 - 0
sop-api/src/main/java/com/qmth/sop/server/api/TBViolationDetailController.java

@@ -5,7 +5,9 @@ import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.sop.business.entity.SysUser;
 import com.qmth.sop.business.entity.TBViolationDetail;
 import com.qmth.sop.business.service.TBViolationDetailService;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.common.contant.SystemConstant;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.util.Result;
 import com.qmth.sop.common.util.ResultUtil;
 import io.swagger.annotations.*;
@@ -49,6 +51,7 @@ public class TBViolationDetailController {
     @ApiOperation(value = "违规明细表新增修改接口")
     @RequestMapping(value = "/save", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.EDIT)
     public Result save(@Valid @ApiParam(value = "违规明细表信息", required = true) @RequestBody(required = true) TBViolationDetail tBViolationDetail, BindingResult bindingResult) throws InterruptedException {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());

+ 8 - 0
sop-api/src/main/java/com/qmth/sop/server/api/TFCustomFlowController.java

@@ -9,9 +9,11 @@ import com.qmth.sop.business.bean.result.FlowViewResult;
 import com.qmth.sop.business.bean.result.WorkTaskResult;
 import com.qmth.sop.business.entity.TFCustomFlow;
 import com.qmth.sop.business.service.TFCustomFlowService;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.common.contant.SystemConstant;
 import com.qmth.sop.common.enums.ExceptionResultEnum;
 import com.qmth.sop.common.enums.FlowTaskTypeEnum;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.enums.TFCustomTypeEnum;
 import com.qmth.sop.common.util.Result;
 import com.qmth.sop.common.util.ResultUtil;
@@ -54,6 +56,7 @@ public class TFCustomFlowController {
     @ApiOperation(value = "创建流程接口")
     @RequestMapping(value = "/createDeployment", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.ADD)
     public Result createDeployment() throws Exception {
         return ResultUtil.ok(activitiService.createDeployment(Arrays.asList(TFCustomTypeEnum.OFFICE_SOP_FLOW, TFCustomTypeEnum.CLOUD_MARK_SOP_FLOW, TFCustomTypeEnum.DING_EXCEPTION_FLOW, TFCustomTypeEnum.PROJECT_EXCHANGE_FLOW, TFCustomTypeEnum.QUALITY_PROBLEM_FLOW)));
     }
@@ -61,6 +64,7 @@ public class TFCustomFlowController {
     @ApiOperation(value = "上传流程接口")
     @RequestMapping(value = "/upload", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.UN_KNOW)
     public Result upload(@ApiParam(required = true, value = "上传文件") @RequestParam MultipartFile file) throws Exception {
         return ResultUtil.ok(activitiService.upload(file));
     }
@@ -92,6 +96,7 @@ public class TFCustomFlowController {
     @ApiOperation(value = "流程审批接口")
     @RequestMapping(value = "/approve", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.UN_KNOW)
     public Result approve(@Valid @ApiParam(value = "流程审批信息", required = true) @RequestBody FlowApproveParam flowApproveParam, BindingResult bindingResult) throws InterruptedException {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
@@ -129,6 +134,7 @@ public class TFCustomFlowController {
     @ApiOperation(value = "结束流程接口")
     @RequestMapping(value = "/delete", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.UN_KNOW)
     public Result delete(@ApiParam(value = "流程id", required = true) Long flowId) {
         return ResultUtil.ok(activitiService.flowEnd(flowId));
     }
@@ -136,6 +142,7 @@ public class TFCustomFlowController {
     @ApiOperation(value = "批量结束流程接口")
     @RequestMapping(value = "/batch/delete", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.UN_KNOW)
     public Result batchDelete(@ApiParam(value = "流程id数组", required = true) @RequestBody List<Long> flowIds) {
         if (CollectionUtils.isEmpty(flowIds)) {
             throw ExceptionResultEnum.PARAMS_ERROR.exception("流程id数组不能为空");
@@ -146,6 +153,7 @@ public class TFCustomFlowController {
     @ApiOperation(value = "流程转办接口")
     @RequestMapping(value = "/task/approver/exchange", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @OperationLog(logType = LogTypeEnum.UN_KNOW)
     public Result taskApproverExchange(@ApiParam(value = "用户id", required = true) @RequestParam Long userId,
                                        @ApiParam(value = "流程任务id", required = true) @RequestParam Long taskId) {
         return ResultUtil.ok(activitiService.taskApproverExchange(userId, taskId));

+ 3 - 3
sop-business/src/main/java/com/qmth/sop/business/aspect/LogAspect.java

@@ -3,8 +3,8 @@ package com.qmth.sop.business.aspect;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.qmth.boot.api.exception.ApiException;
-import com.qmth.sop.business.annotation.EditKey;
-import com.qmth.sop.business.annotation.OperationLog;
+import com.qmth.sop.common.annotation.EditKey;
+import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.business.bean.dto.LogArgsDto;
 import com.qmth.sop.business.entity.SysLog;
 import com.qmth.sop.business.entity.SysPrivilege;
@@ -57,7 +57,7 @@ public class LogAspect {
     /**
      * 日志注解切入点
      */
-    @Pointcut("@annotation(com.qmth.sop.business.annotation.OperationLog)")
+    @Pointcut("@annotation(com.qmth.sop.common.annotation.OperationLog)")
     public void operationLog() {
 
     }

+ 1 - 1
sop-business/src/main/java/com/qmth/sop/business/bean/params/ServiceRegionParam.java

@@ -2,7 +2,7 @@ package com.qmth.sop.business.bean.params;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.qmth.sop.business.annotation.EditKey;
+import com.qmth.sop.common.annotation.EditKey;
 import com.qmth.sop.business.bean.dto.AreaDto;
 import io.swagger.annotations.ApiModelProperty;
 import org.hibernate.validator.constraints.Range;

+ 1 - 1
sop-business/src/main/java/com/qmth/sop/business/bean/params/ServiceUnitParam.java

@@ -2,7 +2,7 @@ package com.qmth.sop.business.bean.params;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.qmth.sop.business.annotation.EditKey;
+import com.qmth.sop.common.annotation.EditKey;
 import com.qmth.sop.common.enums.ProductTypeEnum;
 import io.swagger.annotations.ApiModelProperty;
 import org.hibernate.validator.constraints.Range;

+ 2 - 0
sop-business/src/main/java/com/qmth/sop/business/bean/params/SysRolePrivilegeParam.java

@@ -2,6 +2,7 @@ package com.qmth.sop.business.bean.params;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.sop.common.annotation.EditKey;
 import io.swagger.annotations.ApiModelProperty;
 import org.hibernate.validator.constraints.Length;
 
@@ -19,6 +20,7 @@ public class SysRolePrivilegeParam implements Serializable {
 
     @ApiModelProperty("角色id")
     @JsonSerialize(using = ToStringSerializer.class)
+    @EditKey
     private Long id;
 
     @ApiModelProperty("角色名称")

+ 2 - 0
sop-business/src/main/java/com/qmth/sop/business/bean/params/UserArchivesParam.java

@@ -2,6 +2,7 @@ package com.qmth.sop.business.bean.params;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.sop.common.annotation.EditKey;
 import com.qmth.sop.common.enums.EducationEnum;
 import com.qmth.sop.common.enums.GenderEnum;
 import io.swagger.annotations.ApiModelProperty;
@@ -19,6 +20,7 @@ import javax.validation.constraints.NotNull;
 public class UserArchivesParam {
     @ApiModelProperty(value = "档案id")
     @JsonSerialize(using = ToStringSerializer.class)
+    @EditKey
     private Long id;
 
     @ApiModelProperty(value = "编号")

+ 2 - 0
sop-business/src/main/java/com/qmth/sop/business/entity/TBDelayWarnDetail.java

@@ -3,6 +3,7 @@ package com.qmth.sop.business.entity;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.sop.common.annotation.EditKey;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -25,6 +26,7 @@ public class TBDelayWarnDetail implements Serializable {
 
     @ApiModelProperty(value = "主键")
     @JsonSerialize(using = ToStringSerializer.class)
+    @EditKey
     private Long id;
 
     @ApiModelProperty(value = "延期预警id")

+ 2 - 0
sop-business/src/main/java/com/qmth/sop/business/entity/TBViolationDetail.java

@@ -3,6 +3,7 @@ package com.qmth.sop.business.entity;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.sop.common.annotation.EditKey;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -25,6 +26,7 @@ public class TBViolationDetail implements Serializable {
 
     @ApiModelProperty(value = "主键")
     @JsonSerialize(using = ToStringSerializer.class)
+    @EditKey
     private Long id;
 
     @ApiModelProperty(value = "违规id")

+ 10 - 0
sop-business/src/main/java/com/qmth/sop/business/service/SysLogService.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.sop.business.bean.result.SysLogResult;
 import com.qmth.sop.business.entity.SysLog;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import org.apache.ibatis.annotations.Param;
 
 /**
@@ -28,4 +29,13 @@ public interface SysLogService extends IService<SysLog> {
      * @return 分页结果
      */
     IPage<SysLogResult> page(Long startTime, Long endTime, String content, int pageNumber, int pageSize);
+
+    /**
+     * 没有登录信息时记录用户操作(eg.用户登录)
+     *
+     * @param userId  用户id
+     * @param detail  操作信息
+     * @param logType 操作类型
+     */
+    void saveLogWithNoAuth(Long userId, String detail, LogTypeEnum logType);
 }

+ 46 - 0
sop-business/src/main/java/com/qmth/sop/business/service/impl/SysLogServiceImpl.java

@@ -4,11 +4,26 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.sop.business.bean.result.SysLogResult;
 import com.qmth.sop.business.entity.SysLog;
+import com.qmth.sop.business.entity.SysRole;
+import com.qmth.sop.business.entity.SysUser;
 import com.qmth.sop.business.mapper.SysLogMapper;
 import com.qmth.sop.business.service.SysLogService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.sop.business.service.SysUserRoleService;
+import com.qmth.sop.business.service.SysUserService;
 import com.qmth.sop.common.contant.SystemConstant;
+import com.qmth.sop.common.enums.ExceptionResultEnum;
+import com.qmth.sop.common.enums.LogTypeEnum;
+import com.qmth.sop.common.util.ServletUtil;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -20,6 +35,10 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class SysLogServiceImpl extends ServiceImpl<SysLogMapper, SysLog> implements SysLogService {
+    @Resource
+    private SysUserService sysUserService;
+    @Resource
+    private SysUserRoleService sysUserRoleService;
 
     @Override
     public IPage<SysLogResult> page(Long startTime, Long endTime, String content, int pageNumber, int pageSize) {
@@ -28,4 +47,31 @@ public class SysLogServiceImpl extends ServiceImpl<SysLogMapper, SysLog> impleme
         }
         return this.baseMapper.page(new Page<>(pageNumber, pageSize), startTime, endTime, content);
     }
+
+    @Transactional
+    @Override
+    public void saveLogWithNoAuth(Long userId, String detail, LogTypeEnum logType) {
+        HttpServletRequest request = ServletUtil.getRequest();
+        SysUser requestUser = sysUserService.getById(userId);
+        if (Objects.isNull(requestUser)) {
+            throw ExceptionResultEnum.ERROR.exception("用户不存在");
+        }
+
+        List<SysRole> sysRoleList = sysUserRoleService.listRoleByUserId(requestUser.getId());
+        detail = requestUser.getRealName() + " " + detail;
+        if (CollectionUtils.isNotEmpty(sysRoleList)) {
+            String roleNames = sysRoleList.stream().map(SysRole::getName).collect(Collectors.joining(","));
+            detail = "[" + roleNames + "] " + detail;
+        }
+
+        SysLog sysLog = new SysLog();
+        sysLog.setId(SystemConstant.getDbUuid());
+        sysLog.setUrl(request.getServletPath());
+        sysLog.setUserId(userId);
+        sysLog.setUserName(requestUser.getRealName());
+        sysLog.setContent(detail);
+        sysLog.setType(logType);
+        sysLog.setCreateTime(System.currentTimeMillis());
+        this.save(sysLog);
+    }
 }

+ 26 - 3
sop-business/src/main/java/com/qmth/sop/business/service/impl/TWxappInfoServiceImpl.java

@@ -10,11 +10,13 @@ import com.qmth.sop.business.bean.result.LoginResult;
 import com.qmth.sop.business.entity.SysUser;
 import com.qmth.sop.business.entity.TWxappInfo;
 import com.qmth.sop.business.mapper.TWxappInfoMapper;
+import com.qmth.sop.business.service.SysLogService;
 import com.qmth.sop.business.service.SysUserService;
 import com.qmth.sop.business.service.TWxappInfoService;
 import com.qmth.sop.common.contant.SystemConstant;
 import com.qmth.sop.common.enums.AppSourceEnum;
 import com.qmth.sop.common.enums.ExceptionResultEnum;
+import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.util.ByteUtil;
 import com.qmth.sop.common.util.ShaUtils;
 import org.springframework.beans.factory.annotation.Value;
@@ -55,6 +57,9 @@ public class TWxappInfoServiceImpl extends ServiceImpl<TWxappInfoMapper, TWxappI
     @Value("${wxapp.appid}")
     String wxappId;
 
+    @Resource
+    SysLogService sysLogService;
+
     /**
      * 微信登录
      *
@@ -78,7 +83,13 @@ public class TWxappInfoServiceImpl extends ServiceImpl<TWxappInfoMapper, TWxappI
         if (!sysUser.getEnable()) {
             throw ExceptionResultEnum.ERROR.exception("该用户已禁用");
         }
-        return sysUserService.login(sysUser.getPassword(), sysUser, AppSourceEnum.SYSTEM);
+        LoginResult result = sysUserService.login(sysUser.getPassword(), sysUser, AppSourceEnum.SYSTEM);
+        try {
+            sysLogService.saveLogWithNoAuth(sysUser.getId(), "用户登录", LogTypeEnum.LOGIN);
+        } catch (Exception e) {
+            log.error(e.getMessage());
+        }
+        return result;
     }
 
     /**
@@ -112,7 +123,13 @@ public class TWxappInfoServiceImpl extends ServiceImpl<TWxappInfoMapper, TWxappI
         TWxappInfo tWxappInfo = tWxappInfoService.getOne(new QueryWrapper<TWxappInfo>().lambda().eq(TWxappInfo::getOpenId, openId));
         tWxappInfo = Objects.isNull(tWxappInfo) ? new TWxappInfo(openId, wxappPhoneNumber.getPurePhoneNumber()) : tWxappInfo;
         tWxappInfoService.saveOrUpdate(tWxappInfo);
-        return sysUserService.login(sysUser.getPassword(), sysUser, AppSourceEnum.SYSTEM);
+        LoginResult result = sysUserService.login(sysUser.getPassword(), sysUser, AppSourceEnum.SYSTEM);
+        try {
+            sysLogService.saveLogWithNoAuth(sysUser.getId(), "用户登录", LogTypeEnum.LOGIN);
+        } catch (Exception e) {
+            log.error(e.getMessage());
+        }
+        return result;
     }
 
     /**
@@ -144,7 +161,13 @@ public class TWxappInfoServiceImpl extends ServiceImpl<TWxappInfoMapper, TWxappI
         TWxappInfo tWxappInfo = tWxappInfoService.getOne(new QueryWrapper<TWxappInfo>().lambda().eq(TWxappInfo::getOpenId, openId));
         tWxappInfo = Objects.isNull(tWxappInfo) ? new TWxappInfo(openId, phone) : tWxappInfo;
         tWxappInfoService.saveOrUpdate(tWxappInfo);
-        return sysUserService.login(sysUser.getPassword(), sysUser, AppSourceEnum.SYSTEM);
+        LoginResult result = sysUserService.login(sysUser.getPassword(), sysUser, AppSourceEnum.SYSTEM);
+        try {
+            sysLogService.saveLogWithNoAuth(sysUser.getId(), "用户登录", LogTypeEnum.LOGIN);
+        } catch (Exception e) {
+            log.error(e.getMessage());
+        }
+        return result;
     }
 
     /**

+ 1 - 1
sop-business/src/main/java/com/qmth/sop/business/annotation/EditKey.java → sop-common/src/main/java/com/qmth/sop/common/annotation/EditKey.java

@@ -1,4 +1,4 @@
-package com.qmth.sop.business.annotation;
+package com.qmth.sop.common.annotation;
 
 import java.lang.annotation.*;
 

+ 1 - 1
sop-business/src/main/java/com/qmth/sop/business/annotation/OperationLog.java → sop-common/src/main/java/com/qmth/sop/common/annotation/OperationLog.java

@@ -1,4 +1,4 @@
-package com.qmth.sop.business.annotation;
+package com.qmth.sop.common.annotation;
 
 import com.qmth.sop.common.enums.LogTypeEnum;
 

+ 2 - 0
sop-common/src/main/java/com/qmth/sop/common/base/BaseEntity.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.sop.common.annotation.EditKey;
 import com.qmth.sop.common.contant.SystemConstant;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -23,6 +24,7 @@ public class BaseEntity implements Serializable {
     @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "主键")
     @TableId(value = "id")
+    @EditKey
     private Long id;
 
     @JsonSerialize(using = ToStringSerializer.class)

+ 1 - 1
sop-task/src/main/java/com/qmth/sop/task/start/StartRunning.java

@@ -65,7 +65,7 @@ public class StartRunning implements CommandLineRunner {
         Map<Object,Object> fxxkCrmSyncMap = new HashMap<>();
         fxxkCrmSyncMap.put(SystemConstant.NAME, FxxkCrmSyncJob.class.getName());
         quartzService.deleteJob(JobEnum.SYNC_FXXK_CRM.name(), JobEnum.SYNC_FXXK_CRM_GROUP.name());
-        quartzService.addJob(FxxkCrmSyncJob.class, JobEnum.SYNC_FXXK_CRM.name(), JobEnum.SYNC_FXXK_CRM_GROUP.name(), "0 0/5 6-23 * * ?", fxxkCrmSyncMap);
+        quartzService.addJob(FxxkCrmSyncJob.class, JobEnum.SYNC_FXXK_CRM.name(), JobEnum.SYNC_FXXK_CRM_GROUP.name(), "0 0/1 6-23 * * ?", fxxkCrmSyncMap);
         log.info("fxxk派单同步定时任务 end");
 
         log.info("服务器启动时执行 end");