From 15c542eb3964bc33b5bfd00998f1bcd095bf1dfe Mon Sep 17 00:00:00 2001 From: YYC <1833023622@qq.com> Date: 星期六, 19 八月 2023 17:59:21 +0800 Subject: [PATCH] 上海数据上报 --- src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java | 222 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 209 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java b/src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java index d7ce01a..6c56254 100644 --- a/src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java +++ b/src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java @@ -4,23 +4,26 @@ import com.fzzy.api.data.ApiParam; import com.fzzy.api.data.PushProtocol; import com.fzzy.api.dto.ResponseDto; -import com.fzzy.api.entity.Api1102; -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.*; import com.fzzy.api.view.repository.Api1102Rep; +import com.fzzy.api.view.repository.Api1104Rep; +import com.fzzy.api.view.repository.Api1202Rep; import com.fzzy.api.view.repository.ApiLogRep; -import com.fzzy.push.sh2023.dto.SH2023ReqDto; -import com.fzzy.push.sh2023.dto.SH2023RespDto; +import com.fzzy.push.sh2023.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.math.BigDecimal; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -45,6 +48,10 @@ private ApiLogRep apiLogRep; @Autowired private Api1102Rep api1102Rep; + @Autowired + private Api1104Rep api1104Rep; + @Autowired + private Api1202Rep api1202Rep; @Override public String getProtocol() { @@ -60,7 +67,8 @@ public ResponseDto pushData(ApiParam param, ApiConfs conf, Object data) { String inteId = param.getInteId(); String kqdm = param.getKqdm(); - + //鏌ヨ搴撳尯淇℃伅琛屾斂鍖哄垝鐮� + List<Api1102> api1102List = api1102Rep.findPushData(conf.getKqdm()); try { if (null == conf) { conf = apiCommonService.getConf(kqdm); @@ -70,7 +78,7 @@ ApiLog apiLog = new ApiLog(); apiLog.setId(ContextUtil.getUUID()); apiLog.setInteId(inteId); - String jsonData = getJsonData(inteId, data); + String jsonData = getJsonData(inteId, data, api1102List.get(0).getXzqhdm()); log.info("鎺ュ彛鏁版嵁淇℃伅=" + jsonData); if (StringUtils.isEmpty(inteId)) { @@ -96,8 +104,7 @@ SH2023ReqDto reqData = new SH2023ReqDto(); reqData.setId(ContextUtil.getUUID()); //鑾峰彇韬唤ID锛屽嵆琛屾斂鍖哄垝鐮� - List<Api1102> api1102List = api1102Rep.findPushData(conf.getKqdm()); - if(null == api1102List || api1102List.isEmpty()){ + if (null == api1102List || api1102List.isEmpty()) { ResponseDto responseDto = new ResponseDto(99, "娌℃湁鑾峰彇鍒拌韩浠絀D"); apiLog.setStatus(99); apiLog.setResult("娌℃湁鑾峰彇鍒拌韩浠絀D"); @@ -108,9 +115,9 @@ //鎸囦护id reqData.setOrderid(param.getOrderid()); //韬唤绛惧悕锛屽鍦板尯琛屾斂鍖哄垝浠g爜_褰撳ぉ鏃ユ湡杩涜MD5绠楁硶绛惧悕 - reqData.setAccess_token(RSAUtils.encryptData(reqData.getUid() + "_" + DateFormatUtils.format(new Date(), "yyyy-MM-dd"),conf.getPublicKey())); + reqData.setAccess_token(RSAUtils.encryptData(reqData.getUid() + "_" + DateFormatUtils.format(new Date(), "yyyy-MM-dd"), conf.getPublicKey())); //鏁版嵁鎬绘潯鏁� - List<Object> list = (List<Object>)data; + List<Object> list = (List<Object>) data; reqData.setDatalength(list.size()); //鏁版嵁杩涜SM4鍔犲瘑 reqData.setData(jsonData); @@ -140,13 +147,202 @@ * @return * @throws Exception */ - private String getJsonData(String inteId, Object data) { + private String getJsonData(String inteId, Object data, String code) { //鍏蜂綋鏍规嵁鎺ュ彛杩涜灏佽 if (SH2023Constant.SH_2023_API_CODE_1101.equals(inteId)) { - return JSON.toJSONString(data); + SH2023Api1101 api1101; + //鏈�鍚庤浆鎹负json + List<SH2023Api1101> list = new ArrayList<>(); + //鎶奷ata杞寲鎴恖ist闆嗗悎 + List<Api1101> api1101List = castList(data, Api1101.class); + //鏌ヨ寤掗棿鏁� + List<Api1104> api1104List = api1104Rep.findPushData(api1101List.get(0).getKqdm()); + for (Api1101 apiData : api1101List) { + api1101 = new SH2023Api1101(); + BeanUtils.copyProperties(apiData, api1101); + api1101.setAjs(api1104List.size()); + api1101.setBjw(ShAreaBjw.getBjw(code)); + list.add(api1101); + } + return JSON.toJSONString(list); + } else if (SH2023Constant.SH_2023_API_CODE_1102.equals(inteId)) { + SH2023Api1102 api1102; + //鏈�鍚庤浆鎹负json + List<SH2023Api1102> list = new ArrayList<>(); + //鎶奷ata杞寲鎴恖ist闆嗗悎 + List<Api1102> api1101List = castList(data, Api1102.class); + //鏌ヨ寤掗棿鏁� + List<Api1104> api1104List = api1104Rep.findPushData(api1101List.get(0).getKqdm()); + //璁$畻鍌ㄥ浠撳 + Double count = 0.0; + for (Api1104 api1104 : api1104List) { + count = count + api1104.getAjsjcrong(); + } + for (Api1102 apiData : api1101List) { + api1102 = new SH2023Api1102(); + BeanUtils.copyProperties(apiData, api1102); + api1102.setAjs(api1104List.size()); + api1102.setBjw(ShAreaBjw.getBjw(code)); + api1102.setCbcr(count); + list.add(api1102); + } + return JSON.toJSONString(list); + } else if (SH2023Constant.SH_2023_API_CODE_1103.equals(inteId)) { + SH2023Api1103 api1103; + //鏈�鍚庤浆鎹负json + List<SH2023Api1103> list = new ArrayList<>(); + //鎶奷ata杞寲鎴恖ist闆嗗悎 + List<Api1103> api1103List = castList(data, Api1103.class); + //鏌ヨ寤掗棿鏁� + List<Api1104> api1104List = api1104Rep.findPushData(api1103List.get(0).getKqdm()); + for (Api1103 apiData : api1103List) { + api1103 = new SH2023Api1103(); + BeanUtils.copyProperties(apiData, api1103); + api1103.setAjs(api1104List.size()); + api1103.setBjw(ShAreaBjw.getBjw(code)); + list.add(api1103); + } + return JSON.toJSONString(list); + } else if (SH2023Constant.SH_2023_API_CODE_1104.equals(inteId)) { + SH2023Api1104 api1104; + //鏈�鍚庤浆鎹负json + List<SH2023Api1104> list = new ArrayList<>(); + //鎶奷ata杞寲鎴恖ist闆嗗悎 + List<Api1104> api1104List = castList(data, Api1104.class); + for (Api1104 apiData : api1104List) { + api1104 = new SH2023Api1104(); + BeanUtils.copyProperties(apiData, api1104); + api1104.setAjdm(apiData.getAjdh()); + api1104.setCfdm(apiData.getCfbh()); + api1104.setSykqdm(apiData.getKqdm()); + api1104.setBjw(ShAreaBjw.getBjw(code)); + list.add(api1104); + } + return JSON.toJSONString(list); + } else if (SH2023Constant.SH_2023_API_CODE_1105.equals(inteId)) { + SH2023Api1105 api1105; + //鏈�鍚庤浆鎹负json + List<SH2023Api1105> list = new ArrayList<>(); + //鎶奷ata杞寲鎴恖ist闆嗗悎 + List<Api1105> api1105List = castList(data, Api1105.class); + for (Api1105 apiData : api1105List) { + api1105 = new SH2023Api1105(); + BeanUtils.copyProperties(apiData, api1105); + api1105.setBjw(ShAreaBjw.getBjw(code)); + list.add(api1105); + } + return JSON.toJSONString(list); + } else if (SH2023Constant.SH_2023_API_CODE_1106.equals(inteId)) { + SH2023Api1106 api1106; + //鏈�鍚庤浆鎹负json + List<SH2023Api1106> list = new ArrayList<>(); + //鎶奷ata杞寲鎴恖ist闆嗗悎 + List<Api1106> api1106List = castList(data, Api1106.class); + for (Api1106 apiData : api1106List) { + api1106 = new SH2023Api1106(); + BeanUtils.copyProperties(apiData, api1106); + api1106.setBjw(ShAreaBjw.getBjw(code)); + list.add(api1106); + } + return JSON.toJSONString(list); + } else if (SH2023Constant.SH_2023_API_CODE_1201.equals(inteId)) { + SH2023Api1201 api1201; + //鏈�鍚庤浆鎹负json + List<SH2023Api1201> list = new ArrayList<>(); + //鎶奷ata杞寲鎴恖ist闆嗗悎 + List<Api1201> api1201List = castList(data, Api1201.class); + for (Api1201 apiData : api1201List) { + api1201 = new SH2023Api1201(); + BeanUtils.copyProperties(apiData, api1201); + api1201.setBjw(ShAreaBjw.getBjw(code)); + api1201.setHtsfzz("0"); + list.add(api1201); + } + return JSON.toJSONString(list); + } else if (SH2023Constant.SH_2023_API_CODE_1202.equals(inteId)) { + SH2023Api1202 api1202; + //鏈�鍚庤浆鎹负json + List<SH2023Api1202> list = new ArrayList<>(); + //鎶奷ata杞寲鎴恖ist闆嗗悎 + List<Api1202> api1202List = castList(data, Api1202.class); + for (Api1202 apiData : api1202List) { + api1202 = new SH2023Api1202(); + BeanUtils.copyProperties(apiData, api1202); + api1202.setBjw(ShAreaBjw.getBjw(code)); + api1202.setPch(apiData.getHwdm() + apiData.getShnd()); + //todo 椹宠繍鍗曞彿(2104) 妫�鏂ゅ崟鍙�(2101) 鍧囦负闈炲繀濉� + api1202.setJzrq(apiData.getCmsj()); + list.add(api1202); + } + return JSON.toJSONString(list); + } else if (SH2023Constant.SH_2023_API_CODE_1203.equals(inteId)) { + SH2023Api1203 api1203; + //鏈�鍚庤浆鎹负json + List<SH2023Api1203> list = new ArrayList<>(); + //鎶奷ata杞寲鎴恖ist闆嗗悎 + List<Api1203> api1203List = castList(data, Api1203.class); + for (Api1203 apiData : api1203List) { + api1203 = new SH2023Api1203(); + BeanUtils.copyProperties(apiData, api1203); + api1203.setBjw(ShAreaBjw.getBjw(code)); + //鏌ヨ鏀惰幏骞翠唤 + List<Api1202> api1202List = api1202Rep.getDataById(apiData.getRkywdh()); + api1203.setPch(apiData.getHwdm() + api1202List.get(0).getShnd()); + list.add(api1203); + } + return JSON.toJSONString(list); + } else if (SH2023Constant.SH_2023_API_CODE_1204.equals(inteId)) { + SH2023Api1204 api1204; + //鏈�鍚庤浆鎹负json + List<SH2023Api1204> list = new ArrayList<>(); + //鎶奷ata杞寲鎴恖ist闆嗗悎 + List<Api1204> api1204List = castList(data, Api1204.class); + for (Api1204 apiData : api1204List) { + api1204 = new SH2023Api1204(); + BeanUtils.copyProperties(apiData, api1204); + api1204.setBjw(ShAreaBjw.getBjw(code)); + api1204.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getJssj(), "yyyy")); + list.add(api1204); + } + return JSON.toJSONString(list); + } else if (SH2023Constant.SH_2023_API_CODE_1205.equals(inteId)) { + SH2023Api1205 api1205; + //鏈�鍚庤浆鎹负json + List<SH2023Api1205> list = new ArrayList<>(); + //鎶奷ata杞寲鎴恖ist闆嗗悎 + List<Api1205> api1205List = castList(data, Api1205.class); + for (Api1205 apiData : api1205List) { + api1205 = new SH2023Api1205(); + BeanUtils.copyProperties(apiData, api1205); + api1205.setBjw(ShAreaBjw.getBjw(code)); + api1205.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getCmsj(), "yyyy")); + api1205.setJzrq(apiData.getCmsj()); + list.add(api1205); + } + return JSON.toJSONString(list); } else { return JSON.toJSONString(data); } } + /** + * Object绫诲瀷杞彉涓篖ist + * + * @param obj + * @param clazz + * @param <T> + * @return + */ + public static <T> List<T> castList(Object obj, Class<T> clazz) { + List<T> result = new ArrayList<T>(); + if (obj instanceof List<?>) { + for (Object o : (List<?>) obj) { + result.add(clazz.cast(o)); + } + return result; + } + return null; + } + + } \ No newline at end of file -- Gitblit v1.9.3