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