From 8254f017ec6f4090fa65de76dcaf1d31e5161a11 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期二, 18 三月 2025 10:08:15 +0800
Subject: [PATCH] bug修改

---
 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java |   51 ++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 42 insertions(+), 9 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 c4a4fbf..5482fe4 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
@@ -112,7 +112,7 @@
         Integer accountLevel = 5;
         //获取当前身份,1=党员,2=管理员
         Integer identity = (Integer) redisUtils.get("identity:" + loginUserInfoVO.getPhone());
-        if (systemUserOpt.isPresent() && identity == 2) {
+        if (systemUserOpt.isPresent() && null != identity && identity == 2) {
             SystemUser systemUser = systemUserOpt.get();
             accountLevel = systemUser.getAccountLevel();
             switch (accountLevel) {
@@ -201,7 +201,7 @@
         //获取当前身份,1=党员,2=管理员
         Integer identity = (Integer) redisUtils.get("identity:" + loginUserInfoVO.getPhone());
         //上级
-        if (systemUserByPhone.isPresent() && identity == 2) {
+        if (systemUserByPhone.isPresent() && null != identity && identity == 2) {
             SystemUser systemUser = systemUserByPhone.get();
             accountLevel = systemUser.getAccountLevel();
             switch (accountLevel) {
@@ -954,22 +954,55 @@
         response.setCharacterEncoding("utf-8");
         String fileName = URLEncoder.encode("诉求数据", "UTF-8").replaceAll("\\+", "%20");
         response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
-        EasyExcel.write(response.getOutputStream(), PartyMemberExcel.class)
+        EasyExcel.write(response.getOutputStream(), ComplaintExcel.class)
                 .sheet("诉求数据")
                 .doWrite(complaintExcels);
     }
 
     @Override
     public void downloadFile(Long id,Integer type) throws IOException {
-        Complaint complaint = getById(id);
+        Complaint complaint = baseMapper.getDetailBg(id);
         if (Objects.isNull(complaint)) {
             throw new ServiceException("该诉求不存在");
         }
          //查询社区信息
-        BcRegion region = bcRegionService.getDistrictByCode(complaint.getDistrictsCode().toString());
-        ComStreet street = comStreetService.getById(complaint.getStreetId().toString());
-        ComAct act = comActService.getById(complaint.getCommunityId());
-        String community = region.getRegionName() +"-"+ street.getName() + act.getName();
+        Integer reportType = complaint.getReportType();
+        String community = "";
+        switch (reportType){
+            case 1:
+                community = "攀枝花市";
+                break;
+            case 2:
+                BcRegion region = bcRegionService.getDistrictByCode(complaint.getDistrictsCode().toString());
+                if (Objects.nonNull(region)) {
+                    community = region.getRegionName();
+                }
+                break;
+            case 3:
+                ComStreet street = comStreetService.getById(complaint.getStreetId().toString());
+                if (Objects.nonNull(street)) {
+                    BcRegion district = bcRegionService.getDistrictByCode(street.getAreaCode().toString());
+                    community = Objects.nonNull(district) ? district.getRegionName() + "-" + street.getName() : street.getName();
+                }
+                break;
+            case 4:
+                ComAct act = comActService.getById(complaint.getCommunityId());
+                if (Objects.nonNull(act)) {
+                    ComStreet street2 = comStreetService.getById(complaint.getStreetId().toString());
+                    BcRegion district = bcRegionService.getDistrictByCode(act.getAreaCode());
+                    community = Objects.nonNull(district) && Objects.nonNull(street2)? district.getRegionName() + "-" + street2.getName() + "-" + act.getName() : act.getName();
+                }
+                break;
+            case 5:
+                ComAct act2 = comActService.getById(complaint.getCommunityId());
+                if (Objects.nonNull(act2)) {
+                    ComStreet street2 = comStreetService.getById(complaint.getStreetId().toString());
+                    BcRegion district = bcRegionService.getDistrictByCode(act2.getAreaCode());
+                    community = Objects.nonNull(district) && Objects.nonNull(street2)? district.getRegionName() + "-" + street2.getName() + "-" + act2.getName() : act2.getName();
+                }
+                break;
+        }
+
         PartyMember partyMember = null;
         if (Objects.nonNull(complaint.getPartyMemberId())){
              partyMember = partyMemberService.getById(complaint.getPartyMemberId());
@@ -993,7 +1026,7 @@
         map.put("community", community);
         map.put("problemType", complaint.getProblemType());
         map.put("descriptionContent", complaint.getDescriptionContent());
-        map.put("reportType", ReportTypeEnum.fromCode(complaint.getReportType())); //TODO待修改
+        map.put("reportType", ReportTypeEnum.fromCode(reportType).getDescription());
         map.put("partyOrganization",Objects.nonNull(partyMember)? partyMember.getPartyOrganization() : "");
         map.put("name", complaint.getName());
         map.put("contactNumber", complaint.getContactNumber());

--
Gitblit v1.7.1