From 029de836702607a95ccb0a69a74efcea52ddc451 Mon Sep 17 00:00:00 2001 From: czt <czt18638530771@163.com> Date: 星期四, 25 九月 2025 19:35:38 +0800 Subject: [PATCH] 上海对农数据接口调整2 --- src/main/java/com/fzzy/inte/sh2023/service/SHDNService.java | 240 +++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 191 insertions(+), 49 deletions(-) diff --git a/src/main/java/com/fzzy/inte/sh2023/service/SHDNService.java b/src/main/java/com/fzzy/inte/sh2023/service/SHDNService.java index a4c9d67..198737c 100644 --- a/src/main/java/com/fzzy/inte/sh2023/service/SHDNService.java +++ b/src/main/java/com/fzzy/inte/sh2023/service/SHDNService.java @@ -2,22 +2,25 @@ import com.alibaba.fastjson.JSONObject; import com.fzzy.api.entity.*; +import com.fzzy.api.utils.RedisUtil; import com.fzzy.api.view.repository.*; -import com.fzzy.inte.sh2023.dto.SHDN2023ReqDto; +import com.fzzy.inte.sh2023.constant.ApiRespCode; +import com.fzzy.inte.sh2023.dto.ApiResp; +import com.fzzy.inte.sh2023.dto.ResultDto; import com.fzzy.push.sh2023.SH2023Constant; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; -import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; - -import java.util.ArrayList; +import java.util.Date; import java.util.List; @Slf4j @Service public class SHDNService { + @Autowired + private ApiConfsRep apiConfsRep; @Autowired private Api9109Rep api9109Rep; @Autowired @@ -34,60 +37,199 @@ private Api9115Rep api9115Rep; @Autowired private Api9116Rep api9116Rep; + @Autowired + private RedisUtil redisUtil; @Async - public void syncData(String interfaceId, String dataStr){ + public void syncData(String interfaceId, String dataStr, String deptId, String outId){ + ApiConfs apiConfs = apiConfsRep.getDataByDeptId(deptId); + if(null == apiConfs){ + log.error("-----鏈幏鍙栧埌搴撳尯淇℃伅閰嶇疆锛屼笉瑙f瀽---------"); + resultRedis(outId, ApiRespCode.R_500.getCode(), "鏈幏鍙栧埌搴撳尯淇℃伅閰嶇疆锛屼笉瑙f瀽"); + return; + } + try { + //鍗曚綅淇℃伅 + if(SH2023Constant.SH_2023_API_CODE_3101.equals(interfaceId)){ + List<Api9109> list = JSONObject.parseArray(dataStr, Api9109.class); + if(null == list || list.isEmpty()){ + log.error("-----鏈幏鍙栧埌淇℃伅锛屼笉瑙f瀽---------"); + resultRedis(outId, ApiRespCode.R_500.getCode(), "鏈幏鍙栧埌淇℃伅锛屼笉瑙f瀽"); + return; + } + for (Api9109 apiData : list) { + apiData.setBizId(apiConfs.getKqdm()); + apiData.setZhgxsj(new Date()); + api9109Rep.save(apiData); + } + log.info("-----鍗曚綅淇℃伅瑙f瀽瀹屾垚={}-----", list); + //瑙f瀽缁撴灉鏀惧叆缂撳瓨 + resultRedis(outId, ApiRespCode.R_200.getCode(), "鍗曚綅淇℃伅瑙f瀽瀹屾垚"); + } - //鍗曚綅淇℃伅 - if(SH2023Constant.SH_2023_API_CODE_3101.equals(interfaceId)){ - List<Api9109> list = JSONObject.parseArray(dataStr, Api9109.class); - api9109Rep.saveAll(list); + //鏀剁撼搴撲俊鎭� + if(SH2023Constant.SH_2023_API_CODE_3102.equals(interfaceId)){ + List<Api9110> list = JSONObject.parseArray(dataStr, Api9110.class); + if(null == list || list.isEmpty()){ + log.error("-----鏈幏鍙栧埌搴撳尯淇℃伅锛屼笉瑙f瀽---------"); + resultRedis(outId, ApiRespCode.R_500.getCode(), "鏈幏鍙栧埌搴撳尯淇℃伅锛屼笉瑙f瀽"); + return; + } + for (Api9110 apiData : list) { + apiData.setBizId(apiConfs.getKqdm()); + apiData.setZhgxsj(new Date()); + api9110Rep.save(apiData); + } + log.info("-----搴撳尯淇℃伅瑙f瀽瀹屾垚={}-----", list); + //瑙f瀽缁撴灉鏀惧叆缂撳瓨 + resultRedis(outId, ApiRespCode.R_200.getCode(), "搴撳尯淇℃伅瑙f瀽瀹屾垚"); + } + + //浠撴埧淇℃伅 + if(SH2023Constant.SH_2023_API_CODE_3103.equals(interfaceId)){ + List<Api9111> list = JSONObject.parseArray(dataStr, Api9111.class); + if(null == list || list.isEmpty()){ + log.error("-----鏈幏鍙栧埌浠撴埧淇℃伅锛屼笉瑙f瀽---------"); + resultRedis(outId, ApiRespCode.R_500.getCode(), "鏈幏鍙栧埌浠撴埧淇℃伅锛屼笉瑙f瀽"); + return; + } + for (Api9111 apiData : list) { + apiData.setBizId(apiConfs.getKqdm()); + apiData.setZhgxsj(new Date()); + api9111Rep.save(apiData); + } + log.info("-----浠撴埧淇℃伅瑙f瀽瀹屾垚={}-----", list); + //瑙f瀽缁撴灉鏀惧叆缂撳瓨 + resultRedis(outId, ApiRespCode.R_200.getCode(), "浠撴埧淇℃伅瑙f瀽瀹屾垚"); + } + + //寤掗棿淇℃伅 + if(SH2023Constant.SH_2023_API_CODE_3104.equals(interfaceId)){ + List<Api9112> list = JSONObject.parseArray(dataStr, Api9112.class); + if(null == list || list.isEmpty()){ + log.error("-----鏈幏鍙栧埌浠撴埧淇℃伅锛屼笉瑙f瀽---------"); + resultRedis(outId, ApiRespCode.R_500.getCode(), "鏈幏鍙栧埌浠撴埧淇℃伅锛屼笉瑙f瀽"); + return; + } + for (Api9112 apiData : list) { + apiData.setBizId(apiConfs.getKqdm()); + apiData.setZhgxsj(new Date()); + api9112Rep.save(apiData); + } + log.info("-----寤掗棿淇℃伅瑙f瀽瀹屾垚={}-----", list); + //瑙f瀽缁撴灉鏀惧叆缂撳瓨 + resultRedis(outId, ApiRespCode.R_200.getCode(), "寤掗棿淇℃伅瑙f瀽瀹屾垚"); + } + + //璐т綅淇℃伅 + if(SH2023Constant.SH_2023_API_CODE_3105.equals(interfaceId)){ + List<Api9113> list = JSONObject.parseArray(dataStr, Api9113.class); + if(null == list || list.isEmpty()){ + log.error("-----鏈幏鍙栧埌璐т綅淇℃伅锛屼笉瑙f瀽---------"); + resultRedis(outId, ApiRespCode.R_500.getCode(), "鏈幏鍙栧埌浠撴埧淇℃伅锛屼笉瑙f瀽"); + return; + } + for (Api9113 apiData : list) { + apiData.setBizId(apiConfs.getKqdm()); + apiData.setZhgxsj(new Date()); + api9113Rep.save(apiData); + } + log.info("-----璐т綅淇℃伅瑙f瀽瀹屾垚={}-----", list); + //瑙f瀽缁撴灉鏀惧叆缂撳瓨 + resultRedis(outId, ApiRespCode.R_200.getCode(), "璐т綅淇℃伅瑙f瀽瀹屾垚"); + } + + //绮鍏ュ簱淇℃伅 + if(SH2023Constant.SH_2023_API_CODE_3201.equals(interfaceId)){ + List<Api9114> list = JSONObject.parseArray(dataStr, Api9114.class); + if(null == list || list.isEmpty()){ + log.error("-----鏈幏鍙栧埌绮鍏ュ簱淇℃伅锛屼笉瑙f瀽---------"); + resultRedis(outId, ApiRespCode.R_500.getCode(), "鏈幏鍙栧埌浠撴埧淇℃伅锛屼笉瑙f瀽"); + return; + } + for (Api9114 apiData : list) { + apiData.setBizId(apiConfs.getKqdm()); + apiData.setZhgxsj(new Date()); + api9114Rep.save(apiData); + } + log.info("-----绮鍏ュ簱淇℃伅瑙f瀽瀹屾垚={}-----", list); + //瑙f瀽缁撴灉鏀惧叆缂撳瓨 + resultRedis(outId, ApiRespCode.R_200.getCode(), "绮鍏ュ簱淇℃伅瑙f瀽瀹屾垚"); + } + + //鏉ョ伯妫�楠屼俊鎭� + if(SH2023Constant.SH_2023_API_CODE_3202.equals(interfaceId)){ + List<Api9115> list = JSONObject.parseArray(dataStr, Api9115.class); + if(null == list || list.isEmpty()){ + log.error("-----鏈幏鍙栧埌鏉ョ伯妫�楠屼俊鎭紝涓嶈В鏋�---------"); + resultRedis(outId, ApiRespCode.R_500.getCode(), "鏈幏鍙栧埌浠撴埧淇℃伅锛屼笉瑙f瀽"); + return; + } + for (Api9115 apiData : list) { + apiData.setBizId(apiConfs.getKqdm()); + apiData.setZhgxsj(new Date()); + api9115Rep.save(apiData); + } + log.info("-----鏉ョ伯妫�楠屼俊鎭В鏋愬畬鎴�={}-----", list); + //瑙f瀽缁撴灉鏀惧叆缂撳瓨 + resultRedis(outId, ApiRespCode.R_200.getCode(), "鏉ョ伯妫�楠屼俊鎭В鏋愬畬鎴�"); + } + + //绮鏀惰喘鍩虹淇℃伅 + if(SH2023Constant.SH_2023_API_CODE_3203.equals(interfaceId)){ + List<Api9116> list = JSONObject.parseArray(dataStr, Api9116.class); + if(null == list || list.isEmpty()){ + log.error("-----鏈幏鍙栧埌绮鏀惰喘鍩虹淇℃伅锛屼笉瑙f瀽---------"); + resultRedis(outId, ApiRespCode.R_500.getCode(), "鏈幏鍙栧埌浠撴埧淇℃伅锛屼笉瑙f瀽"); + return; + } + for (Api9116 apiData : list) { + apiData.setBizId(apiConfs.getKqdm()); + apiData.setZhgxsj(new Date()); + api9116Rep.save(apiData); + } + log.info("-----绮鏀惰喘鍩虹淇℃伅瑙f瀽瀹屾垚={}-----", list); + //瑙f瀽缁撴灉鏀惧叆缂撳瓨 + resultRedis(outId, ApiRespCode.R_200.getCode(), "绮鏀惰喘鍩虹淇℃伅瑙f瀽瀹屾垚"); + } + } catch (Exception e) { + log.error("-----鎺ュ彛{}瑙f瀽鎶ラ敊锛岄敊璇師鍥�={}-----", interfaceId, e.toString()); + resultRedis(outId, ApiRespCode.R_500.getCode(), "-----鎺ュ彛"+interfaceId+"瑙f瀽鎶ラ敊锛岄敊璇師鍥�="+e.toString()+"-----"); } - //鏀剁撼搴撲俊鎭� - if(SH2023Constant.SH_2023_API_CODE_3102.equals(interfaceId)){ - List<Api9110> list = JSONObject.parseArray(dataStr, Api9110.class); - api9110Rep.saveAll(list); + } + + /** + * 浠庣紦瀛樹腑鑾峰彇瑙f瀽缁撴灉 + * @param dataStr + * @return + */ + public ApiResp getResult(String dataStr){ + List<ResultDto> list = JSONObject.parseArray(dataStr, ResultDto.class); + if(null == list || list.isEmpty()){ + log.error("-----outId涓虹┖---------"); + return new ApiResp(ApiRespCode.R_500.getCode(), "outId涓虹┖锛屾棤娉曡幏鍙栬В鏋愮粨鏋滐紒"); } - - //浠撴埧淇℃伅 - if(SH2023Constant.SH_2023_API_CODE_3103.equals(interfaceId)){ - List<Api9111> list = JSONObject.parseArray(dataStr, Api9111.class); - api9111Rep.saveAll(list); + ApiResp result = (ApiResp)redisUtil.get(list.get(0).getOutId()); + if(null == result){ + log.error("-----鏈幏鍙栧埌outId瀵瑰簲鐨勮В鏋愮粨鏋�---------"); + return new ApiResp(ApiRespCode.R_500.getCode(), "鏈幏鍙栧埌outId瀵瑰簲鐨勮В鏋愮粨鏋滐紒"); } + return result; + } - //寤掗棿淇℃伅 - if(SH2023Constant.SH_2023_API_CODE_3104.equals(interfaceId)){ - List<Api9112> list = JSONObject.parseArray(dataStr, Api9112.class); - api9112Rep.saveAll(list); - } - - //璐т綅淇℃伅 - if(SH2023Constant.SH_2023_API_CODE_3105.equals(interfaceId)){ - List<Api9113> list = JSONObject.parseArray(dataStr, Api9113.class); - api9113Rep.saveAll(list); - } - - //绮鍏ュ簱淇℃伅 - if(SH2023Constant.SH_2023_API_CODE_3106.equals(interfaceId)){ - List<Api9114> list = JSONObject.parseArray(dataStr, Api9114.class); - api9114Rep.saveAll(list); - } - - //鏉ョ伯妫�楠屼俊鎭� - if(SH2023Constant.SH_2023_API_CODE_3107.equals(interfaceId)){ - List<Api9115> list = JSONObject.parseArray(dataStr, Api9115.class); - api9115Rep.saveAll(list); - } - - //绮鏀惰喘鍩虹淇℃伅 - if(SH2023Constant.SH_2023_API_CODE_3108.equals(interfaceId)){ - List<Api9116> list = JSONObject.parseArray(dataStr, Api9116.class); - api9116Rep.saveAll(list); - } - - + /** + * + * 缁撴灉瀛樺叆缂撳瓨 + * @param outId + * @param code + * @param msg + */ + public void resultRedis(String outId, String code, String msg){ + ApiResp result = new ApiResp(code, msg); + //缁撴灉瀛樺叆缂撳瓨2灏忔椂 + redisUtil.set(outId, result, 60*60*2); } } -- Gitblit v1.9.3