From dedefa06e62e001b69fa52bb18c759f5fe951c08 Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期五, 06 六月 2025 18:32:28 +0800 Subject: [PATCH] 替换百度key --- springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/AnalyticStatisticsController.java | 93 ++++++++++++++++++++++++++++++++++++---------- 1 files changed, 72 insertions(+), 21 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/AnalyticStatisticsController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/AnalyticStatisticsController.java index a55aeb8..44109e2 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/AnalyticStatisticsController.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/AnalyticStatisticsController.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.panzhihua.common.controller.BaseController; +import com.panzhihua.common.exceptions.ServiceException; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.sangeshenbian.SystemUserVo; import com.panzhihua.sangeshenbian.model.entity.*; @@ -51,6 +52,8 @@ @Resource private IComActService comActService; + + @PostMapping("/data") @ApiOperation(value = "分析统计", tags = {"三个身边后台-分析统计"}) public R<AnalyticStatisticsDataVo> data(@Valid @RequestBody AnalyticStatisticsQuery query){ @@ -58,50 +61,99 @@ Integer id = loginUserInfoSanGeShenBian.getId(); List<SystemUserLevel> listBySystemUsers = systemUserLevelService.getListBySystemUserId(id); if(listBySystemUsers.size()==0){ + // 没有权限 return R.ok(new AnalyticStatisticsDataVo()); } - - LambdaQueryWrapper<Complaint> wrapper = new LambdaQueryWrapper<Complaint>(); + 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){ + throw new ServiceException("没有该区县权限"); + } wrapper.eq(Complaint::getDistrictsCode, query.getDistrictCode()); } if(query.getStreetId()!=null){ + // 获取街道上一级查看是否有上级权限 + ComStreet comStreet = comStreetService.getById(query.getStreetId()); + 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){ + throw new ServiceException("没有该街道权限"); + } wrapper.eq(Complaint::getStreetId, query.getStreetId()); } if(query.getCommunityId()!=null){ + + ComAct comAct = comActService.getById(query.getCommunityId()); + 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){ + throw new ServiceException("没有该社区权限"); + } wrapper.eq(Complaint::getCommunityId, query.getCommunityId()); } // 都为空 查他有的 if(query.getCityCode()==null && query.getDistrictCode()==null && query.getStreetId()==null && query.getCommunityId()==null){ // 看是否直接是市级账号 - SystemUserLevel systemUserLevel = listBySystemUsers.stream().filter(e -> e.getLevel() == 1).findFirst().orElse(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.size()>0){ + if(!systemUserLevels2.isEmpty()){ + // 区县账号 找出code districtsCodes = systemUserLevels2.stream().map(SystemUserLevel::getDistrictsCode).collect(Collectors.toList()); }else { - districtsCodes.add("0"); + districtsCodes.add("-1"); } List<SystemUserLevel> systemUserLevels3 = listBySystemUsers.stream().filter(e -> e.getLevel() == 3).collect(Collectors.toList()); - if(systemUserLevels3.size()>0){ - streetIds = systemUserLevels3.stream().filter(e -> !systemUserLevels2.contains(e.getDistrictsCode())).map(SystemUserLevel::getStreetId).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("0"); + streetIds.add("-1"); } List<SystemUserLevel> systemUserLevels4 = listBySystemUsers.stream().filter(e -> e.getLevel() == 4).collect(Collectors.toList()); - if(systemUserLevels4.size()>0){ - communityIds = systemUserLevels4.stream().filter(e -> !systemUserLevels3.contains(e.getStreetId()) && !systemUserLevels2.contains(e.getDistrictsCode())).map(SystemUserLevel::getCommunityId).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(0L); + communityIds.add(-1L); } List<String> finalDistrictsCodes = districtsCodes; List<String> finalStreetIds = streetIds; @@ -119,14 +171,13 @@ AnalyticStatisticsOneVo analyticStatisticsOneVo = complaintService.analyticStatisticsOne(query,complaints,simpleDateFormat); // 第二部分数据 - List<AnalyticStatisticsTwoVo> analyticStatisticsTwoVos =complaintService.analyticStatisticsTwo(query,complaints,simpleDateFormat); + List<AnalyticStatisticsTwoVo> analyticStatisticsTwoVos =complaintService.analyticStatisticsTwo(query.getTime(),complaints,simpleDateFormat); // 第三部分数据 - List<AnalyticStatisticsThreeVo> analyticStatisticsThreeVos =complaintService.analyticStatisticsThree(query,complaints); + List<AnalyticStatisticsThreeVo> analyticStatisticsThreeVos =complaintService.analyticStatisticsThree(query.getRank(), complaints); // 第四部分数据 AnalyticStatisticsFourVo analyticStatisticsFourVos =complaintService.analyticStatisticsFour(complaints); - AnalyticStatisticsDataVo analyticStatisticsDataVo = new AnalyticStatisticsDataVo(); analyticStatisticsDataVo.setAnalyticStatisticsOneVo(analyticStatisticsOneVo); @@ -154,12 +205,13 @@ // 查询所有的县 街道 社区 List<BcRegion> list = bcRegionService.list(new LambdaQueryWrapper<BcRegion>().eq(BcRegion::getParentId, 510400)); - List<ComStreet> list1 = comStreetService.list(new LambdaQueryWrapper<ComStreet>().eq(ComStreet::getAreaCode, 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::getAreaCode, 510400)); + List<ComAct> list2 = comActService.list(new LambdaQueryWrapper<ComAct>().eq(ComAct::getState,0).eq(ComAct::getCityCode, 510400)); analyticStatisticsRegionVo.setBcRegions(list); analyticStatisticsRegionVo.setComStreets(list1); analyticStatisticsRegionVo.setComActs(list2); + return R.ok(analyticStatisticsRegionVo); } @@ -168,24 +220,23 @@ // 拥有的区县code List<String> collect = systemUserLevels.stream().map(SystemUserLevel::getDistrictsCode).collect(Collectors.toList()); if(collect.size()==0){ - collect.add("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("0"); + collect1.add("-1"); } + // 区县街道 List<ComStreet> list3 = comStreetService.list(new LambdaQueryWrapper<ComStreet>().in(ComStreet::getStreetId, collect1)); @@ -199,7 +250,7 @@ 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(0l); + collect2.add(-1l); } // 区县社区 -- Gitblit v1.7.1