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 +++++++++++++++++++++++++++++----
 src/main/java/com/fzzy/push/sh2023/SH2023OrderApiServiceImpl.java |    6 ++
 src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java    |    3 +
 3 files changed, 65 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..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();
+    }
+
 }
diff --git a/src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java b/src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java
index 0dc1763..8d3b4e7 100644
--- a/src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java
+++ b/src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java
@@ -74,7 +74,7 @@
         String inteId = param.getInteId();
         String kqdm = param.getKqdm();
         //鏌ヨ搴撳尯淇℃伅琛屾斂鍖哄垝鐮�
-        List<Api1102> api1102List = api1102Rep.findPushData(conf.getKqdm());
+        List<Api1102> api1102List = api1102Rep.findPushData(kqdm);
         try {
             if (null == conf) {
                 conf = apiCommonService.getConf(kqdm);
@@ -110,6 +110,7 @@
             String key = RedisConst.buildKey(RedisConst.KYE_ORDER, conf.getKqdm());
             String orderId = (String)redisUtil.get(key);
             if(StringUtils.isEmpty(orderId)){
+                log.error("鎸囦护id澶辨晥=" + jsonData);
                 ResponseDto responseDto = new ResponseDto(99, "鎸囦护id澶辨晥");
                 apiLog.setStatus(99);
                 apiLog.setResult("鎸囦护id澶辨晥");
diff --git a/src/main/java/com/fzzy/push/sh2023/SH2023OrderApiServiceImpl.java b/src/main/java/com/fzzy/push/sh2023/SH2023OrderApiServiceImpl.java
index 5b662a5..30b5a8e 100644
--- a/src/main/java/com/fzzy/push/sh2023/SH2023OrderApiServiceImpl.java
+++ b/src/main/java/com/fzzy/push/sh2023/SH2023OrderApiServiceImpl.java
@@ -48,10 +48,12 @@
 
         // 鑻ユ寚浠ょ被鍨嬩笉涓�1锛屽垯杩斿洖
         if(!OrderConstant.ORDER_TYPE_1.equals(orderType)){
+            log.error("鎸囦护绫诲瀷涓嶄负1锛屼笉杩涜鏁版嵁涓婃姤={}", req);
             return;
         }
         String ids = req.getContent();
         if(StringUtils.isEmpty(ids)){
+            log.error("鎸囦护鎺ュ彛涓虹┖锛屼笉杩涜鏁版嵁涓婃姤={}", req);
             return;
         }
 
@@ -66,8 +68,10 @@
         param.setEnd(DateUtils.parseDate(req.getEndtime(), new String[]{"yyyy-MM-dd HH:mm:ss"}));
         param.setDeptId(conf.getDeptId());
 
-        String[] interfaces = ids.split(",");
+        log.info("鎺ユ敹鐨勬寚浠や腑鎺ュ彛鍐呭涓�={}", req.getContent());
+        String[] interfaces = ids.split(";");
         for (String inteId : interfaces) {
+            log.info("杩樻槸鎵ц鎺ュ彛={}鐨勬暟鎹笂鎶�", inteId);
             param.setInteId(inteId);
             getDataToPush(param, inteId);
         }

--
Gitblit v1.9.3