From a82631013be641db3979e11013b2cf6e937a3e7b Mon Sep 17 00:00:00 2001 From: CZT <czt18638530771@163.com> Date: 星期二, 12 十二月 2023 14:24:51 +0800 Subject: [PATCH] 武汉省平台-共享接口实现1 --- src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiRemoteService2023.java | 209 ++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 154 insertions(+), 55 deletions(-) diff --git a/src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiRemoteService2023.java b/src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiRemoteService2023.java index a5817cf..7ec8b14 100644 --- a/src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiRemoteService2023.java +++ b/src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiRemoteService2023.java @@ -1,6 +1,7 @@ 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; @@ -16,10 +17,13 @@ import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang.time.DateFormatUtils; 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.*; /** @@ -48,11 +52,16 @@ @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 public String getProtocol() { @@ -113,6 +122,29 @@ 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); @@ -193,19 +225,9 @@ list.add(shjdjwApi1310); } else if (Constant.API_CODE_1403.equals(inteId)) { //杞崲璁″垝鏁版嵁灏佽 - ShjdjwApi1403 shjdjwApi1403 = new ShjdjwApi1403(); - Api1403 api1403 = (Api1403) data; - BeanUtils.copyProperties(api1403, shjdjwApi1403); - - shjdjwApi1403.setJhbm(api1403.getLhjhdh()); - shjdjwApi1403.setPch("0"); + ShjdjwApi1403 shjdjwApi1403 = copyApi1403((Api1403) data); list.add(shjdjwApi1403); - } else if (Constant.API_CODE_1404.equals(inteId)) { - //杞崲璁″垝瀹屾垚鎯呭喌鏁版嵁灏佽 - ShjdjwApi1404 shjdjwApi1404 = copyApi1404((Api1404) data); - - list.add(shjdjwApi1404); } else { list.add(data); @@ -214,33 +236,86 @@ return JSON.toJSONString(dto); } - private ShjdjwApi1404 copyApi1404(Api1404 data) { - ShjdjwApi1404 shjdjwApi1404 = new ShjdjwApi1404(); - Api1404 api1404 = data; - BeanUtils.copyProperties(api1404, shjdjwApi1404); + private ShjdjwApi1403 copyApi1403(Api1403 api1403) { + ShjdjwApi1403 shjdjwApi1403 = new ShjdjwApi1403(); + BeanUtils.copyProperties(api1403, shjdjwApi1403); - //鏌ヨ鍗曚綅淇℃伅 - List<Api1101> listApi1101 = api1101Rep.findPushData(api1404.getKqdm()); - if (null != listApi1101 || listApi1101.size() > 0) { - shjdjwApi1404.setDwmc(listApi1101.get(0).getDwmc()); + List<Double> lhsl = getLhsl(api1403); + if (null != lhsl && lhsl.size() > 0) { + shjdjwApi1403.setLrsl(lhsl.get(1)); + shjdjwApi1403.setLrsl(lhsl.get(0)); } - shjdjwApi1404.setJhnd("0"); - shjdjwApi1404.setJhsl("0"); - shjdjwApi1404.setYzxsl("0"); - shjdjwApi1404.setZxbl("0"); - shjdjwApi1404.setZbjjbl("0"); - //TODO 璁″垝骞村害 璁″垝鏁伴噺 宸叉墽琛屾暟閲� 鎵ц姣斾緥 鎷涙爣/绔炰环姣斾緥 - return shjdjwApi1404; + shjdjwApi1403.setJhbm(api1403.getLhjhdh()); + shjdjwApi1403.setPch("0"); + return shjdjwApi1403; } - private ShjdjwApi1203 copyApi1203(Api1203 data) { + /** + * 鑾峰彇杞叆鍜岃疆鍑洪噸閲� + * + * @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(); - Api1203 api1203 = data; + 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()); @@ -250,69 +325,83 @@ return shjdjwApi1203; } - private ShjdjwApi1310 copyApi1310(Api1310 data) { + private ShjdjwApi1310 copyApi1310(Api1310 api1310) { ShjdjwApi1310 shjdjwApi1310 = new ShjdjwApi1310(); - Api1310 api1310 = data; + 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.setJyjl(api1310.getJyxmz()); shjdjwApi1310.setZlzbjgpd(api1310.getZbjgpd()); //鏌ヨ鍗曚綅淇℃伅 List<Api1101> listApi1101 = api1101Rep.findPushData(api1310.getKqdm()); - if (null != listApi1101 || listApi1101.size() > 0) { + 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) { + 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) { + 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) { + 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) { + if (null != listApi1208 && listApi1208.size() > 0) { shjdjwApi1310.setKdmc(listApi1208.get(0).getLsxzdm()); } shjdjwApi1310.setPch("0"); return shjdjwApi1310; } - private ShjdjwApi1209 copyApi1209(Api1209 data) { + private ShjdjwApi1209 copyApi1209(Api1209 api1209) { ShjdjwApi1209 shjdjwApi1209 = new ShjdjwApi1209(); - Api1209 api1209 = data; BeanUtils.copyProperties(api1209, shjdjwApi1209); shjdjwApi1209.setSydbh(api1209.getSydh()); - shjdjwApi1209.setHwbm(api1209.getHwdm()); + 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) { + 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) { + 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()); @@ -323,9 +412,8 @@ return shjdjwApi1209; } - private ShjdjwApi1208 copyApi1208(Api1208 data) { + private ShjdjwApi1208 copyApi1208(Api1208 api1208) { ShjdjwApi1208 shjdjwApi1208 = new ShjdjwApi1208(); - Api1208 api1208 = data; BeanUtils.copyProperties(api1208, shjdjwApi1208); @@ -336,19 +424,19 @@ //鏌ヨ鍗曚綅淇℃伅 List<Api1101> listApi1101 = api1101Rep.findPushData(api1208.getKqdm()); - if (null != listApi1101 || listApi1101.size() > 0) { + 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) { + 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) { + if (null != listApi1104 && listApi1104.size() > 0) { shjdjwApi1208.setAjmc(listApi1104.get(0).getAjmc()); } @@ -358,9 +446,8 @@ return shjdjwApi1208; } - private ShjdjwApi1205 copyApi1205(Api1205 data) { + private ShjdjwApi1205 copyApi1205(Api1205 api1205) { ShjdjwApi1205 shjdjwApi1205 = new ShjdjwApi1205(); - Api1205 api1205 = data; BeanUtils.copyProperties(api1205, shjdjwApi1205); @@ -375,14 +462,14 @@ //鏌ヨ鍗曚綅淇℃伅 List<Api1101> listApi1101 = api1101Rep.findPushData(api1205.getKqdm()); - if (null != listApi1101 || listApi1101.size() > 0) { + 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()); + //鏌ヨ璐т綅淇℃伅 + List<Api1105> listApi1105 = api1105Rep.findPushDataByHwdm(api1205.getHwdm()); + if (null != listApi1105 && listApi1105.size() > 0) { + shjdjwApi1205.setCfmc(listApi1105.get(0).getHwmc()); } shjdjwApi1205.setDjlx("0"); @@ -394,6 +481,7 @@ shjdjwApi1205.setDksj(api1205.getDjsj()); shjdjwApi1205.setLksj(api1205.getCmsj()); + shjdjwApi1205.setLhnd(DateFormatUtils.format(api1205.getCmsj(), "yyyy")); shjdjwApi1205.setPch("0"); return shjdjwApi1205; } @@ -431,9 +519,6 @@ case "1403": //杞崲璁″垝鎺ュ彛缂栫爜 return ShjdjwApiCodeConstant.API_CODE_LS1501; - case "1404": - //杞崲璁″垝瀹屾垚鎯呭喌鎺ュ彛缂栫爜 - return ShjdjwApiCodeConstant.API_CODE_LS1502; default: return inteId; } @@ -446,6 +531,10 @@ 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()); @@ -458,7 +547,17 @@ shjdjwApi1202.setJydbh(api1202.getRkywdh()); //杞崲骞村害 shjdjwApi1202.setLhnd(api1202.getShnd()); + //鍒板簱鏃堕棿銆佺搴撴椂闂� + shjdjwApi1202.setDksj(api1202.getDjsj()); + shjdjwApi1202.setLksj(api1202.getCmsj()); //鎵规鍙� shjdjwApi1202.setPch("0"); } + + + @Override + public ResponseDto pullData(ApiParam param, ApiConfs conf) { + //璇ュ崗璁棤姝ゅ疄鐜� + return null; + } } -- Gitblit v1.9.3