From e4d449b18083e45d9b808ec0350deaec1ced88a2 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期三, 02 四月 2025 14:49:47 +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 |   27 ++++++++++++++-------------
 1 files changed, 14 insertions(+), 13 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 13da1c3..ebe76c2 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
@@ -2,7 +2,6 @@
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.collection.CollectionUtil;
 import cn.idev.excel.EasyExcel;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -29,15 +28,13 @@
 import com.panzhihua.sangeshenbian.model.vo.ComplaintVO;
 import com.panzhihua.sangeshenbian.model.vo.DispatchVO;
 import com.panzhihua.sangeshenbian.service.*;
-import com.panzhihua.sangeshenbian.utils.FileUtil;
 import com.panzhihua.sangeshenbian.warpper.IdentityInformation;
 import com.panzhihua.sangeshenbian.warpper.MgtComplaintQuery;
 import com.panzhihua.sangeshenbian.warpper.PermissionsVO;
+import jodd.util.StringUtil;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.context.annotation.Lazy;
-import org.springframework.core.io.ClassPathResource;
-import org.springframework.data.redis.connection.RedisServer;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -238,7 +235,8 @@
         vo.setEvaluateButtonStatus(1);
         vo.setAuditButtonStatus(1);
         // 获取身份
-        Integer identity = (Integer) redisUtils.get("identity:" + loginUserInfo.getPhone());
+        IdentityInformation currentIdentityInformation = identityInformationService.getCurrentIdentityInformation(loginUserInfo);
+        Integer identity = currentIdentityInformation.getIdentity();
         ComplaintAuditRecord one = complaintAuditRecordService.getOne(new LambdaQueryWrapper<ComplaintAuditRecord>()
                 .eq(ComplaintAuditRecord::getComplaintId, vo.getId())
 //                .ne(ComplaintAuditRecord::getAuditType, 1)
@@ -271,12 +269,11 @@
                 //判断当前审核状态
                 if (one.getAuditStatus() == 1) {
                     //审核状态为通过,则权限给到上报审核的这一层
-                    if (systemUserByPhone.isPresent()) {
+                    if (systemUserByPhone.isPresent() && identity == 2) {
                         SystemUser systemUser = systemUserByPhone.get();
-                        Integer isAdmin = systemUser.getIsAdmin();
                         Integer accountLevel = systemUser.getAccountLevel();
                         //非党员用户,必须是管理员有权限
-                        if (accountLevel.compareTo(one.getReportType()) == 0 && identity != 5 && 1 == isAdmin) {
+                        if (accountLevel.compareTo(one.getReportType()) == 0) {
                             vo.setListControlsButtonStatus(0);
                         }
                     }
@@ -346,8 +343,7 @@
             String targetId = "";
             Integer accountLevel = 5;
             //获取当前身份,1=党员,2=管理员
-            IdentityInformation identityInformation = identityInformationService.getCurrentIdentityInformation(loginUserInfo);
-            if (2 == identityInformation.getIdentity()) {
+            if (2 == currentIdentityInformation.getIdentity()) {
                 accountLevel = systemUser.getAccountLevel();
                 switch (accountLevel) {
                     case 1:
@@ -1123,7 +1119,7 @@
     }
 
     @Override
-    public void downloadFile(Long id, Integer type) throws IOException {
+    public void downloadFile(Long id, Integer type, SystemUserVo loginUserInfo) throws IOException {
         Complaint complaint = baseMapper.getDetailBg(id);
         if (Objects.isNull(complaint)) {
             throw new ServiceException("该诉求不存在");
@@ -1178,7 +1174,9 @@
             case 2:
                 fileName = "question_handle.docx";
                 if (Objects.nonNull(partyMember)) {
-                    community = community + "-" + partyMember.getServiceTarget();
+                    if (StringUtil.isNotBlank(partyMember.getServiceTarget())) {
+                        community = community + "-" + partyMember.getServiceTarget();
+                    }
                 }
                 reportType = complaint.getCompletionUserLevel();
                 break;
@@ -1200,7 +1198,9 @@
         map.put("problemType", complaint.getProblemType());
         map.put("descriptionContent", complaint.getDescriptionContent());
         map.put("reportType", reportType == null ? "" : ReportTypeEnum.getDescriptionByCode(reportType));
-        map.put("partyOrganization", Objects.nonNull(partyMember) ? partyMember.getPartyOrganization() : "");
+        if (Objects.nonNull(partyMember)) {
+            map.put("partyOrganization", StringUtil.isNotBlank(partyMember.getPartyOrganization()) ? partyMember.getPartyOrganization() : "");
+        }
         map.put("name", complaint.getName());
         map.put("contactNumber", complaint.getContactNumber());
         map.put("nickname", complaint.getReportUserName());
@@ -1223,6 +1223,7 @@
             if (Objects.nonNull(complaintComment)) {
                 map.put("rateStr", RateEnum.getEnumByCode(complaintComment.getRate()).getDesc());
             }
+            map.put("departmentLevel", ReportTypeEnum.getDescriptionByCode(loginUserInfo.getAccountLevel()) + "级");
         }
         response.setContentType("application/octet-stream");
         String fileNameEncode = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");

--
Gitblit v1.7.1