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/Api1201PR.java |   63 ++++++++++++++++++++++++++++---
 1 files changed, 56 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/fzzy/api/view/pr/Api1201PR.java b/src/main/java/com/fzzy/api/view/pr/Api1201PR.java
index b2b0c1c..a658e24 100644
--- a/src/main/java/com/fzzy/api/view/pr/Api1201PR.java
+++ b/src/main/java/com/fzzy/api/view/pr/Api1201PR.java
@@ -4,6 +4,8 @@
 import com.bstek.dorado.annotation.DataResolver;
 import com.bstek.dorado.annotation.Expose;
 import com.bstek.dorado.data.provider.Page;
+import com.fzzy.api.data.PushProtocol;
+import com.fzzy.api.entity.Api1201;
 import com.fzzy.api.entity.ApiConfs;
 import com.fzzy.api.service.ApiCommonService;
 import com.fzzy.api.service.ApiPushManager;
@@ -168,26 +170,73 @@
 
         if (null == apiConf) return "绯荤粺娌℃湁鑾峰彇鍒板綋鍓嶅簱鍖洪厤缃俊鎭紝鎵ц澶辫触";
 
-        //灏佽鍙傛暟
-        ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_11, Constant.API_CODE_1201);
-
 
         //鑾峰彇瀹炵幇鎺ュ彛
-        ApiRemoteService apiService = apiPushManager.getApiRemoteService(param.getPushProtocol());
+        ApiRemoteService apiService = apiPushManager.getApiRemoteService(apiConf.getPushProtocol());
         if (null == apiService) return "绯荤粺娌℃湁褰撳墠鎺ㄩ�佸崗璁厤缃紝鎵ц澶辫触";
 
+        if (PushProtocol.SB_SH_2023.getCode().equals(apiConf.getPushProtocol())){
+            return pushDataList(items,apiService,apiConf);
+        }
+        return pushDataSingle(items,apiService,apiConf);
+    }
+
+    /**
+     * 鍗曟潯鏁版嵁json鎺ㄩ��
+     *
+     * @param items
+     * @param apiRemoteService
+     * @param apiConf
+     * @return
+     */
+    private String pushDataSingle(List<Api1201> items, ApiRemoteService apiRemoteService, ApiConfs apiConf) {
+        ResponseDto responseDto;
+        String result = "";
+
+        //灏佽鍙傛暟
+        ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_12, Constant.API_CODE_1201);
+        Api1201 d;
         for (Api1201 data : items) {
             d = new Api1201();
             BeanUtils.copyProperties(data, d);
-            responseDto = apiService.pushData(param, apiConf, d);
+            param.setBizId(data.getBizId());
+            responseDto = apiRemoteService.pushData(param, apiConf, d);
+
             result += responseDto.toString();
             if (responseDto.getSuccess() == 0) {
-                if ("i".equals(d.getCzbz())) {
-                    apiRepository.updateStatus(d.getHth(), Constant.CZBZ_U);
+                if (Constant.CZBZ_I.equals(d.getCzbz())) {
+                    apiRepository.updateStatus(data.getHth(), Constant.CZBZ_U);
                 }
             }
         }
         return result;
     }
 
+    /**
+     * 澶氭潯鏁版嵁json鎺ㄩ��
+     *
+     * @param items
+     * @param apiRemoteService
+     * @param apiConf
+     * @return
+     */
+    private String pushDataList(List<Api1201> items, ApiRemoteService apiRemoteService, ApiConfs apiConf) {
+
+        //灏佽鍙傛暟
+        ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_12, Constant.API_CODE_1201);
+
+        //鎺ㄩ�侊紝鏁版嵁涓洪泦鍚堝舰寮�
+        ResponseDto responseDto = apiRemoteService.pushData(param, apiConf, items);
+        if (responseDto.getSuccess() == 0) {
+            //鎺ㄩ�佹垚鍔燂紝鏇存柊鏁版嵁涓婁紶鐘舵��
+            for (Api1201 data : items) {
+                if (Constant.CZBZ_I.equals(data.getCzbz())) {
+                    //鏇存柊鐘舵��
+                    apiRepository.updateStatus(data.getHth(), Constant.CZBZ_U);
+                }
+            }
+        }
+        return responseDto.toString();
+    }
+
 }

--
Gitblit v1.9.3