From af7766f2983181bd31d271a2547c3ca875a2cbc2 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期二, 18 三月 2025 17:34:31 +0800
Subject: [PATCH] Merge branch 'dev-2.0' of http://120.76.84.145:10101/gitblit/r/java/zhihuishenqu into dev-2.0

---
 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java |  114 ++++++++++++++++++++++++++++-----------------------------
 1 files changed, 56 insertions(+), 58 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 ca73787..cb99004 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
@@ -96,13 +96,9 @@
         complaint.setSerialNumber(serialNumber);
         Integer accountLevel = 5;
         //获取当前身份
-        IdentityInformation identityInformationVO = identityInformationService.getIdentityInformation(loginUserInfoVO);
+        IdentityInformation identityInformationVO = identityInformationService.getCurrentIdentityInformation(loginUserInfoVO);
         //1=党员,2=管理员
         SystemUser systemUser = identityInformationVO.getSystemUser();
-        List<PermissionsVO> permissions = identityInformationVO.getPermissions();
-        if (permissions.isEmpty()) {
-            throw new ServiceException("请先完善个人信息");
-        }
         Integer identity = identityInformationVO.getIdentity();
         if (identity == 2) {
             accountLevel = systemUser.getAccountLevel();
@@ -185,10 +181,7 @@
         Long targetId = null;
         Integer accountLevel = 5;
         //获取当前身份,1=党员,2=管理员
-        IdentityInformation identityInformation = identityInformationService.getIdentityInformation(loginUserInfoVO);
-        if (CollectionUtil.isEmpty(identityInformation.getPermissions())) {
-            throw new ServiceException("请先完善个人信息");
-        }
+        IdentityInformation identityInformation = identityInformationService.getCurrentIdentityInformation(loginUserInfoVO);
         Integer identity = identityInformation.getIdentity();
         //上级
         if (systemUserByPhone.isPresent() && null != identity && identity == 2) {
@@ -238,8 +231,11 @@
         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"));
+        ComplaintAuditRecord one = complaintAuditRecordService.getOne(new LambdaQueryWrapper<ComplaintAuditRecord>()
+                .eq(ComplaintAuditRecord::getComplaintId, vo.getId())
+//                .ne(ComplaintAuditRecord::getAuditType, 1)
+                .orderByDesc(ComplaintAuditRecord::getSort)
+                .last(" limit 0, 1"));
         //没有审核数据,且正在办理,则按钮权限是添加人员的
         if (null == one && (vo.getStatus() == 0 || vo.getStatus() == 1 || vo.getStatus() == 2)) {
             if (systemUserByPhone.isPresent()) {
@@ -258,8 +254,10 @@
         }
         //有审核数据,且正在办理
         if (null != one && (vo.getStatus() == 0 || vo.getStatus() == 1 || vo.getStatus() == 2 || vo.getStatus() == 6)) {
+
+
             //区分是上报数据还是下派数据
-            if (one.getAuditType() == 2) {
+            if (one.getAuditType() == 2 || one.getAuditType() == 1) {
                 //判断当前审核状态
                 if (one.getAuditStatus() == 1) {
                     //审核状态为通过,则权限给到上报审核的这一层
@@ -274,8 +272,12 @@
                     }
                 } else {
                     //没有审核通过,则需要查询上一条审核通过的数据,如果没有则给到添加诉求的人
-                    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"));
+                    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"));
                     if (null != one1) {
                         if (systemUserByPhone.isPresent()) {
                             SystemUser systemUser = systemUserByPhone.get();
@@ -368,7 +370,7 @@
             String targetId = "";
             Integer accountLevel = 5;
             //获取当前身份,1=党员,2=管理员
-            IdentityInformation identityInformation = identityInformationService.getIdentityInformation(loginUserInfo);
+            IdentityInformation identityInformation = identityInformationService.getCurrentIdentityInformation(loginUserInfo);
             if (2 == identityInformation.getIdentity()) {
                 accountLevel = systemUser.getAccountLevel();
                 switch (accountLevel) {
@@ -395,7 +397,8 @@
                         break;
                 }
 
-                ComplaintAuditRecord one2 = complaintAuditRecordService.getOne(new LambdaQueryWrapper<ComplaintAuditRecord>().eq(ComplaintAuditRecord::getComplaintId, vo.getId())
+                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) {
@@ -436,10 +439,7 @@
         String targetId = "";
         Integer accountLevel = 5;
         //获取当前身份,1=党员,2=管理员
-        IdentityInformation identityInformation = identityInformationService.getIdentityInformation(loginUserInfoVO);
-        if (CollectionUtil.isEmpty(identityInformation.getPermissions())) {
-            throw new ServiceException("身份信息异常");
-        }
+        IdentityInformation identityInformation = identityInformationService.getCurrentIdentityInformation(loginUserInfoVO);
         Integer identity = identityInformation.getIdentity();
         //上级
         if (systemUserByPhone.isPresent() && identity == 2) {
@@ -581,16 +581,8 @@
     @Transactional(rollbackFor = Exception.class)
     public void saveReport(ComplaintReportDTO dto, LoginUserInfoVO loginUserInfoVO) {
         String phone = loginUserInfoVO.getPhone();
-        SystemUser adminUser = systemUserService.getOne(new LambdaQueryWrapper<SystemUser>()
-                .eq(SystemUser::getPhone, phone)
-                .eq(SystemUser::getIsAdmin, 1)
-                .ne(SystemUser::getStatus, 3)
-                .last("LIMIT 1"));
-
-        IdentityInformation identityInformationVO = identityInformationService.getIdentityInformation(loginUserInfoVO);
-        if (CollectionUtil.isEmpty(identityInformationVO.getPermissions())) {
-            throw new ServiceException("请先完成认证");
-        }
+        IdentityInformation identityInformationVO = identityInformationService.getCurrentIdentityInformation(loginUserInfoVO);
+        SystemUser adminUser = identityInformationVO.getSystemUser();
 
         Long superiorId;
         int reportType;
@@ -682,11 +674,7 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void saveDispatch(ComplaintDispatch dto, LoginUserInfoVO loginUserInfoVO) {
-        IdentityInformation identityInformation = identityInformationService.getIdentityInformation(loginUserInfoVO);
-        List<PermissionsVO> permissions = identityInformation.getPermissions();
-        if (CollectionUtil.isEmpty(permissions)) {
-            throw new ServiceException("请先完成认证");
-        }
+        IdentityInformation identityInformation = identityInformationService.getCurrentIdentityInformation(loginUserInfoVO);
         if (identityInformation.getIdentity() != 2) {
             throw new ServiceException("无权下派");
         }
@@ -754,11 +742,7 @@
     @Transactional(rollbackFor = Exception.class)
     public void reportAudit(ComplaintReporAuditDTO complaintReporAuditDTO, LoginUserInfoVO loginUserInfoVO) {
 
-        IdentityInformation identityInformation = identityInformationService.getIdentityInformation(loginUserInfoVO);
-        List<PermissionsVO> permissions = identityInformation.getPermissions();
-        if (CollectionUtil.isEmpty(permissions)) {
-            throw new ServiceException("请先完成认证");
-        }
+        IdentityInformation identityInformation = identityInformationService.getCurrentIdentityInformation(loginUserInfoVO);
 
         SystemUser systemUser = identityInformation.getSystemUser();
         if (systemUser == null || identityInformation.getIdentity() != 2) {
@@ -810,16 +794,12 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void saveDelay(ComplaintDelayDTO dto, LoginUserInfoVO loginUserInfoVO) {
-        IdentityInformation identityInformation = identityInformationService.getIdentityInformation(loginUserInfoVO);
-        List<PermissionsVO> permissions = identityInformation.getPermissions();
-
-        if (CollectionUtil.isEmpty(permissions)) {
-            throw new ServiceException("请先完成认证");
-        }
+        IdentityInformation identityInformation = identityInformationService.getCurrentIdentityInformation(loginUserInfoVO);
 
         SystemUser systemUser = systemUserService.getSystemUserAdminByPhone(loginUserInfoVO.getPhone()).orElse(null);
         Long superiorId;
         int reportType;
+        String departmentName = "";
         if (identityInformation.getIdentity() == 1) {
             PartyMember partyMember = partyMemberService.getPartyMemberByPhone(loginUserInfoVO.getPhone());
             superiorId = partyMember.getCommunityId();
@@ -827,6 +807,7 @@
                 throw new ServiceException("延期申请失败,请绑定社区");
             }
             reportType = ReportTypeEnum.COMMUNITY.getCode();
+            departmentName = partyMember.getDistricts() + "-" + partyMember.getStreet() + "-" + partyMember.getCommunity();
         } else if (identityInformation.getIdentity() == 2 && systemUser != null) {
             int accountLevel = systemUser.getAccountLevel(); // 改为基本类型
             if (accountLevel == 1) {
@@ -846,6 +827,30 @@
             } else {
                 // 处理未预期的账号等级
                 throw new ServiceException("未知的账号等级");
+            }
+            //查询社区信息
+            switch (accountLevel) {
+                case 2:
+                    BcRegion region = bcRegionService.getDistrictByCode(systemUser.getDistrictsCode().toString());
+                    if (Objects.nonNull(region)) {
+                        departmentName = region.getRegionName();
+                    }
+                    break;
+                case 3:
+                    ComStreet street = comStreetService.getById(systemUser.getStreetId().toString());
+                    if (Objects.nonNull(street)) {
+                        BcRegion district = bcRegionService.getDistrictByCode(street.getAreaCode().toString());
+                        departmentName = Objects.nonNull(district) ? district.getRegionName() + "-" + street.getName() : street.getName();
+                    }
+                    break;
+                case 4:
+                    ComAct act = comActService.getById(systemUser.getCommunityId());
+                    if (Objects.nonNull(act)) {
+                        ComStreet street2 = comStreetService.getById(systemUser.getStreetId().toString());
+                        BcRegion district = bcRegionService.getDistrictByCode(act.getAreaCode());
+                        departmentName = Objects.nonNull(district) && Objects.nonNull(street2) ? district.getRegionName() + "-" + street2.getName() + "-" + act.getName() : act.getName();
+                    }
+                    break;
             }
         } else {
             throw new ServiceException("无权申请");
@@ -870,17 +875,14 @@
         record1.setSuperiorId(superiorId);
         record1.setSort(count + 1);
         record1.setComment(dto.getComment());
+        record1.setDepartmentName(departmentName);
         complaintAuditRecordService.save(record1);
     }
 
 
     @Override
     public void delayAudit(ComplaintDelayAuditDTO dto, LoginUserInfoVO loginUserInfoVO) {
-        IdentityInformation identityInformation = identityInformationService.getIdentityInformation(loginUserInfoVO);
-        List<PermissionsVO> permissions = identityInformation.getPermissions();
-        if (CollectionUtil.isEmpty(permissions)) {
-            throw new ServiceException("请先完成认证");
-        }
+        IdentityInformation identityInformation = identityInformationService.getCurrentIdentityInformation(loginUserInfoVO);
         SystemUser systemUser = identityInformation.getSystemUser();
         if (identityInformation.getIdentity() != 2 || systemUser == null) {
             throw new ServiceException("无权审核");
@@ -907,7 +909,7 @@
                 .eq(ComplaintAuditRecord::getAuditType, 1)
                 .eq(ComplaintAuditRecord::getLatestFlag, 1)
                 .eq(ComplaintAuditRecord::getAuditStatus, 0)
-                .ne(ComplaintAuditRecord::getSuperiorId, superiorId)
+                .eq(ComplaintAuditRecord::getSuperiorId, superiorId)
                 .eq(ComplaintAuditRecord::getReportType, accountLevel)
                 .eq(ComplaintAuditRecord::getComplaintId, dto.getComplaintId())
                 .last("LIMIT 1"));
@@ -938,7 +940,7 @@
     @Override
     public List<DispatchVO> getDispatchList(LoginUserInfoVO loginUserInfoVO) {
 
-        IdentityInformation identityInformation = identityInformationService.getIdentityInformation(loginUserInfoVO);
+        IdentityInformation identityInformation = identityInformationService.getCurrentIdentityInformation(loginUserInfoVO);
 
         SystemUser adminUser = identityInformation.getSystemUser();
 
@@ -995,12 +997,8 @@
      */
     @Override
     public Page<ComplaintTodoVO> getTodoList(BasePage basePage, LoginUserInfoVO loginUserInfo) {
-        IdentityInformation identityInformation = identityInformationService.getIdentityInformation(loginUserInfo);
-        List<PermissionsVO> permissions = identityInformation.getPermissions();
+        IdentityInformation identityInformation = identityInformationService.getCurrentIdentityInformation(loginUserInfo);
         SystemUser systemUser = identityInformation.getSystemUser();
-        if (permissions.isEmpty()) {
-            throw new ServiceException("无权限");
-        }
         String targetId = "";
         int isSuperior = 0;
         //上级

--
Gitblit v1.7.1