From 9149e48f78437e04725e24d98e2a75872f86d671 Mon Sep 17 00:00:00 2001 From: WS <1143478319@qq.com> Date: 星期四, 25 五月 2023 20:10:55 +0800 Subject: [PATCH] 上海嘉定纪委优化3 --- src/main/java/com/fzzy/api/view/repository/Api1404Rep.java | 3 + src/main/java/com/fzzy/api/view/repository/Api1202Rep.java | 5 + src/main/java/com/fzzy/push/shjdjw2023/dto/Shjdjw1502.java | 2 src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiRemoteService2023.java | 114 ++++++++++++++++++++++++++++--------- 4 files changed, 94 insertions(+), 30 deletions(-) diff --git a/src/main/java/com/fzzy/api/view/repository/Api1202Rep.java b/src/main/java/com/fzzy/api/view/repository/Api1202Rep.java index 97be837..1a0442a 100644 --- a/src/main/java/com/fzzy/api/view/repository/Api1202Rep.java +++ b/src/main/java/com/fzzy/api/view/repository/Api1202Rep.java @@ -10,6 +10,8 @@ import org.springframework.data.repository.query.Param; import org.springframework.transaction.annotation.Transactional; +import javax.xml.crypto.Data; +import java.util.Date; import java.util.List; @@ -25,4 +27,7 @@ @Query("from Api1202 where rkywdh=:rkywdh ") List<Api1202> getDataById(@Param("rkywdh") String rkywdh); + + @Query("from Api1202 where cmsj>:start and cmsj<:end") + List<Api1202> getDataByTime(@Param("start") Date start, @Param("end") Date end); } diff --git a/src/main/java/com/fzzy/api/view/repository/Api1404Rep.java b/src/main/java/com/fzzy/api/view/repository/Api1404Rep.java index 1ae94ab..1504874 100644 --- a/src/main/java/com/fzzy/api/view/repository/Api1404Rep.java +++ b/src/main/java/com/fzzy/api/view/repository/Api1404Rep.java @@ -24,4 +24,7 @@ @Query("from Api1404 where jhmxdh=:jhmxdh ") List<Api1404> getDataByJhmxdh(@Param("jhmxdh") String jhmxdh); + + @Query("from Api1404 where lhjhdh=:lhjhdh ") + List<Api1404> getDataByLhjhdh(@Param("lhjhdh") String lhjhdh); } diff --git a/src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiRemoteService2023.java b/src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiRemoteService2023.java index d1c2d98..6060f6e 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; @@ -20,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.text.DateFormat; import java.util.*; /** @@ -53,6 +55,9 @@ private Api1104Rep api1104Rep; @Autowired private Api1208Rep api1208Rep; + @Autowired + private Api1404Rep api1404Rep; + @Override public String getProtocol() { @@ -113,6 +118,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 +221,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,25 +232,66 @@ return JSON.toJSONString(dto); } - private ShjdjwApi1404 copyApi1404(Api1404 api1404) { - ShjdjwApi1404 shjdjwApi1404 = new ShjdjwApi1404(); + private ShjdjwApi1403 copyApi1403(Api1403 api1403) { + ShjdjwApi1403 shjdjwApi1403 = new ShjdjwApi1403(); + BeanUtils.copyProperties(api1403, shjdjwApi1403); + List<Double> lhsl = getLhsl(api1403); + shjdjwApi1403.setLrsl(lhsl.get(1)); + shjdjwApi1403.setLrsl(lhsl.get(0)); + shjdjwApi1403.setJhbm(api1403.getLhjhdh()); + shjdjwApi1403.setPch("0"); + return shjdjwApi1403; + } - BeanUtils.copyProperties(api1404, shjdjwApi1404); - - //鏌ヨ鍗曚綅淇℃伅 - List<Api1101> listApi1101 = api1101Rep.findPushData(api1404.getKqdm()); - if (null != listApi1101 && listApi1101.size() > 0) { - shjdjwApi1404.setDwmc(listApi1101.get(0).getDwmc()); + /** + * 鑾峰彇杞叆鍜岃疆鍑洪噸閲� + * @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; + } - //TODO 璁″垝骞村害 璁″垝鏁伴噺 宸叉墽琛屾暟閲� 鎵ц姣斾緥 鎷涙爣/绔炰环姣斾緥 - shjdjwApi1404.setJhnd("0"); - shjdjwApi1404.setJhsl("0"); - shjdjwApi1404.setYzxsl("0"); - shjdjwApi1404.setZxbl("0"); - shjdjwApi1404.setZbjjbl("0"); + private Shjdjw1502 copy1502(Api1403 api1403) { + Shjdjw1502 shjdjw1502 = new Shjdjw1502(); + shjdjw1502.setDwmc(api1403.getLhjhdh()); + shjdjw1502.setJhnd(api1403.getJhnd()); - return shjdjwApi1404; + // 璁″垝鏁伴噺 + List<Double> lhsl = getLhsl(api1403); + Double sum = lhsl.stream().reduce(0d, Double::sum); + // 宸叉墽琛屾暟閲� + List<Api1202> api1202List = api1202Rep.getDataByTime(api1403.getKszxrq(), api1403.getJzzxrq()); +// DateUtils.format("yyyy-MM-dd HH:mm:ss", api1403.getKszxrq()), +// DateUtils.format("yyyy-MM-dd HH:mm:ss", api1403.getJzzxrq())); + Double yzxsl = api1202List.stream() + .mapToDouble(Api1202::getJz) + .summaryStatistics().getSum(); + shjdjw1502.setJhsl(sum.toString()); + shjdjw1502.setYzxsl(yzxsl.toString()); + //鎵ц姣斾緥 + shjdjw1502.setZxbl(String.valueOf((yzxsl/sum*100))); + + // 鎷涙爣/绔炰环姣斾緥 + shjdjw1502.setZbjjbl("100"); + shjdjw1502.setCzbz(api1403.getCzbz()); + + return shjdjw1502; } private ShjdjwApi1203 copyApi1203(Api1203 api1203) { @@ -437,9 +496,6 @@ case "1403": //杞崲璁″垝鎺ュ彛缂栫爜 return ShjdjwApiCodeConstant.API_CODE_LS1501; - case "1404": - //杞崲璁″垝瀹屾垚鎯呭喌鎺ュ彛缂栫爜 - return ShjdjwApiCodeConstant.API_CODE_LS1502; default: return inteId; } diff --git a/src/main/java/com/fzzy/push/shjdjw2023/dto/ShjdjwApi1404.java b/src/main/java/com/fzzy/push/shjdjw2023/dto/Shjdjw1502.java similarity index 92% rename from src/main/java/com/fzzy/push/shjdjw2023/dto/ShjdjwApi1404.java rename to src/main/java/com/fzzy/push/shjdjw2023/dto/Shjdjw1502.java index bbca162..ac00f8e 100644 --- a/src/main/java/com/fzzy/push/shjdjw2023/dto/ShjdjwApi1404.java +++ b/src/main/java/com/fzzy/push/shjdjw2023/dto/Shjdjw1502.java @@ -8,7 +8,7 @@ @Data @EqualsAndHashCode(callSuper = false) -public class ShjdjwApi1404 implements Serializable { +public class Shjdjw1502 implements Serializable { @PropertyDef(label = "鍗曚綅鍚嶇О") private String dwmc; -- Gitblit v1.9.3