From 5d566e491ab9510c57a5f64885d273c2d6948ffe Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期二, 18 三月 2025 10:08:45 +0800 Subject: [PATCH] Merge remote-tracking branch '喜望/dev-2.0' into dev-2.0 --- springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java | 79 ++++++++++++++++++++++++++++++++------- 1 files changed, 64 insertions(+), 15 deletions(-) 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 5482fe4..f22c644 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 @@ -249,6 +249,8 @@ public void buttonPermission(ComplaintVO vo, Optional<SystemUser> systemUserByPhone){ vo.setListControlsButtonStatus(1); vo.setEvaluateButtonStatus(1); + vo.setAuditButtonStatus(1); + ComplaintAuditRecord one = complaintAuditRecordService.getOne(new LambdaQueryWrapper<ComplaintAuditRecord>().eq(ComplaintAuditRecord::getComplaintId, vo.getId()) .ne(ComplaintAuditRecord::getAuditType, 1).orderByDesc(ComplaintAuditRecord::getSort).last(" limit 0, 1")); //没有审核数据,且正在办理,则按钮权限是添加人员的 @@ -284,6 +286,48 @@ } } }else{ + //审核状态为待审核,需要授权审核按钮 + if((one.getAuditStatus() == 5 || one.getAuditStatus() == 7) && systemUserByPhone.isPresent()){ + SystemUser systemUser = systemUserByPhone.get(); + String targetId = ""; + Integer accountLevel = 5; + //获取当前身份,1=党员,2=管理员 + Integer identity = (Integer) redisUtils.get("identity:" + systemUser.getPhone()); + if(2 == identity){ + accountLevel = systemUser.getAccountLevel(); + switch (accountLevel) { + case 1: + //市级 + targetId = "510400"; + break; + case 2: + //区县级 + targetId = systemUser.getDistrictsCode(); + break; + case 3: + //街道 + targetId = systemUser.getStreetId().toString(); + break; + case 4: + //社区 + targetId = systemUser.getCommunityId().toString(); + break; + case 5: + //党员 + PartyMember partyMember = partyMemberService.getPartyMemberByPhone(systemUser.getPhone()); + targetId = partyMember.getId().toString(); + break; + } + + ComplaintAuditRecord one2 = complaintAuditRecordService.getOne(new LambdaQueryWrapper<ComplaintAuditRecord>().eq(ComplaintAuditRecord::getComplaintId, vo.getId()) + .eq(ComplaintAuditRecord::getLatestFlag, 1)); + Integer isAdmin = systemUserByPhone.get().getIsAdmin(); + if(one2.getReportType().equals(accountLevel) && one2.getSuperiorId().toString().equals(targetId) && 1 == isAdmin){ + vo.setAuditButtonStatus(0); + } + } + } + //没有审核通过,则需要查询上一条审核通过的数据,如果没有则给到添加诉求的人 ComplaintAuditRecord one1 = complaintAuditRecordService.getOne(new LambdaQueryWrapper<ComplaintAuditRecord>().eq(ComplaintAuditRecord::getComplaintId, vo.getId()) .eq(ComplaintAuditRecord::getAuditType, 2).eq(ComplaintAuditRecord::getAuditStatus, 1).orderByDesc(ComplaintAuditRecord::getSort).last(" limit 0, 1")); @@ -455,21 +499,26 @@ detail.setAuditButtonStatus(0); } } - //已办结,显示评价按钮 - int count = complaintCommentService.count(new LambdaQueryWrapper<ComplaintComment>().eq(ComplaintComment::getComplaintId, detail.getId()).eq(ComplaintComment::getDelFlag, 0)); - if(detail.getStatus() == 3 && 0 == count){ - if(systemUserByPhone.isPresent()){ - SystemUser systemUser = systemUserByPhone.get(); - Integer isAdmin = systemUser.getIsAdmin(); - if(accountLevel.compareTo(detail.getReportType()) == 0 && ((accountLevel != 5 && 1 == isAdmin) || accountLevel == 5)){ - detail.setEvaluateButtonStatus(0); - } - }else{ - if(detail.getReportType() == 5){ - detail.setEvaluateButtonStatus(0); - } - } - } + + + buttonPermission(detail, systemUserByPhone); + + +// //已办结,显示评价按钮 +// int count = complaintCommentService.count(new LambdaQueryWrapper<ComplaintComment>().eq(ComplaintComment::getComplaintId, detail.getId()).eq(ComplaintComment::getDelFlag, 0)); +// if(detail.getStatus() == 3 && 0 == count){ +// if(systemUserByPhone.isPresent()){ +// SystemUser systemUser = systemUserByPhone.get(); +// Integer isAdmin = systemUser.getIsAdmin(); +// if(accountLevel.compareTo(detail.getReportType()) == 0 && ((accountLevel != 5 && 1 == isAdmin) || accountLevel == 5)){ +// detail.setEvaluateButtonStatus(0); +// } +// }else{ +// if(detail.getReportType() == 5){ +// detail.setEvaluateButtonStatus(0); +// } +// } +// } return detail; } -- Gitblit v1.7.1