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