From 7d6d02e3d501a0a5f5cbdff16bf594c77f2fc7cd Mon Sep 17 00:00:00 2001 From: YYC <1833023622@qq.com> Date: 星期一, 18 九月 2023 18:58:44 +0800 Subject: [PATCH] 优化上海接口-手动上传时根据协议区分数据是否为集合形式 --- src/main/java/com/fzzy/api/view/pr/Api1103PR.java | 218 ++++++++++++++++++++++++++++++++--------------------- 1 files changed, 131 insertions(+), 87 deletions(-) diff --git a/src/main/java/com/fzzy/api/view/pr/Api1103PR.java b/src/main/java/com/fzzy/api/view/pr/Api1103PR.java index 8669930..53c942b 100644 --- a/src/main/java/com/fzzy/api/view/pr/Api1103PR.java +++ b/src/main/java/com/fzzy/api/view/pr/Api1103PR.java @@ -4,6 +4,7 @@ import com.bstek.dorado.annotation.DataResolver; import com.bstek.dorado.annotation.Expose; import com.fzzy.api.data.ApiParam; +import com.fzzy.api.data.PushProtocol; import com.fzzy.api.entity.Api1103; import com.fzzy.api.entity.ApiConfs; import com.fzzy.api.service.ApiCommonService; @@ -20,117 +21,160 @@ /** * 浠撴埧淇℃伅 + * * @author he */ @Component public class Api1103PR { - @Autowired - private Api1103Rep api1103Rep; + @Autowired + private Api1103Rep api1103Rep; - @Autowired - private ApiCommonService apiCommonService; + @Autowired + private ApiCommonService apiCommonService; - @Autowired - private ApiPushManager apiPushManager; + @Autowired + private ApiPushManager apiPushManager; - /** - * api1103PR#listAll - * - * @return - */ - @DataProvider - public List<Api1103> listAll() { - return api1103Rep.findAll(); - } + /** + * api1103PR#listAll + * + * @return + */ + @DataProvider + public List<Api1103> listAll() { + return api1103Rep.findAll(); + } - /** - * api1103PR#updateSave - * - * @param entity - */ - @DataResolver - public void updateSave(Api1103 entity) { + /** + * api1103PR#updateSave + * + * @param entity + */ + @DataResolver + public void updateSave(Api1103 entity) { - // 鎵嬪姩灏哾oradoEntity瀵硅薄杞崲涓烘爣鍑咮ean瀵硅薄 - Api1103 data = new Api1103(); - BeanUtils.copyProperties(entity, data); - data.setCfdm(data.getCfdm().trim()); - api1103Rep.save(data); + // 鎵嬪姩灏哾oradoEntity瀵硅薄杞崲涓烘爣鍑咮ean瀵硅薄 + Api1103 data = new Api1103(); + BeanUtils.copyProperties(entity, data); + data.setCfdm(data.getCfdm().trim()); + api1103Rep.save(data); - //鍒锋柊缂撳瓨 - apiCommonService.flushApi1103Cache(listAll()); - } + //鍒锋柊缂撳瓨 + apiCommonService.flushApi1103Cache(listAll()); + } - /** - * api1103PR#delData - * - * @param data - */ - @Expose - public String delData(Api1103 data) { + /** + * api1103PR#delData + * + * @param data + */ + @Expose + public String delData(Api1103 data) { - api1103Rep.deleteById(data.getCfdm()); + api1103Rep.deleteById(data.getCfdm()); - return null; - } + return null; + } - /** - * - * 鏇存柊鍒犻櫎鏍囪 api1103PR#delUpdate - * - * @param entity - */ - @Expose - public String delUpdate(Api1103 entity) { + /** + * 鏇存柊鍒犻櫎鏍囪 api1103PR#delUpdate + * + * @param entity + */ + @Expose + public String delUpdate(Api1103 entity) { - entity.setCzbz(Constant.CZBZ_D); + entity.setCzbz(Constant.CZBZ_D); - Api1103 data = new Api1103(); - BeanUtils.copyProperties(entity, data); + Api1103 data = new Api1103(); + BeanUtils.copyProperties(entity, data); - api1103Rep.save(data); - return null; - } + api1103Rep.save(data); + return null; + } - /** - * api1103PR#pushData - * - * @param items - */ - @Expose - public String pushData(List<Api1103> items) { - ResponseDto responseDto; - String result = ""; + /** + * api1103PR#pushData + * + * @param items + */ + @Expose + public String pushData(List<Api1103> items) { - //鑾峰彇閰嶇疆 - String kqdm = items.get(0).getKqdm(); - ApiConfs apiConf = apiCommonService.getConf(kqdm); + //鑾峰彇閰嶇疆 + String kqdm = items.get(0).getKqdm(); + ApiConfs apiConf = apiCommonService.getConf(kqdm); - if (null == apiConf) return "绯荤粺娌℃湁鑾峰彇鍒板綋鍓嶅簱鍖洪厤缃俊鎭紝鎵ц澶辫触"; + if (null == apiConf) return "绯荤粺娌℃湁鑾峰彇鍒板綋鍓嶅簱鍖洪厤缃俊鎭紝鎵ц澶辫触"; - //灏佽鍙傛暟 - ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_11, Constant.API_CODE_1103); + //鑾峰彇瀹炵幇鎺ュ彛 + ApiRemoteService apiRemoteService = apiPushManager.getApiRemoteService(apiConf.getPushProtocol()); + if (null == apiRemoteService) return "绯荤粺娌℃湁褰撳墠鎺ㄩ�佸崗璁厤缃紝鎵ц澶辫触"; - //鑾峰彇瀹炵幇鎺ュ彛 - ApiRemoteService apiRemoteService = apiPushManager.getApiRemoteService(param.getPushProtocol()); - if (null == apiRemoteService) return "绯荤粺娌℃湁褰撳墠鎺ㄩ�佸崗璁厤缃紝鎵ц澶辫触"; + if (PushProtocol.SB_SH_2023.getCode().equals(apiConf.getPushProtocol())) { + return pushDataList(items, apiRemoteService, apiConf); + } + return pushDataSingle(items, apiRemoteService, apiConf); + } - Api1103 d; - for (Api1103 data : items) { - d = new Api1103(); - BeanUtils.copyProperties(data, d); - param.setBizId(data.getBizId()); - responseDto = apiRemoteService.pushData(param, apiConf, d); + /** + * 鍗曟潯鏁版嵁json鎺ㄩ�� + * + * @param items + * @param apiRemoteService + * @param apiConf + * @return + */ + private String pushDataSingle(List<Api1103> items, ApiRemoteService apiRemoteService, ApiConfs apiConf) { + ResponseDto responseDto; + String result = ""; - result += responseDto.toString(); - if (responseDto.getSuccess() == 0) { - if (Constant.CZBZ_I.equals(d.getCzbz())) { - api1103Rep.updateStatus(data.getCfdm(), Constant.CZBZ_U); - } - } - } - return result; - } + //灏佽鍙傛暟 + ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_11, Constant.API_CODE_1103); + Api1103 d; + for (Api1103 data : items) { + d = new Api1103(); + BeanUtils.copyProperties(data, d); + param.setBizId(data.getBizId()); + responseDto = apiRemoteService.pushData(param, apiConf, d); + + result += responseDto.toString(); + if (responseDto.getSuccess() == 0) { + if (Constant.CZBZ_I.equals(d.getCzbz())) { + api1103Rep.updateStatus(data.getCfdm(), Constant.CZBZ_U); + } + } + } + return result; + } + + /** + * 澶氭潯鏁版嵁json鎺ㄩ�� + * + * @param items + * @param apiRemoteService + * @param apiConf + * @return + */ + private String pushDataList(List<Api1103> items, ApiRemoteService apiRemoteService, ApiConfs apiConf) { + + //灏佽鍙傛暟 + ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_11, Constant.API_CODE_1102); + + //鎺ㄩ�侊紝鏁版嵁涓洪泦鍚堝舰寮� + ResponseDto responseDto = apiRemoteService.pushData(param, apiConf, items); + if (responseDto.getSuccess() == 0) { + //鎺ㄩ�佹垚鍔燂紝鏇存柊鏁版嵁涓婁紶鐘舵�� + for (Api1103 data : items) { + if (Constant.CZBZ_I.equals(data.getCzbz())) { + //鏇存柊鐘舵�� + api1103Rep.updateStatus(data.getCfdm(), Constant.CZBZ_U); + } + } + } + return responseDto.toString(); + } + } -- Gitblit v1.9.3