From dbaee59a4cc2b5498af17eda8bb14eb0020e4063 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期五, 23 五月 2025 22:41:02 +0800
Subject: [PATCH] Merge remote-tracking branch '喜望/dev-2.0.1' into dev-2.0.1

---
 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/ComplaintRejectController.java |   64 ++++++++++++++++++++++++++++++-
 1 files changed, 61 insertions(+), 3 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/ComplaintRejectController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/ComplaintRejectController.java
index 60a458d..5668ce1 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/ComplaintRejectController.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/ComplaintRejectController.java
@@ -2,10 +2,14 @@
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.panzhihua.common.controller.BaseController;
 import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.sangeshenbian.SystemUserVo;
+import com.panzhihua.sangeshenbian.model.entity.SystemUserLevel;
 import com.panzhihua.sangeshenbian.model.query.ComplaintRejectQuery;
 import com.panzhihua.sangeshenbian.model.vo.ComplaintRejectVo;
 import com.panzhihua.sangeshenbian.service.IComplaintRejectService;
+import com.panzhihua.sangeshenbian.service.ISystemUserLevelService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -13,6 +17,9 @@
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -25,17 +32,68 @@
 @RestController
 @RequestMapping("/complaint-reject")
 @Api
-public class ComplaintRejectController {
+public class ComplaintRejectController extends BaseController {
     @Resource
     private IComplaintRejectService complaintRejectService;
+    @Resource
+    private ISystemUserLevelService systemUserLevelService;
 
 
     @GetMapping("/list")
     @ApiOperation(value = "获取问题驳回统计列表", tags = {"三个身边后台-问题驳回统计"})
     public R<IPage<ComplaintRejectVo>> list(ComplaintRejectQuery query){
+        SystemUserVo loginUserInfoSanGeShenBian = getLoginUserInfoSanGeShenBian();
+        Integer id = loginUserInfoSanGeShenBian.getId();
+        List<SystemUserLevel> listBySystemUsers = systemUserLevelService.getListBySystemUserId(id);
+        SystemUserLevel systemUserLevel = listBySystemUsers.stream().filter(e -> e.getLevel() == 1).findFirst().orElse(null);
+        List<String> districtsCodes=new ArrayList<>();
+        List<String> streetIds=new ArrayList<>();
+        List<Long> communityIds=new ArrayList<>();
+        // 看是否直接是市级账号
+        if(systemUserLevel==null){
+            // 不是市级 查看是否是区县账号
+            List<SystemUserLevel> systemUserLevels2 = listBySystemUsers.stream().filter(e -> e.getLevel() == 2).collect(Collectors.toList());
+            if(!systemUserLevels2.isEmpty()){
+                // 区县账号 找出code
+                districtsCodes = systemUserLevels2.stream().map(SystemUserLevel::getDistrictsCode).collect(Collectors.toList());
+            }else {
+                districtsCodes.add("-1");
+            }
 
-        IPage<ComplaintRejectVo> list  = complaintRejectService.getComplaintRejectList(query);
-        return R.ok(list);
+            List<SystemUserLevel> systemUserLevels3 = listBySystemUsers.stream().filter(e -> e.getLevel() == 3).collect(Collectors.toList());
+            if(!systemUserLevels3.isEmpty()){
+                // 街道账号 找出id 且不在上面的区县下的街道
+                List<String> finalDistrictsCodes1 = districtsCodes;
+                streetIds = systemUserLevels3.stream().filter(e -> !finalDistrictsCodes1.contains(e.getDistrictsCode())).map(SystemUserLevel::getStreetId).collect(Collectors.toList());
+                if(streetIds.isEmpty()){
+                    streetIds.add("-1");
+                }
+            }else {
+                streetIds.add("-1");
+            }
+
+            List<SystemUserLevel> systemUserLevels4 = listBySystemUsers.stream().filter(e -> e.getLevel() == 4).collect(Collectors.toList());
+            if(!systemUserLevels4.isEmpty()){
+                // community账号 找出id 且不在上面的街道下的社区
+                List<String> finalStreetIds1 = streetIds;
+                List<String> finalDistrictsCodes2 = districtsCodes;
+                communityIds = systemUserLevels4.stream().filter(e -> !finalStreetIds1.contains(e.getStreetId()) && !finalDistrictsCodes2.contains(e.getDistrictsCode())).map(SystemUserLevel::getCommunityId).collect(Collectors.toList());
+            }else {
+                communityIds.add(-1L);
+            }
+            List<String> finalDistrictsCodes = districtsCodes;
+            List<String> finalStreetIds = streetIds;
+            List<Long> finalCommunityIds = communityIds;
+            IPage<ComplaintRejectVo> list  = complaintRejectService.getComplaintRejectListOther(query,finalDistrictsCodes,finalStreetIds,finalCommunityIds);
+            return R.ok(list);
+        }else {
+            IPage<ComplaintRejectVo> list  = complaintRejectService.getComplaintRejectList(query);
+            return R.ok(list);
+        }
+
+
+
+
     }
 
 

--
Gitblit v1.7.1