liujie
2025-04-29 40bfb646d1b962d33841c1ebbceb0dd7cb668bfb
后台日志管理
14个文件已修改
1个文件已添加
371 ■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/annotation/SysLog.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/BannerController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/MgtComplaintController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/MgtPartyMemberController.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/ProblemTypeController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemPostController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemRoleController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemUserController.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/WorkOrderItemConfigController.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/aspectj/OperLogAspect.java 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IPartyMemberService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/PartyMemberServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/utils/WechatMsgUtil.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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删除)
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}")
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);
        }
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}")
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}")
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);
    }
    
    
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());
    }
    
    
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());
    }
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);
    }
}
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();
        }
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;
    /**
     * 获取超时未评价的数据
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);
    /**
     * 根据电话号码查询有效的党员数据
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();
    }
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
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/utils/WechatMsgUtil.java
New file
@@ -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);
        }
    }
}