From 4676c3c00f3e56ed65c149f4dd2c2697e0f1890c Mon Sep 17 00:00:00 2001 From: CZT <czt18638530771@163.com> Date: 星期六, 07 十月 2023 09:58:23 +0800 Subject: [PATCH] 优化温湿度数据同步 --- src/main/java/com/fzzy/api/view/pr/Api1101PR.java | 71 ++++++++++++++++++++++++++++++----- 1 files changed, 60 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/fzzy/api/view/pr/Api1101PR.java b/src/main/java/com/fzzy/api/view/pr/Api1101PR.java index f9bc997..3252a4a 100644 --- a/src/main/java/com/fzzy/api/view/pr/Api1101PR.java +++ b/src/main/java/com/fzzy/api/view/pr/Api1101PR.java @@ -5,6 +5,7 @@ import com.bstek.dorado.annotation.Expose; 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.ApiConfs; @@ -16,13 +17,12 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; - import java.util.List; /** * 鍗曚綅淇℃伅 * - * @author he + * @author czt */ @Component public class Api1101PR { @@ -100,24 +100,45 @@ */ @Expose public String pushData(List<Api1101> items) { - ResponseDto responseDto; - String result = ""; //鑾峰彇閰嶇疆 String kqdm = items.get(0).getKqdm(); ApiConfs apiConf = apiCommonService.getConf(kqdm); - if (null == apiConf) return "绯荤粺娌℃湁鑾峰彇鍒板綋鍓嶅簱鍖洪厤缃俊鎭紝鎵ц澶辫触"; + if (null == apiConf) { + return "绯荤粺娌℃湁鑾峰彇鍒板綋鍓嶅簱鍖洪厤缃俊鎭紝鎵ц澶辫触"; + } + + //鑾峰彇瀹炵幇鎺ュ彛 + ApiRemoteService apiRemoteService = apiPushManager.getApiRemoteService(apiConf.getPushProtocol()); + if (null == apiRemoteService) { + return "绯荤粺娌℃湁褰撳墠鎺ㄩ�佸崗璁厤缃紝鎵ц澶辫触"; + } + + //鏍规嵁鐪佷唤鍗忚锛屽垽鏂槸闆嗗悎褰㈠紡涓婃姤杩樻槸鍗曟潯json涓婃姤 + if(PushProtocol.SB_SH_2023.getCode().equals(apiConf.getPushProtocol())){ + return pushDataList(items, apiRemoteService, apiConf); + } + + return pushDataSingle(items, apiRemoteService, apiConf); + } + + /** + * 鍗曟潯鏁版嵁json鎺ㄩ�� + * @param items + * @param apiRemoteService + * @param apiConf + * @return + */ + private String pushDataSingle(List<Api1101> items, ApiRemoteService apiRemoteService, ApiConfs apiConf) { + ResponseDto responseDto; + String result = ""; //灏佽鍙傛暟 ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_11, Constant.API_CODE_1101); - //鑾峰彇瀹炵幇鎺ュ彛 - ApiRemoteService apiRemoteService = apiPushManager.getApiRemoteService(param.getPushProtocol()); - if (null == apiRemoteService) return "绯荤粺娌℃湁褰撳墠鎺ㄩ�佸崗璁厤缃紝鎵ц澶辫触"; - Api1101 d; - for (ApiParent data : items) { + for (Api1101 data : items) { d = new Api1101(); BeanUtils.copyProperties(data, d); param.setBizId(data.getBizId()); @@ -126,11 +147,39 @@ result += responseDto.toString(); if (responseDto.getSuccess() == 0) { if (Constant.CZBZ_I.equals(d.getCzbz())) { - api1101Rep.updateStatus(data.getKqdm(), Constant.CZBZ_U); + api1101Rep.updateStatus(data.getDwdm(), Constant.CZBZ_U); } } } return result; } + /** + * 闆嗗悎褰㈠紡鎺ㄩ�� + * @param items + * @param apiRemoteService + * @param apiConf + * @return + */ + private String pushDataList(List<Api1101> items, ApiRemoteService apiRemoteService, ApiConfs apiConf) { + + //灏佽鍙傛暟 + ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_11, Constant.API_CODE_1101); + + + //鎺ㄩ�侊紝鏁版嵁涓洪泦鍚堝舰寮� + ResponseDto responseDto = apiRemoteService.pushData(param, apiConf, items); + if (responseDto.getSuccess() == 0) { + //鎺ㄩ�佹垚鍔燂紝鏇存柊鏁版嵁涓婁紶鐘舵�� + for (Api1101 data : items) { + if (Constant.CZBZ_I.equals(data.getCzbz())) { + //鏇存柊鐘舵�� + api1101Rep.updateStatus(data.getDwdm(), Constant.CZBZ_U); + } + } + } + + return responseDto.toString(); + } + } -- Gitblit v1.9.3