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/Api1502PR.java |   65 ++++++++++++++++++++++++++------
 1 files changed, 53 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/fzzy/api/view/pr/Api1502PR.java b/src/main/java/com/fzzy/api/view/pr/Api1502PR.java
index 7daa188..5b5f552 100644
--- a/src/main/java/com/fzzy/api/view/pr/Api1502PR.java
+++ b/src/main/java/com/fzzy/api/view/pr/Api1502PR.java
@@ -4,8 +4,8 @@
 import com.bstek.dorado.annotation.DataResolver;
 import com.bstek.dorado.annotation.Expose;
 import com.fzzy.api.data.ApiParam;
-import com.fzzy.api.entity.Api1502;
-import com.fzzy.api.entity.ApiConfs;
+import com.fzzy.api.data.PushProtocol;
+import com.fzzy.api.entity.*;
 import com.fzzy.api.service.ApiCommonService;
 import com.fzzy.api.service.ApiPushManager;
 import com.fzzy.api.service.ApiRemoteService;
@@ -13,7 +13,6 @@
 import com.fzzy.api.Constant;
 import com.fzzy.api.dto.ResponseDto;
 import com.fzzy.api.entity.Api1502;
-import com.fzzy.api.entity.ApiParent;
 import com.fzzy.api.view.repository.Api1502Rep;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -97,22 +96,36 @@
      */
     @Expose
     public String pushData(List<Api1502> items) {
-        ResponseDto responseDto;
-        String result = "";
-        Api1502 d;
+
         String kqdm = items.get(0).getKqdm();
         ApiConfs apiConf = apiCommonService.getConf(kqdm);
 
         if (null == apiConf) return "绯荤粺娌℃湁鑾峰彇鍒板綋鍓嶅簱鍖洪厤缃俊鎭紝鎵ц澶辫触";
 
+        //鑾峰彇瀹炵幇鎺ュ彛
+        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 apiService
+     * @param apiConf
+     * @return
+     */
+    private String pushDataSingle(List<Api1502> items, ApiRemoteService apiService, ApiConfs apiConf) {
+        ResponseDto responseDto;
+        String result = "";
+
         //灏佽鍙傛暟
         ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_11, Constant.API_CODE_1502);
-
-
-        //鑾峰彇瀹炵幇鎺ュ彛
-        ApiRemoteService apiService = apiPushManager.getApiRemoteService(param.getPushProtocol());
-        if (null == apiService) return "绯荤粺娌℃湁褰撳墠鎺ㄩ�佸崗璁厤缃紝鎵ц澶辫触";
-
+        Api1502 d;
         for (Api1502 data : items) {
             d = new Api1502();
             BeanUtils.copyProperties(data, d);
@@ -128,4 +141,32 @@
         }
         return result;
     }
+
+    /**
+     * 澶氭潯鏁版嵁json鎺ㄩ��
+     *
+     * @param items
+     * @param apiRemoteService
+     * @param apiConf
+     * @return
+     */
+    private String pushDataList(List<Api1502> items, ApiRemoteService apiRemoteService, ApiConfs apiConf) {
+
+        //灏佽鍙傛暟
+        ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_11, Constant.API_CODE_1502);
+
+        //鎺ㄩ�侊紝鏁版嵁涓洪泦鍚堝舰寮�
+        ResponseDto responseDto = apiRemoteService.pushData(param, apiConf, items);
+        if (responseDto.getSuccess() == 0) {
+            //鎺ㄩ�佹垚鍔燂紝鏇存柊鏁版嵁涓婁紶鐘舵��
+            for (Api1502 data : items) {
+                if (Constant.CZBZ_I.equals(data.getCzbz())) {
+                    //鏇存柊鐘舵��
+                    data.setCzbz(Constant.CZBZ_U);
+                    api1502Rep.save(data);
+                }
+            }
+        }
+        return responseDto.toString();
+    }
 }

--
Gitblit v1.9.3