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 | 414 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 395 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiRemoteService2023.java b/src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiRemoteService2023.java index e6e638a..7ec8b14 100644 --- a/src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiRemoteService2023.java +++ b/src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiRemoteService2023.java @@ -1,31 +1,29 @@ 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.Api1101; -import com.fzzy.api.entity.Api1103; -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.Api1101Rep; -import com.fzzy.api.view.repository.Api1103Rep; -import com.fzzy.api.view.repository.ApiLogRep; -import com.fzzy.push.shjdjw2023.dto.ShjdjwApi1101; -import com.fzzy.push.shjdjw2023.dto.ShjdjwReqDto; -import com.fzzy.push.shjdjw2023.dto.ShjdjwRespDto; +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.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.*; /** @@ -44,11 +42,25 @@ @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 @@ -101,7 +113,6 @@ return responseDto; } - Map<String, Object> map = new HashMap<>(); ShjdjwRespDto responseDto = Shjdjw2023HttpClientUtil.postPushData(conf.getApiUrl(), jsonData, conf); responseDto.setBizId(bizId); apiLog.setStatus(responseDto.getCode() == 1 ? 0 : responseDto.getCode()); @@ -110,7 +121,30 @@ ResponseDto resd = new ResponseDto(); resd.setSuccess(responseDto.getCode() == 1 ? 0 : responseDto.getCode()); resd.setMsg(responseDto.getDescription()); - //updateGD2022AuthToken(responseDto,conf, token); + + 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); @@ -132,25 +166,26 @@ List<Object> list = new ArrayList<>(); //杞崲灏佽 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){ + if (null != listApi1101 && listApi1101.size() > 0) { api1101 = listApi1101.get(0); } - if(null != api1101){ + 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){ + if (null != listApi1103 && listApi1103.size() > 0) { + for (int i = 0; i < listApi1103.size(); i++) { + if (i == 0) { shjdjwApi1101.setCfmc(listApi1103.get(i).getCfmc()); - }else { + } else { shjdjwApi1101.setCfmc(shjdjwApi1101.getCfmc() + "#" + listApi1103.get(i).getCfmc()); } } @@ -158,13 +193,299 @@ //鍗曚綅淇℃伅灏佽 list.add(shjdjwApi1101); } else if (Constant.API_CODE_1202.equals(inteId)) { - list.add(data); + //绮鍏ュ簱鏁版嵁灏佽 + 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); + + 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 { + 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.setJyjl(api1310.getJyxmz()); + 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<Api1105> listApi1105 = api1105Rep.findPushDataByHwdm(api1205.getHwdm()); + if (null != listApi1105 && listApi1105.size() > 0) { + shjdjwApi1205.setCfmc(listApi1105.get(0).getHwmc()); + } + + 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.setLhnd(DateFormatUtils.format(api1205.getCmsj(), "yyyy")); + shjdjwApi1205.setPch("0"); + return shjdjwApi1205; + } + /** * 鑾峰彇鎺ュ彛缂栫爜 @@ -178,10 +499,65 @@ //鍗曚綅鎺ュ彛缂栫爜 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"); + } + + + @Override + public ResponseDto pullData(ApiParam param, ApiConfs conf) { + //璇ュ崗璁棤姝ゅ疄鐜� + return null; + } } -- Gitblit v1.9.3