From c9dfc82c1b2a51a4961c0c8c955bc646acf6b8cb Mon Sep 17 00:00:00 2001 From: zhouxiantao <1026371446@qq.com> Date: Wed, 25 Sep 2024 16:49:55 +0800 Subject: [PATCH] 小程序是否可见控制 --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java | 139 +++++++++++++++++++++++++++++++--------------- 1 files changed, 93 insertions(+), 46 deletions(-) diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java index 4ff5c88..953dec4 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java +++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java @@ -5,14 +5,11 @@ import cn.huge.module.cases.domain.dto.*; import cn.huge.module.cases.domain.dto.CaseAreaDTO; -import cn.huge.module.cases.domain.po.CaseAgent; -import cn.huge.module.cases.domain.po.CaseInfoUnfold; -import cn.huge.module.cases.domain.po.CasePerson; +import cn.huge.module.cases.domain.po.*; import cn.huge.module.client.api.impl.CustClientImpl; import cn.huge.module.client.api.impl.SysClientImpl; import cn.huge.module.client.api.impl.UtilsClientImpl; import cn.huge.module.cases.dao.mapper.CaseInfoMapper; -import cn.huge.module.cases.domain.po.CaseInfo; import cn.huge.module.constant.BaseConsts; import cn.huge.module.cust.dto.PaUserDTO; import cn.huge.module.mediate.constant.*; @@ -22,6 +19,7 @@ import cn.huge.module.mediate.dto.WechatBindCaseDTO; import cn.huge.module.sys.dto.FileIdTypeInfoBaseDTO; import cn.huge.module.sys.dto.QueAddrBaseDTO; +import cn.huge.module.sys.dto.QueAreaDTO; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -40,6 +38,7 @@ import java.io.File; import java.io.IOException; +import java.net.URL; import java.nio.file.Files; import java.util.*; import java.util.stream.Collectors; @@ -242,8 +241,6 @@ caseInfo.setDefendants(defendants.toString()); caseInfo.setDagents(dagents.toString()); caseInfo.setCaseRef(utilsClient.createCaseRef()); - caseInfo.setCanal(CaseBaseConstsEnum.CASE_CANAL_1.getIndex()); - caseInfo.setCanalName(CaseBaseConstsEnum.CASE_CANAL_1.getDes()); caseInfo.setVisitWay(CaseBaseConstsEnum.VISIT_WAY_1.getIndex()); caseInfo.setVisitWayName(CaseBaseConstsEnum.VISIT_WAY_1.getDes()); //todo case_title生成、经纬度转换 @@ -600,6 +597,12 @@ caseInfo.setInputUserId(loginUser.getId()); caseInfo.setInputUserName(loginUser.getTrueName()); caseInfo.setInputWay(CaseBaseConsts.INPUT_WAY_1); + if(ObjectUtils.isEmpty(registerSaveDTO.getPeopleNum())){ + caseInfo.setPeopleNum(0); + } + if(ObjectUtils.isEmpty(registerSaveDTO.getAmount())){ + caseInfo.setAmount(0.0); + } //默认添加省市 caseInfo.setQueProv("19"); caseInfo.setQueProvName("广东省"); @@ -838,6 +841,7 @@ } List<String> ids = casePersonList.stream().map(CasePerson::getCaseId).collect(Collectors.toList()); terms.put("ids", ids); + terms.put("partyShow",1); long total = mapper.countTerms(terms); List<CaseInfo> content = mapper.pageTerms(page, terms); if (ObjectUtils.isNotEmpty(content)) { @@ -906,6 +910,26 @@ List<CasePageDTO> content = mapper.pageTermsAll(page, terms); if (ObjectUtils.isNotEmpty(content)) { for (CasePageDTO casePageDTO : content) { + if(ObjectUtils.isNotEmpty(casePageDTO.getQueRoadName())){ + casePageDTO.setAreaName(casePageDTO.getQueRoadName()); + }else if(ObjectUtils.isNotEmpty(casePageDTO.getAreaName())){ + casePageDTO.setAreaName(casePageDTO.getAreaName()); + }else if(ObjectUtils.isNotEmpty(casePageDTO.getQueCityName())){ + casePageDTO.setAreaName(casePageDTO.getQueCityName()); + } + if(ObjectUtils.isNotEmpty(casePageDTO.getCaseLevel())){ + switch (casePageDTO.getCaseLevel()){ + case "1": + casePageDTO.setCaseLevel("一级"); + break; + case "2": + casePageDTO.setCaseLevel("二级"); + break; + case "3": + casePageDTO.setCaseLevel("三级"); + break; + } + } QueryWrapper<CasePerson> personWrapper1 = new QueryWrapper<>(); personWrapper1.eq("case_id", casePageDTO.getId()); List<CasePerson> casePersonList1 = personService.list(personWrapper1); @@ -930,6 +954,10 @@ } public CaseStatisticsBaseDTO statistics(Map<String, Object> terms) throws IOException { + Object canal = null; + if(ObjectUtils.isNotEmpty(terms.get("canal"))){ + canal = terms.get("canal"); + } //基础数据统计 CaseStatisticsBaseDTO caseStatisticsBaseDTO = mapper.statisticsBase(terms); Integer baseTotalNum = dellNull(caseStatisticsBaseDTO.getResolveNum()) + dellNull(caseStatisticsBaseDTO.getUnResolveNum()) + dellNull(caseStatisticsBaseDTO.getResolveingNum()); @@ -958,9 +986,9 @@ areaCodeList.add(caseStatisticsAreaDTO.getAreaCode()); } caseStatisticsAreaDTOS.add(allArea); - List<CaseAreaDTO> queArea = listAreaByType(terms.get("areaType"), terms.get("queArea")); + List<QueAreaDTO> queArea = listAreaByType(terms.get("queArea")); log.info("listAreaByType {}", JSON.toJSONString(queArea)); - for (CaseAreaDTO caseAreaDTO : queArea) { + for (QueAreaDTO caseAreaDTO : queArea) { if (!areaCodeList.contains(caseAreaDTO.getAreaCode())) { CaseStatisticsAreaDTO areaChild = new CaseStatisticsAreaDTO(); areaChild.setAreaCode(caseAreaDTO.getAreaCode()); @@ -1008,31 +1036,55 @@ //事项来源 terms.put("canal", CaseBaseConstsEnum.CASE_CANAL_1.getIndex()); CaseStatisticsSourceDTO oneSource = mapper.statisticsSource(terms); + if(ObjectUtils.isEmpty(oneSource)){ + oneSource = new CaseStatisticsSourceDTO(); + } oneSource.setCanalName(CaseBaseConstsEnum.CASE_CANAL_1.getDes()); terms.put("canal", CaseBaseConstsEnum.CASE_CANAL_2.getIndex()); CaseStatisticsSourceDTO twoSource = mapper.statisticsSource(terms); + if(ObjectUtils.isEmpty(twoSource)){ + twoSource = new CaseStatisticsSourceDTO(); + } twoSource.setCanalName(CaseBaseConstsEnum.CASE_CANAL_2.getDes()); - Integer sourceTotalNum = dellNull(oneSource.getCaseNum()) + dellNull(oneSource.getCaseNum()); + terms.put("canal", CaseBaseConstsEnum.CASE_CANAL_3.getIndex()); + CaseStatisticsSourceDTO threeSource = mapper.statisticsSource(terms); + if(ObjectUtils.isEmpty(threeSource)){ + threeSource = new CaseStatisticsSourceDTO(); + } + + terms.put("canal", CaseBaseConstsEnum.CASE_CANAL_4.getIndex()); + CaseStatisticsSourceDTO fourSource = mapper.statisticsSource(terms); + if(ObjectUtils.isEmpty(fourSource)){ + fourSource = new CaseStatisticsSourceDTO(); + } + + Integer sourceTotalNum = dellNull(oneSource.getCaseNum()) + dellNull(twoSource.getCaseNum()) + dellNull(threeSource.getCaseNum()) + dellNull(fourSource.getCaseNum()); oneSource.setCaseRate(BigDecimalUtil.integerDivideDelZero(oneSource.getCaseNum() * 100, sourceTotalNum, 1)); oneSource.setResolveRate(BigDecimalUtil.integerDivideDelZero(oneSource.getResolveNum() * 100, oneSource.getCaseNum(), 1)); twoSource.setCaseRate(BigDecimalUtil.integerDivideDelZero(twoSource.getCaseNum() * 100, sourceTotalNum, 1)); twoSource.setResolveRate(BigDecimalUtil.integerDivideDelZero(twoSource.getResolveNum() * 100, twoSource.getCaseNum(), 1)); - CaseStatisticsSourceDTO threeSource = new CaseStatisticsSourceDTO(); - threeSource.setCanalName("自行排查"); - threeSource.setResolveRate("0"); - threeSource.setCaseRate("0"); - CaseStatisticsSourceDTO fourSource = new CaseStatisticsSourceDTO(); - fourSource.setCanalName("协同推送"); - fourSource.setResolveRate("0"); - fourSource.setCaseRate("0"); + + threeSource.setCanalName(CaseBaseConstsEnum.CASE_CANAL_3.getDes()); + threeSource.setCaseRate(BigDecimalUtil.integerDivideDelZero(threeSource.getCaseNum() * 100, sourceTotalNum, 1)); + threeSource.setResolveRate(BigDecimalUtil.integerDivideDelZero(threeSource.getResolveNum() * 100, threeSource.getCaseNum(), 1)); + + fourSource.setCanalName(CaseBaseConstsEnum.CASE_CANAL_4.getDes()); + fourSource.setCaseRate(BigDecimalUtil.integerDivideDelZero(fourSource.getCaseNum() * 100, sourceTotalNum, 1)); + fourSource.setResolveRate(BigDecimalUtil.integerDivideDelZero(fourSource.getResolveNum() * 100, fourSource.getCaseNum(), 1)); + caseStatisticsBaseDTO.setOneSource(oneSource); caseStatisticsBaseDTO.setTwoSource(twoSource); caseStatisticsBaseDTO.setThreeSource(threeSource); caseStatisticsBaseDTO.setFourSource(fourSource); //案件集合 + if(ObjectUtils.isEmpty(canal)){ + terms.remove("canal"); + }else{ + terms.put("canal", canal); + } Sort sort = Sort.by(Sort.Direction.DESC, "a.create_time"); PageRequest pageRequest = PageRequest.of(0, 5, sort); Page<CasePageDTO> casePageDTOS = pageQueryAll(pageRequest, terms); @@ -1060,8 +1112,24 @@ } public List<CaseStatisticsAreaDTO> sortArea(List<CaseStatisticsAreaDTO> caseStatisticsAreaDTOS) { + Map<String, String> map = new HashMap<>(); + map.put("越秀区","2"); + map.put("海珠区","3"); + map.put("荔湾区","4"); + map.put("天河区","5"); + map.put("白云区","6"); + map.put("黄埔区","7"); + map.put("花都区","8"); + map.put("番禺区","9"); + map.put("南沙区","10"); + map.put("从化区","11"); + map.put("增城区","12"); + for (CaseStatisticsAreaDTO caseStatisticsAreaDTO : caseStatisticsAreaDTOS) { + if(map.containsKey(caseStatisticsAreaDTO.getAreaName())){ + caseStatisticsAreaDTO.setAreaCode(map.get(caseStatisticsAreaDTO.getAreaName())); + } + } caseStatisticsAreaDTOS.sort((o1, o2) -> { - log.info("xsd:{},{}",o1,o2); Integer totalScore1 = Integer.valueOf(o1.getAreaCode()); Integer totalScore2 = Integer.valueOf(o2.getAreaCode()); if (totalScore1 > totalScore2) { @@ -1082,38 +1150,17 @@ return number; } - /** - * 根据json文件获取区域信息 - */ - public CaseAreaDTO getArea() throws IOException { - Class<?> clazz = CaseAreaDTO.class; - ObjectMapper mapper = new ObjectMapper(); - - File file = new File("area/Area.json"); - CaseAreaDTO obj = mapper.readValue(file, CaseAreaDTO.class); - return obj; - } - /** * 根据不同的等级获取不同区域子集合 - * - * @param areaType 1-市级 2-区 */ - public List<CaseAreaDTO> listAreaByType(Object areaType, Object areaCode) throws IOException { - log.info("listAreaByType {},{}", areaType, areaCode); - CaseAreaDTO area = getArea(); - if (ObjectUtils.isEmpty(areaType) || areaType.equals("") || areaType.equals("1")) { - return area.getChildren(); + public List<QueAreaDTO> listAreaByType(Object areaCode) { + log.info("listAreaByType {},{}", areaCode); + String parentId = "1601"; + if (ObjectUtils.isNotEmpty(areaCode)) { + parentId = String.valueOf(areaCode); } - if (areaType.equals("2")) { - List<CaseAreaDTO> children = area.getChildren(); - for (CaseAreaDTO child : children) { - if (child.getAreaCode().equals(areaCode)) { - return child.getChildren(); - } - } - } - return new ArrayList<>(); + List<QueAreaDTO> queAreaDTOS = sysClient.listByParentId(parentId); + return queAreaDTOS; } } -- Gitblit v1.8.0