From 6fc5e2138599d7ef44bfc4b261f80e65cd6a43f6 Mon Sep 17 00:00:00 2001 From: 陈战涛 <chenzhantao7055@sina.com> Date: 星期二, 30 五月 2023 09:20:23 +0800 Subject: [PATCH] 上海嘉定纪委接口优化4 --- src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiRemoteService2023.java | 438 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 418 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiRemoteService2023.java b/src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiRemoteService2023.java index 7fe842e..bba2223 100644 --- a/src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiRemoteService2023.java +++ b/src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiRemoteService2023.java @@ -1,25 +1,28 @@ package com.fzzy.push.shjdjw2023; import com.alibaba.fastjson.JSON; +import com.bstek.dorado.util.DateUtils; import com.fzzy.api.Constant; import com.fzzy.api.data.ApiParam; import com.fzzy.api.data.PushProtocol; import com.fzzy.api.dto.ResponseDto; -import com.fzzy.api.entity.ApiConfs; -import com.fzzy.api.entity.ApiLog; +import com.fzzy.api.entity.*; import com.fzzy.api.service.ApiCommonService; import com.fzzy.api.service.ApiRemoteService; +import com.fzzy.api.service.ApiTriggerService; import com.fzzy.api.utils.ContextUtil; import com.fzzy.api.utils.RedisUtil; -import com.fzzy.api.view.repository.ApiLogRep; -import com.fzzy.push.gd2022.dto.*; -import com.fzzy.push.shjdjw2023.dto.ShjdjwReqDto; +import com.fzzy.api.view.repository.*; +import com.fzzy.push.shjdjw2023.dto.*; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.text.DateFormat; +import java.text.DecimalFormat; import java.util.*; /** @@ -35,12 +38,28 @@ @Autowired private RedisUtil redisUtil; - @Autowired private ApiCommonService apiCommonService; - + @Autowired + private ApiTriggerService apiTriggerService; @Autowired private ApiLogRep apiLogRep; + @Autowired + private Api1101Rep api1101Rep; + @Autowired + private Api1102Rep api1102Rep; + @Autowired + private Api1103Rep api1103Rep; + @Autowired + private Api1105Rep api1105Rep; + @Autowired + private Api1202Rep api1202Rep; + @Autowired + private Api1104Rep api1104Rep; + @Autowired + private Api1208Rep api1208Rep; + @Autowired + private Api1404Rep api1404Rep; @Override @@ -93,16 +112,38 @@ return responseDto; } - Map<String, Object> map = new HashMap<>(); - GD2022ResponseDto responseDto = Shjdjw2023HttpClientUtil.postPushData(conf.getApiUrl() + inteId, jsonData, conf); + ShjdjwRespDto responseDto = Shjdjw2023HttpClientUtil.postPushData(conf.getApiUrl(), jsonData, conf); responseDto.setBizId(bizId); - apiLog.setStatus(responseDto.getCode() == 200 ? 0 : responseDto.getCode()); - apiLog.setResult(responseDto.getMsg()); + apiLog.setStatus(responseDto.getCode() == 1 ? 0 : responseDto.getCode()); + apiLog.setResult(responseDto.getDescription()); apiLogRep.save(apiLog); ResponseDto resd = new ResponseDto(); - resd.setSuccess(responseDto.getCode() == 200 ? 0 : responseDto.getCode()); - resd.setMsg(responseDto.getMsg()); - //updateGD2022AuthToken(responseDto,conf, token); + resd.setSuccess(responseDto.getCode() == 1 ? 0 : responseDto.getCode()); + resd.setMsg(responseDto.getDescription()); + + if (Constant.API_CODE_1403.equals(inteId)) { + //杞崲璁″垝瀹屾垚鎯呭喌鏁版嵁灏佽 + Shjdjw1502 shjdjw1502 = copy1502((Api1403) data); + ShjdjwReqDto<Object> dto = new ShjdjwReqDto<>(); + dto.setId(getDataId(ShjdjwApiCodeConstant.API_CODE_LS1502)); + List<Object> list = new ArrayList<>(); + list.add(shjdjw1502); + dto.setData(list); + String json = JSON.toJSONString(dto); + + //杞崲璁″垝瀹屾垚鎯呭喌鏁版嵁涓婁紶 + apiLog.setData(json); + apiLog.setKqdm(kqdm); + apiLog.setUploadTime(new Date()); + ShjdjwRespDto shjdjwresponseDto = Shjdjw2023HttpClientUtil.postPushData(conf.getApiUrl(), json, conf); + responseDto.setBizId(bizId); + apiLog.setStatus(shjdjwresponseDto.getCode() == 1 ? 0 : shjdjwresponseDto.getCode()); + apiLog.setResult(shjdjwresponseDto.getDescription()); + apiLogRep.save(apiLog); + ResponseDto response = new ResponseDto(); + response.setSuccess(shjdjwresponseDto.getCode() == 1 ? 0 : shjdjwresponseDto.getCode()); + response.setMsg(shjdjwresponseDto.getDescription()); + } return resd; } catch (Exception e) { log.error(e.getMessage(), e); @@ -121,19 +162,327 @@ private String getJsonData(String inteId, Object data, String interfaceId) { ShjdjwReqDto<Object> dto = new ShjdjwReqDto<>(); dto.setId(getDataId(interfaceId)); + List<Object> list = new ArrayList<>(); //杞崲灏佽 - if (Constant.API_CODE_1101.equals(inteId)) { - dto.setData(data); + if (Constant.API_CODE_1102.equals(inteId)) { + //鍗曚綅鎺ュ彛鏁版嵁灏佽 + ShjdjwApi1101 shjdjwApi1101 = new ShjdjwApi1101(); + BeanUtils.copyProperties(data, shjdjwApi1101); + //鏌ヨ鍗曚綅淇℃伅 + List<Api1101> listApi1101 = api1101Rep.findPushData(shjdjwApi1101.getKqdm()); + Api1101 api1101 = null; + if (null != listApi1101 && listApi1101.size() > 0) { + api1101 = listApi1101.get(0); + } + if (null != api1101) { + shjdjwApi1101.setDwmc(api1101.getDwmc()); + shjdjwApi1101.setKqs(api1101.getKqs()); + } + //鏌ヨ浠撴埧淇℃伅 + List<Api1103> listApi1103 = api1103Rep.findPushData(shjdjwApi1101.getKqdm()); + if (null != listApi1103 && listApi1103.size() > 0) { + for (int i = 0; i < listApi1103.size(); i++) { + if (i == 0) { + shjdjwApi1101.setCfmc(listApi1103.get(i).getCfmc()); + } else { + shjdjwApi1101.setCfmc(shjdjwApi1101.getCfmc() + "#" + listApi1103.get(i).getCfmc()); + } + } + } + //鍗曚綅淇℃伅灏佽 + list.add(shjdjwApi1101); } else if (Constant.API_CODE_1202.equals(inteId)) { + //绮鍏ュ簱鏁版嵁灏佽 + ShjdjwApi1202 shjdjwApi1202 = new ShjdjwApi1202(); + Api1202 api1202 = (Api1202) data; + copyApi1202(api1202, shjdjwApi1202); + list.add(shjdjwApi1202); + } else if (Constant.API_CODE_1203.equals(inteId)) { + //绮鍏ュ簱妫�楠屾暟鎹皝瑁� + ShjdjwApi1203 shjdjwApi1203 = copyApi1203((Api1203) data); + list.add(shjdjwApi1203); + } else if (Constant.API_CODE_1205.equals(inteId)) { + //绮鍑哄簱鏁版嵁灏佽 + ShjdjwApi1205 shjdjwApi1205 = copyApi1205((Api1205) data); - dto.setData(data); + list.add(shjdjwApi1205); + } else if (Constant.API_CODE_1208.equals(inteId)) { + //绮搴撳瓨鏁版嵁灏佽 + ShjdjwApi1208 shjdjwApi1208 = copyApi1208((Api1208) data); + + list.add(shjdjwApi1208); + } else if (Constant.API_CODE_1209.equals(inteId)) { + //鎹熺泭鍗曟暟鎹皝瑁� + ShjdjwApi1209 shjdjwApi1209 = copyApi1209((Api1209) data); + + list.add(shjdjwApi1209); + } else if (Constant.API_CODE_1310.equals(inteId)) { + //璐ㄦ鏁版嵁灏佽 + ShjdjwApi1310 shjdjwApi1310 = copyApi1310((Api1310) data); + + list.add(shjdjwApi1310); + } else if (Constant.API_CODE_1403.equals(inteId)) { + //杞崲璁″垝鏁版嵁灏佽 + ShjdjwApi1403 shjdjwApi1403 = copyApi1403((Api1403) data); + + list.add(shjdjwApi1403); } else { - dto.setData(data); - } + list.add(data); + } + dto.setData(list); return JSON.toJSONString(dto); } + + private ShjdjwApi1403 copyApi1403(Api1403 api1403) { + ShjdjwApi1403 shjdjwApi1403 = new ShjdjwApi1403(); + BeanUtils.copyProperties(api1403, shjdjwApi1403); + + List<Double> lhsl = getLhsl(api1403); + if (null != lhsl && lhsl.size() > 0) { + shjdjwApi1403.setLrsl(lhsl.get(1)); + shjdjwApi1403.setLrsl(lhsl.get(0)); + } + + shjdjwApi1403.setJhbm(api1403.getLhjhdh()); + shjdjwApi1403.setPch("0"); + return shjdjwApi1403; + } + + /** + * 鑾峰彇杞叆鍜岃疆鍑洪噸閲� + * + * @param api1403 + * @return + */ + private List<Double> getLhsl(Api1403 api1403) { + List<Api1404> api1404List = api1404Rep.getDataByLhjhdh(api1403.getLhjhdh()); + List<Double> lhsl = new ArrayList<>(); + if (null != api1404List && api1404List.size() > 0) { +// double sum = api1404List.stream().mapToDouble(Api1404::getLhsl).summaryStatistics().getSum(); + double lcSum = api1404List.stream() + .filter(x -> x.getLhlx().equals("1")) + .mapToDouble(Api1404::getLhsl) + .summaryStatistics().getSum(); + double lrSum = api1404List.stream() + .filter(x -> x.getLhlx().equals("2")) + .mapToDouble(Api1404::getLhsl) + .summaryStatistics().getSum(); + lhsl.add(lcSum); + lhsl.add(lrSum); + } + return lhsl; + } + + private Shjdjw1502 copy1502(Api1403 api1403) { + Shjdjw1502 shjdjw1502 = new Shjdjw1502(); + shjdjw1502.setDwmc(api1403.getLhjhdh()); + shjdjw1502.setJhnd(api1403.getJhnd()); + + // 璁″垝鏁伴噺 + List<Double> lhsl = getLhsl(api1403); + Double sum = 0.0; + if (null != lhsl && lhsl.size() > 0) { + sum = lhsl.stream().reduce(0d, Double::sum); + } + // 宸叉墽琛屾暟閲� + List<Api1202> api1202List = api1202Rep.getDataByTime(api1403.getKszxrq(), api1403.getJzzxrq()); + + Double yzxsl = api1202List.stream() + .mapToDouble(Api1202::getJz) + .summaryStatistics().getSum(); + shjdjw1502.setJhsl(new DecimalFormat("0.00").format(sum)); + shjdjw1502.setYzxsl(new DecimalFormat("0.00").format(yzxsl)); + //鎵ц姣斾緥 + shjdjw1502.setZxbl(String.valueOf((yzxsl / sum * 100))); + + // 鎷涙爣/绔炰环姣斾緥 + shjdjw1502.setZbjjbl("100"); + shjdjw1502.setCzbz(api1403.getCzbz()); + + return shjdjw1502; + } + + private ShjdjwApi1203 copyApi1203(Api1203 api1203) { + ShjdjwApi1203 shjdjwApi1203 = new ShjdjwApi1203(); + + BeanUtils.copyProperties(api1203, shjdjwApi1203); + + shjdjwApi1203.setQydbh(api1203.getRkjydh()); + shjdjwApi1203.setHwbm(api1203.getHwdm()); + List<Api1105> list = api1105Rep.findPushDataByHwdm(api1203.getHwdm()); + if(null != list && list.size() > 0){ + shjdjwApi1203.setHwbm(list.get(0).getHwmc()); + } + shjdjwApi1203.setYpbm(api1203.getRkywdh()); + shjdjwApi1203.setJyjg(api1203.getJyz()); + shjdjwApi1203.setJyjl(api1203.getJyjg()); + shjdjwApi1203.setPzbm(api1203.getLspzdm()); + shjdjwApi1203.setBjw("jiading"); + shjdjwApi1203.setPch("0"); + return shjdjwApi1203; + } + + private ShjdjwApi1310 copyApi1310(Api1310 api1310) { + ShjdjwApi1310 shjdjwApi1310 = new ShjdjwApi1310(); + + BeanUtils.copyProperties(api1310, shjdjwApi1310); + + shjdjwApi1310.setZjbgdbh(api1310.getZjbgdh()); + shjdjwApi1310.setPznm(api1310.getLspzdm()); + shjdjwApi1310.setSkdjbm(api1310.getLsdjdm()); + shjdjwApi1310.setJylbbm(api1310.getJylb()); + if (StringUtils.isNotEmpty(shjdjwApi1310.getJyxm())) { + String[] split = shjdjwApi1310.getJyxm().split(","); + StringBuilder jyjl = new StringBuilder(); + for (String s : split) { + jyjl.append(",鍚堟牸"); + } + shjdjwApi1310.setJyjl(jyjl.toString().substring(1)); + } + + shjdjwApi1310.setZlzbjgpd(api1310.getZbjgpd()); + //鏌ヨ鍗曚綅淇℃伅 + List<Api1101> listApi1101 = api1101Rep.findPushData(api1310.getKqdm()); + if (null != listApi1101 && listApi1101.size() > 0) { + shjdjwApi1310.setDwmc(listApi1101.get(0).getDwmc()); + } + + //鏌ヨ浠撴埧淇℃伅 + List<Api1103> listApi1103 = api1103Rep.findPushDataByCfdm(api1310.getHwdm().substring(0, 25)); + if (null != listApi1103 && listApi1103.size() > 0) { + shjdjwApi1310.setCfmc(listApi1103.get(0).getCfmc()); + } + + //鏌ヨ寤掗棿淇℃伅 + List<Api1104> listApi1104 = api1104Rep.findDataByAjdh(api1310.getHwdm().substring(0, 28)); + if (null != listApi1104 && listApi1104.size() > 0) { + shjdjwApi1310.setAjmc(listApi1104.get(0).getAjmc()); + } + + //鏌ヨ搴撳尯淇℃伅 + List<Api1102> listApi1102 = api1102Rep.findPushData(api1310.getKqdm()); + if (null != listApi1102 && listApi1102.size() > 0) { + shjdjwApi1310.setKdmc(listApi1102.get(0).getKqmc()); + } + //鏌ヨ绮搴撳瓨 + List<Api1208> listApi1208 = api1208Rep.getDataByHwdm(api1310.getHwdm()); + if (null != listApi1208 && listApi1208.size() > 0) { + shjdjwApi1310.setKdmc(listApi1208.get(0).getLsxzdm()); + } + shjdjwApi1310.setPch("0"); + return shjdjwApi1310; + } + + private ShjdjwApi1209 copyApi1209(Api1209 api1209) { + ShjdjwApi1209 shjdjwApi1209 = new ShjdjwApi1209(); + + BeanUtils.copyProperties(api1209, shjdjwApi1209); + + shjdjwApi1209.setSydbh(api1209.getSydh()); + + shjdjwApi1209.setRksl(api1209.getRkjz()); + shjdjwApi1209.setCksl(api1209.getCkjz()); + shjdjwApi1209.setSysl(api1209.getJzsysl()); + //鏌ヨ鍗曚綅淇℃伅 + List<Api1101> listApi1101 = api1101Rep.findPushData(api1209.getKqdm()); + if (null != listApi1101 && listApi1101.size() > 0) { + shjdjwApi1209.setDwmc(listApi1101.get(0).getDwmc()); + } + //鏌ヨ搴撳尯淇℃伅 + List<Api1102> listApi1102 = api1102Rep.findPushData(api1209.getKqdm()); + if (null != listApi1102 && listApi1102.size() > 0) { + shjdjwApi1209.setKdmc(listApi1102.get(0).getKqmc()); + } + //璐т綅淇℃伅 + shjdjwApi1209.setHwbm(api1209.getHwdm()); + List<Api1105> list = api1105Rep.findPushDataByHwdm(api1209.getHwdm()); + if(null != list && list.size() > 0){ + shjdjwApi1209.setHwbm(list.get(0).getHwmc()); + } + + shjdjwApi1209.setNx(api1209.getYwrq()); + //杈呮崯鐩婃暟閲� + shjdjwApi1209.setFsysl(0.0); + //鎹熺泭绫诲瀷 + shjdjwApi1209.setSylx(api1209.getJzsysl() > 0 ? "0" : "1"); + return shjdjwApi1209; + } + + private ShjdjwApi1208 copyApi1208(Api1208 api1208) { + ShjdjwApi1208 shjdjwApi1208 = new ShjdjwApi1208(); + + BeanUtils.copyProperties(api1208, shjdjwApi1208); + + shjdjwApi1208.setLspzbm(api1208.getLspzdm()); + shjdjwApi1208.setLsxzbm(api1208.getLsxzdm()); + shjdjwApi1208.setDjbm(api1208.getLsdjdm()); + shjdjwApi1208.setLqgsdwbm(api1208.getLqgsdwdm()); + + //鏌ヨ鍗曚綅淇℃伅 + List<Api1101> listApi1101 = api1101Rep.findPushData(api1208.getKqdm()); + if (null != listApi1101 && listApi1101.size() > 0) { + shjdjwApi1208.setDwmc(listApi1101.get(0).getDwmc()); + } + + //鏌ヨ浠撴埧淇℃伅 + List<Api1103> listApi1103 = api1103Rep.findPushDataByCfdm(api1208.getHwdm().substring(0, 25)); + if (null != listApi1103 && listApi1103.size() > 0) { + shjdjwApi1208.setCfmc(listApi1103.get(0).getCfmc()); + } + + //鏌ヨ寤掗棿淇℃伅 + List<Api1104> listApi1104 = api1104Rep.findDataByAjdh(api1208.getHwdm().substring(0, 28)); + if (null != listApi1104 && listApi1104.size() > 0) { + shjdjwApi1208.setAjmc(listApi1104.get(0).getAjmc()); + } + + shjdjwApi1208.setKcjcsj(api1208.getZhgxsj()); + + shjdjwApi1208.setPch("0"); + return shjdjwApi1208; + } + + private ShjdjwApi1205 copyApi1205(Api1205 api1205) { + ShjdjwApi1205 shjdjwApi1205 = new ShjdjwApi1205(); + + BeanUtils.copyProperties(api1205, shjdjwApi1205); + + shjdjwApi1205.setYwdh(api1205.getCkywdh()); + shjdjwApi1205.setHtbm(api1205.getHth()); + shjdjwApi1205.setPzbm(api1205.getLspzdm()); + shjdjwApi1205.setDjbm(api1205.getLsdjdm()); + shjdjwApi1205.setLqxzbm(api1205.getLsxzdm()); + shjdjwApi1205.setCzbz(api1205.getCzbz()); + shjdjwApi1205.setLrfs("0"); + shjdjwApi1205.setPzbm(api1205.getLspzdm()); + + //鏌ヨ鍗曚綅淇℃伅 + List<Api1101> listApi1101 = api1101Rep.findPushData(api1205.getKqdm()); + if (null != listApi1101 && listApi1101.size() > 0) { + shjdjwApi1205.setDwmc(listApi1101.get(0).getDwmc()); + } + + //鏌ヨ浠撴埧淇℃伅 + List<Api1103> listApi1103 = api1103Rep.findPushDataByCfdm(api1205.getHwdm().substring(0, 25)); + if (null != listApi1103 && listApi1103.size() > 0) { + shjdjwApi1205.setCfmc(listApi1103.get(0).getCfmc()); + } + + shjdjwApi1205.setDjlx("0"); + + //鏌ヨ瀛楀吀鏁版嵁 + ApiTrigger apiTrigger = apiTriggerService.findNameByCode(api1205.getLspzdm(), Constant.TRIGGER_P_LSPZ); + shjdjwApi1205.setWlmc(null == apiTrigger ? api1205.getLspzdm() : apiTrigger.getName()); + shjdjwApi1205.setDz(StringUtils.isNotEmpty(api1205.getXldd()) ? api1205.getXldd() : "搴撳唴"); + + shjdjwApi1205.setDksj(api1205.getDjsj()); + shjdjwApi1205.setLksj(api1205.getCmsj()); + shjdjwApi1205.setPch("0"); + return shjdjwApi1205; + } + /** * 鑾峰彇鎺ュ彛缂栫爜 @@ -143,13 +492,62 @@ */ private String getDataId(String inteId) { switch (inteId) { - case "1101": + case "1102": + //鍗曚綅鎺ュ彛缂栫爜 return ShjdjwApiCodeConstant.API_CODE_LS1101; case "1202": + //绮鍏ュ簱鎺ュ彛缂栫爜 return ShjdjwApiCodeConstant.API_CODE_LS1302; + case "1203": + //绮鍏ュ簱妫�楠屾帴鍙g紪鐮� + return ShjdjwApiCodeConstant.API_CODE_LS1303; + case "1205": + //绮鍑哄簱鎺ュ彛缂栫爜 + return ShjdjwApiCodeConstant.API_CODE_LS1306; + case "1208": + //绮搴撳瓨鎺ュ彛缂栫爜 + return ShjdjwApiCodeConstant.API_CODE_LS1310; + case "1209": + //鎹熺泭鍗曟帴鍙g紪鐮� + return ShjdjwApiCodeConstant.API_CODE_LS1311; + case "1310": + //璐ㄦ鎺ュ彛缂栫爜 + return ShjdjwApiCodeConstant.API_CODE_LS1201; + case "1403": + //杞崲璁″垝鎺ュ彛缂栫爜 + return ShjdjwApiCodeConstant.API_CODE_LS1501; default: return inteId; } } + + //瑁呮崲灏佽 + private void copyApi1202(Api1202 api1202, ShjdjwApi1202 shjdjwApi1202) { + BeanUtils.copyProperties(api1202, shjdjwApi1202); + String ywdh = api1202.getRkywdh(); + shjdjwApi1202.setYwdh(ywdh); + shjdjwApi1202.setHwbm(api1202.getHwdm()); + List<Api1105> list = api1105Rep.findPushDataByHwdm(api1202.getHwdm()); + if(null != list && list.size() > 0){ + shjdjwApi1202.setHwbm(list.get(0).getHwmc()); + } + shjdjwApi1202.setPzbm(api1202.getLspzdm()); + shjdjwApi1202.setLqxzbm(api1202.getLsxzdm()); + shjdjwApi1202.setZjkl(api1202.getZjklxj()); + //杞崲璁″垝鍗曞彿 + shjdjwApi1202.setJhbh(api1202.getJhmxh()); + //椤哄簭鍙� + shjdjwApi1202.setSxh(ywdh.substring(ywdh.length() - 4)); + shjdjwApi1202.setDjzt("2"); + //涓氬姟鍗曞彿 + shjdjwApi1202.setJydbh(api1202.getRkywdh()); + //杞崲骞村害 + shjdjwApi1202.setLhnd(api1202.getShnd()); + //鍒板簱鏃堕棿銆佺搴撴椂闂� + shjdjwApi1202.setDksj(api1202.getDjsj()); + shjdjwApi1202.setLksj(api1202.getCmsj()); + //鎵规鍙� + shjdjwApi1202.setPch("0"); + } } -- Gitblit v1.9.3