Pu Zhibing
2025-03-17 afb8ff7280890dd0b0662a2bb9d07230c6026ab7
修改诉求列表按钮权限
1个文件已修改
44 ■■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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"));