From 8cbee71a1145555fabb0ebcdd9a8654da4a485ae Mon Sep 17 00:00:00 2001
From: CZT <czt18638530771@163.com>
Date: 星期日, 17 九月 2023 20:49:28 +0800
Subject: [PATCH] 优化上海接口-手动上传时根据协议区分数据是否为集合形式

---
 src/main/java/com/fzzy/api/view/pr/Api1101PR.java |   67 +++++++++++++++++++++++++++++----
 1 files changed, 58 insertions(+), 9 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..bb2579a 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,21 +100,42 @@
      */
     @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) {
@@ -133,4 +154,32 @@
         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.getKqdm(), Constant.CZBZ_U);
+                }
+            }
+        }
+
+        return responseDto.toString();
+    }
+
 }

--
Gitblit v1.9.3