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/Api1103PR.java |  218 ++++++++++++++++++++++++++++++++---------------------
 1 files changed, 131 insertions(+), 87 deletions(-)

diff --git a/src/main/java/com/fzzy/api/view/pr/Api1103PR.java b/src/main/java/com/fzzy/api/view/pr/Api1103PR.java
index 8669930..53c942b 100644
--- a/src/main/java/com/fzzy/api/view/pr/Api1103PR.java
+++ b/src/main/java/com/fzzy/api/view/pr/Api1103PR.java
@@ -4,6 +4,7 @@
 import com.bstek.dorado.annotation.DataResolver;
 import com.bstek.dorado.annotation.Expose;
 import com.fzzy.api.data.ApiParam;
+import com.fzzy.api.data.PushProtocol;
 import com.fzzy.api.entity.Api1103;
 import com.fzzy.api.entity.ApiConfs;
 import com.fzzy.api.service.ApiCommonService;
@@ -20,117 +21,160 @@
 
 /**
  * 浠撴埧淇℃伅
+ *
  * @author he
  */
 @Component
 public class Api1103PR {
 
-	@Autowired
-	private Api1103Rep api1103Rep;
+    @Autowired
+    private Api1103Rep api1103Rep;
 
-	@Autowired
-	private ApiCommonService apiCommonService;
+    @Autowired
+    private ApiCommonService apiCommonService;
 
-	@Autowired
-	private ApiPushManager apiPushManager;
+    @Autowired
+    private ApiPushManager apiPushManager;
 
-	/**
-	 * api1103PR#listAll
-	 *
-	 * @return
-	 */
-	@DataProvider
-	public List<Api1103> listAll() {
-		return api1103Rep.findAll();
-	}
+    /**
+     * api1103PR#listAll
+     *
+     * @return
+     */
+    @DataProvider
+    public List<Api1103> listAll() {
+        return api1103Rep.findAll();
+    }
 
-	/**
-	 * api1103PR#updateSave
-	 *
-	 * @param entity
-	 */
-	@DataResolver
-	public void updateSave(Api1103 entity) {
+    /**
+     * api1103PR#updateSave
+     *
+     * @param entity
+     */
+    @DataResolver
+    public void updateSave(Api1103 entity) {
 
-		// 鎵嬪姩灏哾oradoEntity瀵硅薄杞崲涓烘爣鍑咮ean瀵硅薄
-		Api1103 data = new Api1103();
-		BeanUtils.copyProperties(entity, data);
-		data.setCfdm(data.getCfdm().trim());
-		api1103Rep.save(data);
+        // 鎵嬪姩灏哾oradoEntity瀵硅薄杞崲涓烘爣鍑咮ean瀵硅薄
+        Api1103 data = new Api1103();
+        BeanUtils.copyProperties(entity, data);
+        data.setCfdm(data.getCfdm().trim());
+        api1103Rep.save(data);
 
-		//鍒锋柊缂撳瓨
-		apiCommonService.flushApi1103Cache(listAll());
-	}
+        //鍒锋柊缂撳瓨
+        apiCommonService.flushApi1103Cache(listAll());
+    }
 
-	/**
-	 * api1103PR#delData
-	 *
-	 * @param data
-	 */
-	@Expose
-	public String delData(Api1103 data) {
+    /**
+     * api1103PR#delData
+     *
+     * @param data
+     */
+    @Expose
+    public String delData(Api1103 data) {
 
-		api1103Rep.deleteById(data.getCfdm());
+        api1103Rep.deleteById(data.getCfdm());
 
-		return null;
-	}
+        return null;
+    }
 
-	/**
-	 * 
-	 * 鏇存柊鍒犻櫎鏍囪 api1103PR#delUpdate
-	 *
-	 * @param entity
-	 */
-	@Expose
-	public String delUpdate(Api1103 entity) {
+    /**
+     * 鏇存柊鍒犻櫎鏍囪 api1103PR#delUpdate
+     *
+     * @param entity
+     */
+    @Expose
+    public String delUpdate(Api1103 entity) {
 
-		entity.setCzbz(Constant.CZBZ_D);
+        entity.setCzbz(Constant.CZBZ_D);
 
-		Api1103 data = new Api1103();
-		BeanUtils.copyProperties(entity, data);
+        Api1103 data = new Api1103();
+        BeanUtils.copyProperties(entity, data);
 
-		api1103Rep.save(data);
-		return null;
-	}
+        api1103Rep.save(data);
+        return null;
+    }
 
-	/**
-	 * api1103PR#pushData
-	 *
-	 * @param items
-	 */
-	@Expose
-	public String pushData(List<Api1103> items) {
-		ResponseDto responseDto;
-		String result = "";
+    /**
+     * api1103PR#pushData
+     *
+     * @param items
+     */
+    @Expose
+    public String pushData(List<Api1103> items) {
 
-		//鑾峰彇閰嶇疆
-		String kqdm = items.get(0).getKqdm();
-		ApiConfs apiConf = apiCommonService.getConf(kqdm);
+        //鑾峰彇閰嶇疆
+        String kqdm = items.get(0).getKqdm();
+        ApiConfs apiConf = apiCommonService.getConf(kqdm);
 
-		if (null == apiConf) return "绯荤粺娌℃湁鑾峰彇鍒板綋鍓嶅簱鍖洪厤缃俊鎭紝鎵ц澶辫触";
+        if (null == apiConf) return "绯荤粺娌℃湁鑾峰彇鍒板綋鍓嶅簱鍖洪厤缃俊鎭紝鎵ц澶辫触";
 
-		//灏佽鍙傛暟
-		ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_11, Constant.API_CODE_1103);
+        //鑾峰彇瀹炵幇鎺ュ彛
+        ApiRemoteService apiRemoteService = apiPushManager.getApiRemoteService(apiConf.getPushProtocol());
+        if (null == apiRemoteService) return "绯荤粺娌℃湁褰撳墠鎺ㄩ�佸崗璁厤缃紝鎵ц澶辫触";
 
-		//鑾峰彇瀹炵幇鎺ュ彛
-		ApiRemoteService apiRemoteService = apiPushManager.getApiRemoteService(param.getPushProtocol());
-		if (null == apiRemoteService) return "绯荤粺娌℃湁褰撳墠鎺ㄩ�佸崗璁厤缃紝鎵ц澶辫触";
+        if (PushProtocol.SB_SH_2023.getCode().equals(apiConf.getPushProtocol())) {
+            return pushDataList(items, apiRemoteService, apiConf);
+        }
+        return pushDataSingle(items, apiRemoteService, apiConf);
+    }
 
-		Api1103 d;
-		for (Api1103 data : items) {
-			d = new Api1103();
-			BeanUtils.copyProperties(data, d);
-			param.setBizId(data.getBizId());
-			responseDto = apiRemoteService.pushData(param, apiConf, d);
+    /**
+     * 鍗曟潯鏁版嵁json鎺ㄩ��
+     *
+     * @param items
+     * @param apiRemoteService
+     * @param apiConf
+     * @return
+     */
+    private String pushDataSingle(List<Api1103> items, ApiRemoteService apiRemoteService, ApiConfs apiConf) {
+        ResponseDto responseDto;
+        String result = "";
 
-			result += responseDto.toString();
-			if (responseDto.getSuccess() == 0) {
-				if (Constant.CZBZ_I.equals(d.getCzbz())) {
-					api1103Rep.updateStatus(data.getCfdm(), Constant.CZBZ_U);
-				}
-			}
-		}
-		return result;
-	}
+        //灏佽鍙傛暟
+        ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_11, Constant.API_CODE_1103);
+        Api1103 d;
+        for (Api1103 data : items) {
+            d = new Api1103();
+            BeanUtils.copyProperties(data, d);
+            param.setBizId(data.getBizId());
+            responseDto = apiRemoteService.pushData(param, apiConf, d);
+
+            result += responseDto.toString();
+            if (responseDto.getSuccess() == 0) {
+                if (Constant.CZBZ_I.equals(d.getCzbz())) {
+                    api1103Rep.updateStatus(data.getCfdm(), Constant.CZBZ_U);
+                }
+            }
+        }
+        return result;
+    }
+
+    /**
+     * 澶氭潯鏁版嵁json鎺ㄩ��
+     *
+     * @param items
+     * @param apiRemoteService
+     * @param apiConf
+     * @return
+     */
+    private String pushDataList(List<Api1103> items, ApiRemoteService apiRemoteService, ApiConfs apiConf) {
+
+        //灏佽鍙傛暟
+        ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_11, Constant.API_CODE_1102);
+
+        //鎺ㄩ�侊紝鏁版嵁涓洪泦鍚堝舰寮�
+        ResponseDto responseDto = apiRemoteService.pushData(param, apiConf, items);
+        if (responseDto.getSuccess() == 0) {
+            //鎺ㄩ�佹垚鍔燂紝鏇存柊鏁版嵁涓婁紶鐘舵��
+            for (Api1103 data : items) {
+                if (Constant.CZBZ_I.equals(data.getCzbz())) {
+                    //鏇存柊鐘舵��
+                    api1103Rep.updateStatus(data.getCfdm(), Constant.CZBZ_U);
+                }
+            }
+        }
+        return responseDto.toString();
+    }
+
 
 }

--
Gitblit v1.9.3