From 40bfb646d1b962d33841c1ebbceb0dd7cb668bfb Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期二, 29 四月 2025 14:54:04 +0800 Subject: [PATCH] 后台日志管理 --- springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/aspectj/OperLogAspect.java | 211 ++++++++++++++++++++++++++++-- springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemPostController.java | 10 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/BannerController.java | 10 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IPartyMemberService.java | 4 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/ProblemTypeController.java | 10 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemUserController.java | 13 + springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/utils/WechatMsgUtil.java | 50 +++++++ springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/MgtComplaintController.java | 15 - springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/PartyMemberServiceImpl.java | 6 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java | 3 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/MgtPartyMemberController.java | 18 + springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/WorkOrderItemConfigController.java | 7 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintService.java | 2 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/annotation/SysLog.java | 3 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemRoleController.java | 9 15 files changed, 312 insertions(+), 59 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/annotation/SysLog.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/annotation/SysLog.java index d290461..4078e2c 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/annotation/SysLog.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/annotation/SysLog.java @@ -10,7 +10,8 @@ @Retention(RetentionPolicy.RUNTIME) @Documented public @interface SysLog { - long operUserId() default 0; // 操作模块 + // 1登录 2职位 3角色 4账号 5 问题 6banner 7党员 8党员审核 9导出 + int operId() default 0; // 操作模块 String operatorCategory() default ""; // 操作类型 业务类型(0其它 1新增 2修改 3删除) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/BannerController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/BannerController.java index 7993b37..0ea689a 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/BannerController.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/BannerController.java @@ -5,6 +5,7 @@ import com.panzhihua.common.controller.BaseController; import com.panzhihua.common.interfaces.OperLog; import com.panzhihua.common.model.vos.R; +import com.panzhihua.sangeshenbian.annotation.SysLog; import com.panzhihua.sangeshenbian.model.entity.Banner; import com.panzhihua.sangeshenbian.model.entity.SystemUser; import com.panzhihua.sangeshenbian.service.IBannerService; @@ -50,7 +51,7 @@ @PostMapping("/add") @ApiOperation(value = "添加banner", tags = {"三个身边后台-banner管理"}) - @OperLog(operModul = "三个身边后台",operType = 1, businessType = "添加banner") + @SysLog(operatorCategory = "添加banner",operId = 7) public R<Banner> add(@RequestBody Banner banner){ Integer id = this.getLoginUserInfoSanGeShenBian().getId(); SystemUser systemUser = systemUserService.getById(id); @@ -66,7 +67,7 @@ @PostMapping("/edit") @ApiOperation(value = "编辑banner", tags = {"三个身边后台-banner管理"}) - @OperLog(operModul = "三个身边后台",operType = 2, businessType = "编辑banner") + @SysLog(operatorCategory = "编辑banner",operId = 7) public R<Banner> edit(@RequestBody Banner banner){ Integer id = this.getLoginUserInfoSanGeShenBian().getId(); SystemUser systemUser = systemUserService.getById(id); @@ -80,15 +81,16 @@ @DeleteMapping("/delete/{id}") @ApiOperation(value = "删除banner", tags = {"三个身边后台-banner管理"}) - @OperLog(operModul = "三个身边后台",operType = 3, businessType = "删除banner") + @SysLog(operatorCategory = "删除banner",operId = 7) public R delete(@PathVariable("id") Integer id){ Integer id1 = this.getLoginUserInfoSanGeShenBian().getId(); SystemUser systemUser = systemUserService.getById(id1); if(systemUser.getAccountLevel() != 1){ return R.fail("删除失败,权限不足。"); } + String name = bannerService.getById(id).getName(); bannerService.update(new UpdateWrapper<Banner>().eq("id", id).set("del", 1)); - return R.ok(); + return R.ok(name); } @GetMapping("/getBannerInfo/{id}") diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/MgtComplaintController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/MgtComplaintController.java index 50d9b47..68f082c 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/MgtComplaintController.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/MgtComplaintController.java @@ -4,7 +4,7 @@ import com.panzhihua.common.controller.BaseController; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.sangeshenbian.SystemUserVo; -import com.panzhihua.sangeshenbian.model.query.ComplaintQuery; +import com.panzhihua.sangeshenbian.annotation.SysLog; import com.panzhihua.sangeshenbian.model.vo.ComplaintVO; import com.panzhihua.sangeshenbian.service.IComplaintService; import com.panzhihua.sangeshenbian.warpper.MgtComplaintQuery; @@ -13,12 +13,7 @@ import io.swagger.annotations.ApiParam; import lombok.RequiredArgsConstructor; import org.springframework.context.annotation.Lazy; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.io.IOException; @@ -57,10 +52,12 @@ @ApiOperation("社区问题单、问题处理单、协调通知单 下载") @GetMapping("/download-file/{id}/{type}") - public void communityProblem(@ApiParam(name = "id", value = "诉求id", required = true) @PathVariable("id") Long id, + @SysLog(operatorCategory = "单导出",operId = 10) + public R<?> communityProblem(@ApiParam(name = "id", value = "诉求id", required = true) @PathVariable("id") Long id, @ApiParam(name = "type", value = "类型:1:社区问题单 2:问题处理单 3:协调通知单", required = true) @PathVariable("type") Integer type) { try { - complaintService.downloadFile(id, type,getLoginUserInfoSanGeShenBian()); + String name = complaintService.downloadFile(id, type, getLoginUserInfoSanGeShenBian()); + return R.ok(name); } catch (IOException e) { throw new RuntimeException(e); } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/MgtPartyMemberController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/MgtPartyMemberController.java index 4401ff1..c72a94c 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/MgtPartyMemberController.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/MgtPartyMemberController.java @@ -5,6 +5,7 @@ import com.panzhihua.common.controller.BaseController; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.sangeshenbian.SystemUserVo; +import com.panzhihua.sangeshenbian.annotation.SysLog; import com.panzhihua.sangeshenbian.model.entity.PartyMember; import com.panzhihua.sangeshenbian.service.IPartyMemberService; import com.panzhihua.sangeshenbian.warpper.PartyMemberDTO; @@ -46,6 +47,7 @@ } @ApiOperation("添加/编辑党员") @PostMapping("/save") + @SysLog(operatorCategory = "添加党员",operId = 8) public R<?> save(@Valid @RequestBody PartyMemberDTO dto) { SystemUserVo loginUserInfo = getLoginUserInfoSanGeShenBian(); partyMemberService.save(dto,loginUserInfo); @@ -58,16 +60,19 @@ } @ApiOperation("删除党员") @DeleteMapping("/{id}") + @SysLog(operatorCategory = "删除党员",operId = 8) public R<?> deleteById(@ApiParam(name = "id", value = "党员id", required = true) @PathVariable("id") Long id) { + String name = partyMemberService.getById(id).getName(); partyMemberService.removeById(id); - return R.ok(); + return R.ok(name); } @ApiOperation("冻结/解冻") @GetMapping("/freeze/{id}") + @SysLog(operatorCategory = "冻结",operId = 8) public R<?> freeze(@ApiParam(name = "id", value = "党员id", required = true) @PathVariable("id") Long id) { SystemUserVo loginUserInfo = getLoginUserInfoSanGeShenBian(); - partyMemberService.freeze(id, loginUserInfo); - return R.ok(); + PartyMember member = partyMemberService.freeze(id, loginUserInfo); + return R.ok(member); } @ApiOperation("下载导入模板") @GetMapping("/download") @@ -80,6 +85,7 @@ } @ApiOperation("导出") @PostMapping("/export") + @SysLog(operatorCategory = "导出党员",operId = 8) public void export(@RequestBody PartyMemberQuery query) { SystemUserVo loginUserInfo = getLoginUserInfoSanGeShenBian(); try { @@ -90,6 +96,7 @@ } @ApiOperation("导入") @PostMapping("/import") + @SysLog(operatorCategory = "导入党员",operId = 8) public R<List<PartyMemberImportFailedVO> > importExcel(@RequestPart("file") MultipartFile file) { SystemUserVo loginUserInfo = getLoginUserInfoSanGeShenBian(); try { @@ -100,10 +107,11 @@ } @ApiOperation("审核") @PostMapping("/audit") + @SysLog(operatorCategory = "审核",operId = 9) public R<?> audit(@RequestBody PartyMemberDTO dto) { SystemUserVo loginUserInfo = getLoginUserInfoSanGeShenBian(); - partyMemberService.audit(dto,loginUserInfo); - return R.ok(); + PartyMember partyMember = partyMemberService.audit(dto, loginUserInfo); + return R.ok(partyMember); } @ApiOperation("校验手机号是否注册党员") @GetMapping("/verify/{phone}") diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/ProblemTypeController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/ProblemTypeController.java index 6ddf475..ac1a079 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/ProblemTypeController.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/ProblemTypeController.java @@ -6,6 +6,7 @@ import com.panzhihua.common.controller.BaseController; import com.panzhihua.common.interfaces.OperLog; import com.panzhihua.common.model.vos.R; +import com.panzhihua.sangeshenbian.annotation.SysLog; import com.panzhihua.sangeshenbian.model.entity.ProblemType; import com.panzhihua.sangeshenbian.model.entity.SystemUser; import com.panzhihua.sangeshenbian.service.IProblemTypeService; @@ -54,7 +55,7 @@ @PostMapping("/add") @ApiOperation(value = "添加问题类型", tags = {"三个身边后台-问题类型管理"}) - @OperLog(operModul = "三个身边后台",operType = 1, businessType = "添加问题类型") + @SysLog(operatorCategory = "添加问题类型",operId = 6) public R add(@RequestBody ProblemType problemType){ Integer id = this.getLoginUserInfoSanGeShenBian().getId(); SystemUser systemUser = systemUserService.getById(id); @@ -74,7 +75,7 @@ @PostMapping("/edit") @ApiOperation(value = "编辑问题类型", tags = {"三个身边后台-问题类型管理"}) - @OperLog(operModul = "三个身边后台",operType = 2, businessType = "编辑问题类型") + @SysLog(operatorCategory = "编辑问题类型",operId = 6) public R edit(@RequestBody ProblemType problemType){ Integer id = this.getLoginUserInfoSanGeShenBian().getId(); SystemUser systemUser = systemUserService.getById(id); @@ -92,15 +93,16 @@ @DeleteMapping("/delete/{id}") @ApiOperation(value = "删除问题类型", tags = {"三个身边后台-问题类型管理"}) - @OperLog(operModul = "三个身边后台",operType = 3, businessType = "删除问题类型") + @SysLog(operatorCategory = "删除问题类型",operId = 6) public R delete(@PathVariable("id") Integer id){ Integer userid = this.getLoginUserInfoSanGeShenBian().getId(); SystemUser systemUser = systemUserService.getById(userid); if(systemUser.getAccountLevel() != 1){ return R.fail("删除失败"); } + String name = problemTypeService.getById(id).getName(); problemTypeService.update(new UpdateWrapper<ProblemType>().eq("id", id).set("del", 1)); - return R.ok(); + return R.ok(name); } @GetMapping("/getProblemTypeInfo/{id}") diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemPostController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemPostController.java index 8f64a4a..aca3f4b 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemPostController.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemPostController.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.panzhihua.common.interfaces.OperLog; import com.panzhihua.common.model.vos.R; +import com.panzhihua.sangeshenbian.annotation.SysLog; import com.panzhihua.sangeshenbian.model.entity.SystemPost; import com.panzhihua.sangeshenbian.service.ISystemPostService; import io.swagger.annotations.Api; @@ -27,7 +28,7 @@ @PostMapping("/add") @ApiOperation(value = "添加职位", tags = {"三个身边后台-职位管理"}) - @OperLog(operModul = "三个身边后台",operType = 1,businessType = "添加职位") + @SysLog(operatorCategory = "添加职位",operId = 2) public R add(@RequestBody SystemPost systemPost) { systemPost.setCreateTime(LocalDateTime.now()); systemPostService.save(systemPost); @@ -37,7 +38,7 @@ @PostMapping("/edit") @ApiOperation(value = "编辑职位", tags = {"三个身边后台-职位管理"}) - @OperLog(operModul = "三个身边后台",operType = 2,businessType = "编辑职位") + @SysLog(operatorCategory = "编辑职位",operId = 2) public R edit(@RequestBody SystemPost systemPost) { systemPostService.updateById(systemPost); return R.ok(); @@ -45,10 +46,11 @@ @DeleteMapping("/delete/{id}") @ApiOperation(value = "删除职位", tags = {"三个身边后台-职位管理"}) - @OperLog(operModul = "三个身边后台",operType = 3,businessType = "删除职位") + @SysLog(operatorCategory = "删除职位",operId = 2) public R delete(@PathVariable("id") Integer id) { + String name = systemPostService.getById(id).getName(); systemPostService.removeById(id); - return R.ok(); + return R.ok(name); } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemRoleController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemRoleController.java index 666bd4a..aa2b9e9 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemRoleController.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemRoleController.java @@ -5,6 +5,7 @@ import com.panzhihua.common.controller.BaseController; import com.panzhihua.common.interfaces.OperLog; import com.panzhihua.common.model.vos.R; +import com.panzhihua.sangeshenbian.annotation.SysLog; import com.panzhihua.sangeshenbian.model.entity.SystemRole; import com.panzhihua.sangeshenbian.model.entity.SystemRoleMenu; import com.panzhihua.sangeshenbian.service.ISystemRoleMenuService; @@ -48,7 +49,7 @@ @PostMapping("/add") @ApiOperation(value = "添加角色", tags = {"三个身边后台-角色管理"}) - @OperLog(operModul = "三个身边后台",operType = 1,businessType = "添加角色") + @SysLog(operatorCategory = "添加角色",operId = 3) public R add(@RequestBody AddSystemRole addSystemRole){ long count = systemRoleService.count(new LambdaQueryWrapper<SystemRole>().eq(SystemRole::getDel, 0).eq(SystemRole::getName, addSystemRole.getName())); if(0 < count){ @@ -72,7 +73,7 @@ @PostMapping("/edit") @ApiOperation(value = "编辑角色", tags = {"三个身边后台-角色管理"}) - @OperLog(operModul = "三个身边后台",operType = 2,businessType = "编辑角色") + @SysLog(operatorCategory = "编辑角色",operId = 3) public R edit(@RequestBody EditSystemRole editSystemRole){ long count = systemRoleService.count(new LambdaQueryWrapper<SystemRole>().eq(SystemRole::getDel, 0) .eq(SystemRole::getName, editSystemRole.getName()).ne(SystemRole::getId, editSystemRole.getId())); @@ -100,14 +101,14 @@ @DeleteMapping("/delete/{id}") @ApiOperation(value = "删除角色", tags = {"三个身边后台-角色管理"}) - @OperLog(operModul = "三个身边后台",operType = 3,businessType = "删除角色") + @SysLog(operatorCategory = "删除角色",operId = 3) public R delete(@PathVariable("id") Integer id){ SystemRole systemRole = systemRoleService.getById(id); systemRole.setDel(1); systemRoleService.updateById(systemRole); //删除角色菜单权限 systemRoleMenuService.remove(new LambdaQueryWrapper<SystemRoleMenu>().eq(SystemRoleMenu::getSystemRoleId, id)); - return R.ok(); + return R.ok(systemRole.getName()); } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemUserController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemUserController.java index 04b36b4..b50f429 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemUserController.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemUserController.java @@ -74,7 +74,7 @@ @PostMapping("/login") @ApiOperation(value = "登录", tags = {"三个身边后台-登录"}) - @SysLog(operatorCategory = "登录") + @SysLog(operatorCategory = "登录",operId = 1) public R<TokenVo> login(@RequestBody LoginVo vo){ String key = "login:" + vo.getPhone(); Integer size = (Integer) redisTemplate.opsForValue().get(key); @@ -205,7 +205,7 @@ @PostMapping("/add") @ApiOperation(value = "添加人员", tags = {"三个身边管理后台-人员管理"}) - @OperLog(operModul = "三个身边后台",operType = 1,businessType = "添加人员") + @SysLog(operatorCategory = "添加账号",operId = 4) public R add(@RequestBody SystemUser systemUser){ Integer id = this.getLoginUserInfoSanGeShenBian().getId(); SystemUser user = systemUserService.getById(id); @@ -240,9 +240,10 @@ systemUser.setCommunity(act.getName()); } - systemUser.setStatus(1); systemUser.setCreateTime(LocalDateTime.now()); + // 2.0.1 默认管理员 + systemUser.setIsAdmin(1); systemUserService.save(systemUser); return R.ok(); } @@ -250,7 +251,7 @@ @PostMapping("/edit") @ApiOperation(value = "编辑人员", tags = {"三个身边后台-人员管理"}) - @OperLog(operModul = "三个身边后台",operType = 2,businessType = "编辑人员") + @SysLog(operatorCategory = "编辑账号",operId = 4) public R edit(@RequestBody SystemUser systemUser){ long count = systemUserService.count(new LambdaQueryWrapper<SystemUser>().eq(SystemUser::getPhone, systemUser.getPhone()) .ne(SystemUser::getStatus, 3).ne(SystemUser::getId, systemUser.getId())); @@ -285,12 +286,12 @@ @DeleteMapping("/delete/{id}") @ApiOperation(value = "删除人员", tags = {"三个身边后台-人员管理"}) - @OperLog(operModul = "三个身边后台",operType = 3,businessType = "删除人员") + @SysLog(operatorCategory = "删除账号",operId = 4) public R delete(@PathVariable("id") Integer id){ SystemUser systemUser = systemUserService.getById(id); systemUser.setStatus(3); systemUserService.updateById(systemUser); - return R.ok(); + return R.ok(systemUser.getName()); } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/WorkOrderItemConfigController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/WorkOrderItemConfigController.java index 83d1223..15ff20d 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/WorkOrderItemConfigController.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/WorkOrderItemConfigController.java @@ -2,6 +2,7 @@ import com.panzhihua.common.interfaces.OperLog; import com.panzhihua.common.model.vos.R; +import com.panzhihua.sangeshenbian.annotation.SysLog; import com.panzhihua.sangeshenbian.model.entity.WorkOrderItemConfig; import com.panzhihua.sangeshenbian.service.IWorkOrderItemConfigService; import io.swagger.annotations.Api; @@ -34,9 +35,11 @@ @PostMapping("/addWorkOrderItemConfig") @ApiOperation(value = "保存工单事项配置", tags = {"三个身边后台-工单事项配置"}) - @OperLog(operModul = "三个身边后台",operType = 1,businessType = "保存工单事项配置") + @SysLog(operatorCategory = "工单事项配置",operId = 5) public R<WorkOrderItemConfig> add(@RequestBody WorkOrderItemConfig workOrderItemConfig){ + // 获取原来的数据 用作日志修改对比 + WorkOrderItemConfig workOrderItemConfig1 = workOrderItemConfigService.getById(workOrderItemConfig.getId() == null ? 0 : workOrderItemConfig.getId()); workOrderItemConfigService.saveOrUpdate(workOrderItemConfig); - return R.ok(); + return R.ok(workOrderItemConfig1); } } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/aspectj/OperLogAspect.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/aspectj/OperLogAspect.java index 8163ffe..444a2e6 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/aspectj/OperLogAspect.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/aspectj/OperLogAspect.java @@ -3,9 +3,13 @@ import com.alibaba.fastjson.JSONObject; import com.panzhihua.common.controller.BaseController; import com.panzhihua.common.model.vos.sangeshenbian.SystemUserVo; +import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.sangeshenbian.annotation.SysLog; -import com.panzhihua.sangeshenbian.model.entity.SystemLog; +import com.panzhihua.sangeshenbian.model.entity.*; import com.panzhihua.sangeshenbian.service.ISystemLogService; +import com.panzhihua.sangeshenbian.warpper.AddSystemRole; +import com.panzhihua.sangeshenbian.warpper.EditSystemRole; +import com.panzhihua.sangeshenbian.warpper.PartyMemberDTO; import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.AfterReturning; @@ -53,29 +57,208 @@ MethodSignature signature = (MethodSignature)joinPoint.getSignature(); // 获取切入点所在的方法 Method method = signature.getMethod(); + Object[] args = joinPoint.getArgs(); try { // 获取操作 SysLog opLog = method.getAnnotation(SysLog.class); SystemLog sysLog = new SystemLog(); - if("登录".equals(opLog.operatorCategory())){ - // 将返回结果转为JSON对象 - JSONObject jsonResult = JSONObject.parseObject(JSONObject.toJSONString(keys)); + JSONObject jsonResult = JSONObject.parseObject(JSONObject.toJSONString(keys)); - // 提取data字段中的TokenVo信息 - JSONObject data = jsonResult.getJSONObject("data"); - Long userId = data.getLong("userId"); - String name = data.getString("name");// 直接获取userId - sysLog.setOperatorId(Long.valueOf(userId)); - sysLog.setTargetName(name); - }else { + + switch (opLog.operId()){ + // 登录 + case 1:// 将返回结果转为JSON对象 + // 提取data字段中的TokenVo信息 + JSONObject data = jsonResult.getJSONObject("data"); + Long userId = data.getLong("userId"); + String name = data.getString("name");// 直接获取userId + sysLog.setOperatorId(Long.valueOf(userId)); + sysLog.setTargetName(name); + break; + // 职位 + case 2: + if(opLog.operatorCategory().contains("删除")){ + String postName = jsonResult.get("data").toString(); + sysLog.setTargetName(postName); + }else { + for (Object arg : args) { + if (arg instanceof SystemPost) { + SystemPost systemPost = (SystemPost) arg; + sysLog.setTargetName(systemPost.getName()); + } + } + } + + break; + // 角色 + case 3: + if(opLog.operatorCategory().contains("删除")){ + String postName = jsonResult.get("data").toString(); + sysLog.setTargetName(postName); + }else { + for (Object arg : args) { + if (arg instanceof AddSystemRole) { + AddSystemRole systemRole = (AddSystemRole) arg; + sysLog.setTargetName(systemRole.getName()); + } + if (arg instanceof EditSystemRole) { + EditSystemRole systemRole = (EditSystemRole) arg; + sysLog.setTargetName(systemRole.getName()); + } + } + } + + break; + // 账号 + case 4: + if(opLog.operatorCategory().contains("删除")){ + String postName = jsonResult.get("data").toString(); + sysLog.setTargetName(postName); + }else { + for (Object arg : args) { + if (arg instanceof SystemUser) { + SystemUser systemUser = (SystemUser) arg; + sysLog.setTargetName(systemUser.getName()); + } + } + } + break; + // 工单 + case 5: + for (Object arg : args) { + if (arg instanceof WorkOrderItemConfig) { + WorkOrderItemConfig workOrderItemConfig = (WorkOrderItemConfig) arg; + // 拿到返回原来的数据 + JSONObject configData = jsonResult.getJSONObject("data"); + String targetName=""; + // 判断是否修改了诉求处理时间 + if(workOrderItemConfig.getDemandProcessingTime()!=configData.getInteger("demandProcessingTime")){ + targetName += "修改诉求处理时间、"; + } + // 判断是否修改了市级账号诉求处理时间 + if(workOrderItemConfig.getCityHandlingTime()!=configData.getInteger("cityHandlingTime") + || workOrderItemConfig.getDistrictHandlingTime()!=configData.getInteger("districtHandlingTime") + || workOrderItemConfig.getStreetHandlingTime()!=configData.getInteger("streetHandlingTime") + || workOrderItemConfig.getCommunityHandlingTime()!=configData.getInteger("communityHandlingTime") + || workOrderItemConfig.getPartyMemberHandlingTime()!=configData.getInteger("partyMemberHandlingTime")){ + targetName += "修改处理超时时间、"; + } + if(workOrderItemConfig.getCityDeadlineReminder()!=configData.getInteger("cityDeadlineReminder") + || workOrderItemConfig.getDistrictDeadlineReminder()!=configData.getInteger("districtDeadlineReminder") + || workOrderItemConfig.getStreetDeadlineReminder()!=configData.getInteger("streetDeadlineReminder") + || workOrderItemConfig.getCommunityDeadlineReminder()!=configData.getInteger("communityDeadlineReminder") + ){ + targetName += "修改临期提醒时间、"; + } + if(StringUtils.isNotEmpty(targetName)){ + targetName= targetName.substring(0,targetName.length()-1); + sysLog.setTargetName(targetName); + } + } + } + break; + // 问题 + case 6: + if(opLog.operatorCategory().contains("删除")){ + String postName = jsonResult.get("data").toString(); + sysLog.setTargetName(postName); + }else { + for (Object arg : args) { + if (arg instanceof ProblemType) { + ProblemType problemType = (ProblemType) arg; + sysLog.setTargetName(problemType.getName()); + } + } + } + // banner + case 7: + if(opLog.operatorCategory().contains("删除")){ + String postName = jsonResult.get("data").toString(); + sysLog.setTargetName(postName); + }else { + for (Object arg : args) { + if (arg instanceof Banner) { + Banner banner = (Banner) arg; + sysLog.setTargetName(banner.getName()); + } + } + } + break; + // 党员 + case 8: + if(opLog.operatorCategory().contains("删除")){ + String postName = jsonResult.get("data").toString(); + sysLog.setOperatorCategory("删除党员"); + sysLog.setTargetName(postName); + }else { + for (Object arg : args) { + if (arg instanceof PartyMemberDTO) { + PartyMemberDTO memberDTO = (PartyMemberDTO) arg; + sysLog.setTargetName(memberDTO.getName()); + if(opLog.operatorCategory().contains("添加")){ + if(memberDTO.getId()==null){ + sysLog.setOperatorCategory("添加党员"); + }else { + sysLog.setOperatorCategory("编辑党员"); + } + } + }else if(opLog.operatorCategory().contains("冻结")){ + JSONObject freezeData = jsonResult.getJSONObject("data"); + sysLog.setTargetName(freezeData.getString("name")); + if(freezeData.getInteger("freezeStatus")==1){ + sysLog.setOperatorCategory("冻结党员"); + }else { + sysLog.setOperatorCategory("解冻党员"); + } + }else { + sysLog.setOperatorCategory(opLog.operatorCategory()); + } + } + } + break; + // 党员审核 + case 9: + + JSONObject auditData = jsonResult.getJSONObject("data"); + sysLog.setTargetName(auditData.getString("name")); + if(auditData.getInteger("auditStatus")==1){ + sysLog.setOperatorCategory("党员审核通过"); + }else { + sysLog.setOperatorCategory("党员审核拒绝"); + } + break; + // 导出 + case 10: + if(opLog.operatorCategory().equals("单导出")){ + String type = args[1].toString(); + if("1".equals(type)){ + sysLog.setOperatorCategory("导出社区问题单 "); + } + if("2".equals(type)){ + sysLog.setOperatorCategory("导出问题处理单"); + } + if("3".equals(type)){ + sysLog.setOperatorCategory("导出协调通知单"); + } + String postName = jsonResult.get("data").toString(); + sysLog.setTargetName(postName); + } + break; + default: + break; + } + if(opLog.operId()!=1){ SystemUserVo systemUserVo = this.getLoginUserInfoSanGeShenBian(); sysLog.setOperatorId(Long.valueOf(systemUserVo.getId())); - sysLog.setTargetName(systemUserVo.getName()); } - sysLog.setOperatorCategory(opLog.operatorCategory()); + if(opLog.operId()<8){ + sysLog.setOperatorCategory(opLog.operatorCategory()); + } sysLog.setIp(this.getRequest().getRemoteAddr()); sysLog.setOperatorInto(opLog.operatorCategory()); - systemLogService.save(sysLog); + if(opLog.operId()!=5 || sysLog.getTargetName()!=null){ + systemLogService.save(sysLog); + } } catch (Exception e) { e.printStackTrace(); } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintService.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintService.java index b71a264..884709e 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintService.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintService.java @@ -154,7 +154,7 @@ * @param id * @param loginUserInfo */ - void downloadFile(Long id, Integer type, SystemUserVo loginUserInfo) throws IOException; + String downloadFile(Long id, Integer type, SystemUserVo loginUserInfo) throws IOException; /** * 获取超时未评价的数据 diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IPartyMemberService.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IPartyMemberService.java index 796dc4e..80e8f01 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IPartyMemberService.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IPartyMemberService.java @@ -45,7 +45,7 @@ * @param id * @param loginUserInfo */ - void freeze(Long id, SystemUserVo loginUserInfo); + PartyMember freeze(Long id, SystemUserVo loginUserInfo); /** * 下载导入模板 @@ -80,7 +80,7 @@ * @param dto * @param loginUserInfo */ - void audit(PartyMemberDTO dto, SystemUserVo loginUserInfo); + PartyMember audit(PartyMemberDTO dto, SystemUserVo loginUserInfo); /** * 根据电话号码查询有效的党员数据 diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java index d9b41b9..3fd561c 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java @@ -1216,7 +1216,7 @@ } @Override - public void downloadFile(Long id, Integer type, SystemUserVo loginUserInfo) throws IOException { + public String downloadFile(Long id, Integer type, SystemUserVo loginUserInfo) throws IOException { Complaint complaint = baseMapper.getDetailBg(id); if (Objects.isNull(complaint)) { throw new ServiceException("该诉求不存在"); @@ -1327,6 +1327,7 @@ response.setHeader("Content-disposition", "attachment;filename=\"" + fileNameEncode + ".docx" + "\""); InputStream resourceAsStream = this.getClass().getResourceAsStream("/template/" + fileName); XWPFTemplate.compile(resourceAsStream).render(map).writeAndClose(response.getOutputStream()); + return complaint.getName(); } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/PartyMemberServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/PartyMemberServiceImpl.java index 63f5fe5..0caf05b 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/PartyMemberServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/PartyMemberServiceImpl.java @@ -101,11 +101,12 @@ * @param loginUserInfo */ @Override - public void freeze(Long id, SystemUserVo loginUserInfo) { + public PartyMember freeze(Long id, SystemUserVo loginUserInfo) { PartyMember partyMember = getById(id); partyMember.setFreezeStatus(partyMember.getFreezeStatus() == 1 ? 0 : 1); partyMember.setUpdateBy(Long.parseLong(loginUserInfo.getId().toString())); updateById(partyMember); + return partyMember; } @Override @@ -311,10 +312,11 @@ * @param loginUserInfo */ @Override - public void audit(PartyMemberDTO dto, SystemUserVo loginUserInfo) { + public PartyMember audit(PartyMemberDTO dto, SystemUserVo loginUserInfo) { PartyMember partyMember = BeanUtil.copyProperties(dto, PartyMember.class); partyMember.setUpdateBy(Long.parseLong(loginUserInfo.getId().toString())); updateById(partyMember); + return this.getById(dto.getId()); } @Override diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/utils/WechatMsgUtil.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/utils/WechatMsgUtil.java new file mode 100644 index 0000000..58fada4 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/utils/WechatMsgUtil.java @@ -0,0 +1,50 @@ +package com.panzhihua.sangeshenbian.utils; + +import cn.hutool.http.HttpUtil; +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Map; + +@Component +@Slf4j +public class WechatMsgUtil { + + private String appId; + + private String appSecret; + + // 获取access_token + private String getAccessToken() { + String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+appId+"&secret="+appSecret; + String result = HttpUtil.get(url); + return JSONObject.parseObject(result).getString("access_token"); + } + + // 发送模板消息 + public void sendTemplateMsg(String openId, String templateId, + Map<String, String> content) { + try { + String accessToken = getAccessToken(); + String url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+accessToken; + + JSONObject json = new JSONObject(); + json.put("touser", openId); + json.put("template_id", templateId); + + JSONObject data = new JSONObject(); + content.forEach((key, value) -> { + JSONObject item = new JSONObject(); + item.put("value", value); + data.put(key, item); + }); + json.put("data", data); + + String result = HttpUtil.post(url, json.toJSONString()); + log.info("微信消息发送结果:{}", result); + } catch (Exception e) { + log.error("微信消息发送失败", e); + } + } +} \ No newline at end of file -- Gitblit v1.7.1