From ba41b9351647a36bad13c0ab03d3fb602f5f4b27 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期一, 23 六月 2025 17:47:04 +0800
Subject: [PATCH] 2.0后台模块

---
 springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/api/AnalyticStatisticsController.java |  164 ++++++++++++------------------------------------------
 1 files changed, 37 insertions(+), 127 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/api/AnalyticStatisticsController.java b/springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/api/AnalyticStatisticsController.java
index 29b331d..4e99354 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/api/AnalyticStatisticsController.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/api/AnalyticStatisticsController.java
@@ -52,6 +52,9 @@
     @Resource
     private IComActService comActService;
 
+    @Resource
+    private ISystemUserService iSystemUserService;
+
 
 
     @PostMapping("/data")
@@ -59,28 +62,15 @@
     public R<AnalyticStatisticsDataVo> data(@Valid @RequestBody AnalyticStatisticsQuery query){
         SystemUserVo loginUserInfo = getLoginUserInfoWest();
         Integer id = loginUserInfo.getId();
-        List<SystemUserLevel> listBySystemUsers = systemUserLevelService.getListBySystemUserId(id);
-        if(listBySystemUsers.size()==0){
-            // 没有权限
-            return R.ok(new AnalyticStatisticsDataVo());
-        }
+        SystemUser systemUser = iSystemUserService.getById(id);
+        Integer accountLevel = systemUser.getAccountLevel();
         LambdaQueryWrapper<Complaint> wrapper = new LambdaQueryWrapper<>();
-        SystemUserLevel systemUserLevel = listBySystemUsers.stream().filter(e -> e.getLevel() == 1).findFirst().orElse(null);
-        if(query.getCityCode()!=null){
-            // 判断是否有市级权限
-            if(systemUserLevel==null){
-                throw new ServiceException("没有市级权限");
-            }
-            wrapper.eq(Complaint::getCityCode, query.getCityCode());
-        }
         if(query.getDistrictCode()!=null){
-            // 判断是否有区县权限
-            List<SystemUserLevel> systemUserLevels2 = listBySystemUsers.stream().filter(e -> e.getLevel() == 2 && e.getDistrictsCode().equals(query.getDistrictCode().toString())).collect(Collectors.toList());
             // 没有市权限 也没有该区权限
-            if(systemUserLevels2.size()==0 && systemUserLevel==null){
+            if(accountLevel!=2){
                 throw new ServiceException("没有该区县权限");
             }
-            wrapper.eq(Complaint::getDistrictsCode, query.getDistrictCode());
+            wrapper.eq(Complaint::getSuperiorId, query.getDistrictCode());
         }
         if(query.getStreetId()!=null){
             // 获取街道上一级查看是否有上级权限
@@ -88,14 +78,13 @@
             if(comStreet==null){
                 throw new ServiceException("没有该街道权限");
             }
-            List<SystemUserLevel> systemUserLevels2 = listBySystemUsers.stream().filter(e -> e.getLevel() == 2 && e.getDistrictsCode().equals(comStreet.getAreaCode().toString())).collect(Collectors.toList());
-            // 判断是否有街道权限
-            List<SystemUserLevel> systemUserLevels3 = listBySystemUsers.stream().filter(e -> e.getLevel() == 3 && e.getStreetId().equals(query.getStreetId().toString())).collect(Collectors.toList());
             // 没有市级 上级区县  本级街道权限
-            if(systemUserLevels3.size()==0 && systemUserLevel==null && systemUserLevels2.size()==0){
+            if(accountLevel==2 || (accountLevel==3 && systemUser.getDistrictsCode().equals(query.getDistrictCode().toString()))){
+                wrapper.eq(Complaint::getSuperiorId, query.getStreetId());
+            }else {
                 throw new ServiceException("没有该街道权限");
             }
-            wrapper.eq(Complaint::getStreetId, query.getStreetId());
+
         }
         if(query.getCommunityId()!=null){
 
@@ -103,65 +92,22 @@
             if (comAct == null) {
                 throw new ServiceException("没有该社区权限");
             }
-            // 查看是否有上级街道权限
-            List<SystemUserLevel> systemUserLevels2 = listBySystemUsers.stream().filter(e -> e.getLevel() == 3 && e.getStreetId().equals(comAct.getStreetId().toString())).collect(Collectors.toList());
-
-            // 查看是否有上级区权限
-            List<SystemUserLevel> systemUserLevels3 = listBySystemUsers.stream().filter(e -> e.getLevel() == 2 && e.getDistrictsCode().equals(comAct.getAreaCode())).collect(Collectors.toList());
-
-            // 查看是否有本级权限
-            List<SystemUserLevel> systemUserLevels4 = listBySystemUsers.stream().filter(e -> e.getLevel() == 4 && e.getCommunityId().equals(query.getCommunityId())).collect(Collectors.toList());
 
             // 判断是否有上面的4个权限
-            if(systemUserLevels4.size()==0 && systemUserLevels3.size()==0 && systemUserLevels2.size()==0 && systemUserLevel==null){
+            if(accountLevel==2 ||  (accountLevel==3 && systemUser.getDistrictsCode().equals(comAct.getStreetId().toString()) || accountLevel==4 && systemUser.getCommunityId().equals(comAct.getCommunityId()))){
+                wrapper.eq(Complaint::getSuperiorId, query.getCommunityId());
+            }else {
                 throw new ServiceException("没有该社区权限");
             }
-            wrapper.eq(Complaint::getCommunityId, query.getCommunityId());
         }
+
         // 都为空 查他有的
         if(query.getCityCode()==null && query.getDistrictCode()==null && query.getStreetId()==null && query.getCommunityId()==null){
-            // 看是否直接是市级账号
-            if(systemUserLevel==null){
-                List<String> districtsCodes=new ArrayList<>();
-                List<String> streetIds=new ArrayList<>();
-                List<Long> communityIds=new ArrayList<>();
-                // 不是市级 查看是否是区县账号
-                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");
-                }
-
-                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;
-                wrapper.and(wrapper1 -> {
-                    wrapper1.in(Complaint::getDistrictsCode, finalDistrictsCodes).or().in(Complaint::getStreetId, finalStreetIds).or().in(Complaint::getCommunityId, finalCommunityIds);
-                });
-
+            if(systemUser.getSystemRoleId()==1){
+                wrapper.eq(Complaint::getNowLevel,systemUser.getAccountLevel());
+            }else {
+                wrapper.eq(Complaint::getNowLevel,systemUser.getAccountLevel())
+                        .eq(Complaint::getAssignPersonId,systemUser.getOneDepartmentId());
             }
         }
 
@@ -196,70 +142,34 @@
     public R<AnalyticStatisticsRegionVo> getRegion(){
         SystemUserVo loginUserInfo = getLoginUserInfoWest();
         Integer id = loginUserInfo.getId();
-        List<SystemUserLevel> listBySystemUsers = systemUserLevelService.getListBySystemUserId(id);
-        // 如果有市级权限  展示所有
-        SystemUserLevel systemUserLevel = listBySystemUsers.stream().filter(e -> e.getLevel() == 1).findFirst().orElse(null);
 
+        SystemUser systemUser = iSystemUserService.getById(id);
+        // 如果有区权限  展示所有
         AnalyticStatisticsRegionVo analyticStatisticsRegionVo = new AnalyticStatisticsRegionVo();
-        if(systemUserLevel!=null){
+        if(systemUser.getAccountLevel()==2){
             // 查询所有的县 街道 社区
-            List<BcRegion> list = bcRegionService.list(new LambdaQueryWrapper<BcRegion>().eq(BcRegion::getParentId, 510400));
-
-            List<ComStreet> list1 = comStreetService.list(new LambdaQueryWrapper<ComStreet>().eq(ComStreet::getCityCode, 510400));
-
-            List<ComAct> list2 = comActService.list(new LambdaQueryWrapper<ComAct>().eq(ComAct::getState,0).eq(ComAct::getCityCode, 510400));
-            analyticStatisticsRegionVo.setBcRegions(list);
+            List<ComStreet> list1 = comStreetService.list(new LambdaQueryWrapper<ComStreet>().eq(ComStreet::getAppId, "wx0cef797390444b75"));
+            List<ComAct> list2 = comActService.list(new LambdaQueryWrapper<ComAct>().eq(ComAct::getState,0).eq(ComAct::getAppId, "wx0cef797390444b75"));
             analyticStatisticsRegionVo.setComStreets(list1);
             analyticStatisticsRegionVo.setComActs(list2);
-
             return R.ok(analyticStatisticsRegionVo);
         }
 
-        // 有区县级权限
-        List<SystemUserLevel> systemUserLevels = listBySystemUsers.stream().filter(e -> e.getLevel() == 2).collect(Collectors.toList());
-        // 拥有的区县code
-        List<String> collect = systemUserLevels.stream().map(SystemUserLevel::getDistrictsCode).collect(Collectors.toList());
-        if(collect.size()==0){
-            collect.add("-1");
-        }
-        // 找出这个区县的
-        List<BcRegion> list = bcRegionService.list(new LambdaQueryWrapper<BcRegion>().eq(BcRegion::getParentId, 510400).in(BcRegion::getRegionCode, collect));
-        // 区县街道
-        List<ComStreet> list1 = comStreetService.list(new LambdaQueryWrapper<ComStreet>().in(ComStreet::getAreaCode, collect));
-
-        // 区县社区
-        List<ComAct> list2 = comActService.list(new LambdaQueryWrapper<ComAct>().in(ComAct::getAreaCode, collect).eq(ComAct::getState,0));
-
-        // 有街道权限 排除上个查询出来的
-        List<SystemUserLevel> systemUserLevels1 = listBySystemUsers.stream().filter(e -> e.getLevel() == 3 && !collect.contains(e.getDistrictsCode())).collect(Collectors.toList());
-        List<String> collect1 = systemUserLevels1.stream().map(SystemUserLevel::getStreetId).collect(Collectors.toList());
-        if(collect1.size()==0){
-            collect1.add("-1");
+        if(systemUser.getAccountLevel()==3){
+            // 查询所有的县 街道 社区
+            List<ComStreet> list1 = comStreetService.list(new LambdaQueryWrapper<ComStreet>().eq(ComStreet::getStreetId, systemUser.getStreetId()).eq(ComStreet::getAppId, "wx0cef797390444b75"));
+            List<ComAct> list2 = comActService.list(new LambdaQueryWrapper<ComAct>().eq(ComAct::getStreetId, systemUser.getStreetId()).eq(ComAct::getState,0).eq(ComAct::getAppId, "wx0cef797390444b75"));
+            analyticStatisticsRegionVo.setComStreets(list1);
+            analyticStatisticsRegionVo.setComActs(list2);
+            return R.ok(analyticStatisticsRegionVo);
         }
 
-        // 区县街道
-        List<ComStreet> list3 = comStreetService.list(new LambdaQueryWrapper<ComStreet>().in(ComStreet::getStreetId, collect1));
-
-        // 区县社区
-        List<ComAct> list4 = comActService.list(new LambdaQueryWrapper<ComAct>().in(ComAct::getStreetId, collect1).eq(ComAct::getState,0));
-
-        list1.addAll(list3);
-        list2.addAll(list4);
-
-        // 有社区权限 排除上个查询出来的
-        List<SystemUserLevel> systemUserLevels2 = listBySystemUsers.stream().filter(e -> e.getLevel() == 4 && !collect.contains(e.getDistrictsCode()) && !collect1.contains(e.getStreetId())).collect(Collectors.toList());
-        List<Long> collect2 = systemUserLevels2.stream().map(SystemUserLevel::getCommunityId).collect(Collectors.toList());
-        if(collect2.size()==0){
-            collect2.add(-1l);
+        if(systemUser.getAccountLevel()==4){
+            // 查询所有的县 街道 社区
+            List<ComAct> list2 = comActService.list(new LambdaQueryWrapper<ComAct>().eq(ComAct::getCommunityId, systemUser.getCommunityId()).eq(ComAct::getState,0).eq(ComAct::getAppId, "wx0cef797390444b75"));
+            analyticStatisticsRegionVo.setComActs(list2);
+            return R.ok(analyticStatisticsRegionVo);
         }
-
-        // 区县社区
-        List<ComAct> list6 = comActService.list(new LambdaQueryWrapper<ComAct>().in(ComAct::getCommunityId, collect2).eq(ComAct::getState,0));
-        list2.addAll(list6);
-
-        analyticStatisticsRegionVo.setBcRegions(list);
-        analyticStatisticsRegionVo.setComStreets(list1);
-        analyticStatisticsRegionVo.setComActs(list2);
 
         return R.ok(analyticStatisticsRegionVo);
 

--
Gitblit v1.7.1