From 029de836702607a95ccb0a69a74efcea52ddc451 Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期四, 25 九月 2025 19:35:38 +0800
Subject: [PATCH] 上海对农数据接口调整2

---
 src/main/java/com/fzzy/inte/sh2023/service/SHDNService.java |  240 +++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 191 insertions(+), 49 deletions(-)

diff --git a/src/main/java/com/fzzy/inte/sh2023/service/SHDNService.java b/src/main/java/com/fzzy/inte/sh2023/service/SHDNService.java
index a4c9d67..198737c 100644
--- a/src/main/java/com/fzzy/inte/sh2023/service/SHDNService.java
+++ b/src/main/java/com/fzzy/inte/sh2023/service/SHDNService.java
@@ -2,22 +2,25 @@
 
 import com.alibaba.fastjson.JSONObject;
 import com.fzzy.api.entity.*;
+import com.fzzy.api.utils.RedisUtil;
 import com.fzzy.api.view.repository.*;
-import com.fzzy.inte.sh2023.dto.SHDN2023ReqDto;
+import com.fzzy.inte.sh2023.constant.ApiRespCode;
+import com.fzzy.inte.sh2023.dto.ApiResp;
+import com.fzzy.inte.sh2023.dto.ResultDto;
 import com.fzzy.push.sh2023.SH2023Constant;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Async;
-import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Service;
-
-import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 @Slf4j
 @Service
 public class SHDNService {
 
+    @Autowired
+    private ApiConfsRep apiConfsRep;
     @Autowired
     private Api9109Rep api9109Rep;
     @Autowired
@@ -34,60 +37,199 @@
     private Api9115Rep api9115Rep;
     @Autowired
     private Api9116Rep api9116Rep;
+    @Autowired
+    private RedisUtil redisUtil;
 
 
     @Async
-    public void syncData(String interfaceId, String dataStr){
+    public void syncData(String interfaceId, String dataStr, String deptId, String outId){
 
+        ApiConfs apiConfs = apiConfsRep.getDataByDeptId(deptId);
+        if(null == apiConfs){
+            log.error("-----鏈幏鍙栧埌搴撳尯淇℃伅閰嶇疆锛屼笉瑙f瀽---------");
+            resultRedis(outId, ApiRespCode.R_500.getCode(), "鏈幏鍙栧埌搴撳尯淇℃伅閰嶇疆锛屼笉瑙f瀽");
+            return;
+        }
+        try {
+            //鍗曚綅淇℃伅
+            if(SH2023Constant.SH_2023_API_CODE_3101.equals(interfaceId)){
+                List<Api9109> list = JSONObject.parseArray(dataStr, Api9109.class);
+                if(null == list || list.isEmpty()){
+                    log.error("-----鏈幏鍙栧埌淇℃伅锛屼笉瑙f瀽---------");
+                    resultRedis(outId, ApiRespCode.R_500.getCode(), "鏈幏鍙栧埌淇℃伅锛屼笉瑙f瀽");
+                    return;
+                }
+                for (Api9109 apiData : list) {
+                    apiData.setBizId(apiConfs.getKqdm());
+                    apiData.setZhgxsj(new Date());
+                    api9109Rep.save(apiData);
+                }
+                log.info("-----鍗曚綅淇℃伅瑙f瀽瀹屾垚={}-----", list);
+                //瑙f瀽缁撴灉鏀惧叆缂撳瓨
+                resultRedis(outId, ApiRespCode.R_200.getCode(), "鍗曚綅淇℃伅瑙f瀽瀹屾垚");
+            }
 
-        //鍗曚綅淇℃伅
-        if(SH2023Constant.SH_2023_API_CODE_3101.equals(interfaceId)){
-            List<Api9109> list = JSONObject.parseArray(dataStr, Api9109.class);
-            api9109Rep.saveAll(list);
+            //鏀剁撼搴撲俊鎭�
+            if(SH2023Constant.SH_2023_API_CODE_3102.equals(interfaceId)){
+                List<Api9110> list = JSONObject.parseArray(dataStr, Api9110.class);
+                if(null == list || list.isEmpty()){
+                    log.error("-----鏈幏鍙栧埌搴撳尯淇℃伅锛屼笉瑙f瀽---------");
+                    resultRedis(outId, ApiRespCode.R_500.getCode(), "鏈幏鍙栧埌搴撳尯淇℃伅锛屼笉瑙f瀽");
+                    return;
+                }
+                for (Api9110 apiData : list) {
+                    apiData.setBizId(apiConfs.getKqdm());
+                    apiData.setZhgxsj(new Date());
+                    api9110Rep.save(apiData);
+                }
+                log.info("-----搴撳尯淇℃伅瑙f瀽瀹屾垚={}-----", list);
+                //瑙f瀽缁撴灉鏀惧叆缂撳瓨
+                resultRedis(outId, ApiRespCode.R_200.getCode(), "搴撳尯淇℃伅瑙f瀽瀹屾垚");
+            }
+
+            //浠撴埧淇℃伅
+            if(SH2023Constant.SH_2023_API_CODE_3103.equals(interfaceId)){
+                List<Api9111> list = JSONObject.parseArray(dataStr, Api9111.class);
+                if(null == list || list.isEmpty()){
+                    log.error("-----鏈幏鍙栧埌浠撴埧淇℃伅锛屼笉瑙f瀽---------");
+                    resultRedis(outId, ApiRespCode.R_500.getCode(), "鏈幏鍙栧埌浠撴埧淇℃伅锛屼笉瑙f瀽");
+                    return;
+                }
+                for (Api9111 apiData : list) {
+                    apiData.setBizId(apiConfs.getKqdm());
+                    apiData.setZhgxsj(new Date());
+                    api9111Rep.save(apiData);
+                }
+                log.info("-----浠撴埧淇℃伅瑙f瀽瀹屾垚={}-----", list);
+                //瑙f瀽缁撴灉鏀惧叆缂撳瓨
+                resultRedis(outId, ApiRespCode.R_200.getCode(), "浠撴埧淇℃伅瑙f瀽瀹屾垚");
+            }
+
+            //寤掗棿淇℃伅
+            if(SH2023Constant.SH_2023_API_CODE_3104.equals(interfaceId)){
+                List<Api9112> list = JSONObject.parseArray(dataStr, Api9112.class);
+                if(null == list || list.isEmpty()){
+                    log.error("-----鏈幏鍙栧埌浠撴埧淇℃伅锛屼笉瑙f瀽---------");
+                    resultRedis(outId, ApiRespCode.R_500.getCode(), "鏈幏鍙栧埌浠撴埧淇℃伅锛屼笉瑙f瀽");
+                    return;
+                }
+                for (Api9112 apiData : list) {
+                    apiData.setBizId(apiConfs.getKqdm());
+                    apiData.setZhgxsj(new Date());
+                    api9112Rep.save(apiData);
+                }
+                log.info("-----寤掗棿淇℃伅瑙f瀽瀹屾垚={}-----", list);
+                //瑙f瀽缁撴灉鏀惧叆缂撳瓨
+                resultRedis(outId, ApiRespCode.R_200.getCode(), "寤掗棿淇℃伅瑙f瀽瀹屾垚");
+            }
+
+            //璐т綅淇℃伅
+            if(SH2023Constant.SH_2023_API_CODE_3105.equals(interfaceId)){
+                List<Api9113> list = JSONObject.parseArray(dataStr, Api9113.class);
+                if(null == list || list.isEmpty()){
+                    log.error("-----鏈幏鍙栧埌璐т綅淇℃伅锛屼笉瑙f瀽---------");
+                    resultRedis(outId, ApiRespCode.R_500.getCode(), "鏈幏鍙栧埌浠撴埧淇℃伅锛屼笉瑙f瀽");
+                    return;
+                }
+                for (Api9113 apiData : list) {
+                    apiData.setBizId(apiConfs.getKqdm());
+                    apiData.setZhgxsj(new Date());
+                    api9113Rep.save(apiData);
+                }
+                log.info("-----璐т綅淇℃伅瑙f瀽瀹屾垚={}-----", list);
+                //瑙f瀽缁撴灉鏀惧叆缂撳瓨
+                resultRedis(outId, ApiRespCode.R_200.getCode(), "璐т綅淇℃伅瑙f瀽瀹屾垚");
+            }
+
+            //绮鍏ュ簱淇℃伅
+            if(SH2023Constant.SH_2023_API_CODE_3201.equals(interfaceId)){
+                List<Api9114> list = JSONObject.parseArray(dataStr, Api9114.class);
+                if(null == list || list.isEmpty()){
+                    log.error("-----鏈幏鍙栧埌绮鍏ュ簱淇℃伅锛屼笉瑙f瀽---------");
+                    resultRedis(outId, ApiRespCode.R_500.getCode(), "鏈幏鍙栧埌浠撴埧淇℃伅锛屼笉瑙f瀽");
+                    return;
+                }
+                for (Api9114 apiData : list) {
+                    apiData.setBizId(apiConfs.getKqdm());
+                    apiData.setZhgxsj(new Date());
+                    api9114Rep.save(apiData);
+                }
+                log.info("-----绮鍏ュ簱淇℃伅瑙f瀽瀹屾垚={}-----", list);
+                //瑙f瀽缁撴灉鏀惧叆缂撳瓨
+                resultRedis(outId, ApiRespCode.R_200.getCode(), "绮鍏ュ簱淇℃伅瑙f瀽瀹屾垚");
+            }
+
+            //鏉ョ伯妫�楠屼俊鎭�
+            if(SH2023Constant.SH_2023_API_CODE_3202.equals(interfaceId)){
+                List<Api9115> list = JSONObject.parseArray(dataStr, Api9115.class);
+                if(null == list || list.isEmpty()){
+                    log.error("-----鏈幏鍙栧埌鏉ョ伯妫�楠屼俊鎭紝涓嶈В鏋�---------");
+                    resultRedis(outId, ApiRespCode.R_500.getCode(), "鏈幏鍙栧埌浠撴埧淇℃伅锛屼笉瑙f瀽");
+                    return;
+                }
+                for (Api9115 apiData : list) {
+                    apiData.setBizId(apiConfs.getKqdm());
+                    apiData.setZhgxsj(new Date());
+                    api9115Rep.save(apiData);
+                }
+                log.info("-----鏉ョ伯妫�楠屼俊鎭В鏋愬畬鎴�={}-----", list);
+                //瑙f瀽缁撴灉鏀惧叆缂撳瓨
+                resultRedis(outId, ApiRespCode.R_200.getCode(), "鏉ョ伯妫�楠屼俊鎭В鏋愬畬鎴�");
+            }
+
+            //绮鏀惰喘鍩虹淇℃伅
+            if(SH2023Constant.SH_2023_API_CODE_3203.equals(interfaceId)){
+                List<Api9116> list = JSONObject.parseArray(dataStr, Api9116.class);
+                if(null == list || list.isEmpty()){
+                    log.error("-----鏈幏鍙栧埌绮鏀惰喘鍩虹淇℃伅锛屼笉瑙f瀽---------");
+                    resultRedis(outId, ApiRespCode.R_500.getCode(), "鏈幏鍙栧埌浠撴埧淇℃伅锛屼笉瑙f瀽");
+                    return;
+                }
+                for (Api9116 apiData : list) {
+                    apiData.setBizId(apiConfs.getKqdm());
+                    apiData.setZhgxsj(new Date());
+                    api9116Rep.save(apiData);
+                }
+                log.info("-----绮鏀惰喘鍩虹淇℃伅瑙f瀽瀹屾垚={}-----", list);
+                //瑙f瀽缁撴灉鏀惧叆缂撳瓨
+                resultRedis(outId, ApiRespCode.R_200.getCode(), "绮鏀惰喘鍩虹淇℃伅瑙f瀽瀹屾垚");
+            }
+        } catch (Exception e) {
+            log.error("-----鎺ュ彛{}瑙f瀽鎶ラ敊锛岄敊璇師鍥�={}-----", interfaceId, e.toString());
+            resultRedis(outId, ApiRespCode.R_500.getCode(), "-----鎺ュ彛"+interfaceId+"瑙f瀽鎶ラ敊锛岄敊璇師鍥�="+e.toString()+"-----");
         }
 
-        //鏀剁撼搴撲俊鎭�
-        if(SH2023Constant.SH_2023_API_CODE_3102.equals(interfaceId)){
-            List<Api9110> list = JSONObject.parseArray(dataStr, Api9110.class);
-            api9110Rep.saveAll(list);
+    }
+
+    /**
+     * 浠庣紦瀛樹腑鑾峰彇瑙f瀽缁撴灉
+     * @param dataStr
+     * @return
+     */
+    public ApiResp getResult(String dataStr){
+        List<ResultDto> list = JSONObject.parseArray(dataStr, ResultDto.class);
+        if(null == list || list.isEmpty()){
+            log.error("-----outId涓虹┖---------");
+            return new ApiResp(ApiRespCode.R_500.getCode(), "outId涓虹┖锛屾棤娉曡幏鍙栬В鏋愮粨鏋滐紒");
         }
-
-        //浠撴埧淇℃伅
-        if(SH2023Constant.SH_2023_API_CODE_3103.equals(interfaceId)){
-            List<Api9111> list = JSONObject.parseArray(dataStr, Api9111.class);
-            api9111Rep.saveAll(list);
+        ApiResp result = (ApiResp)redisUtil.get(list.get(0).getOutId());
+        if(null == result){
+            log.error("-----鏈幏鍙栧埌outId瀵瑰簲鐨勮В鏋愮粨鏋�---------");
+            return new ApiResp(ApiRespCode.R_500.getCode(), "鏈幏鍙栧埌outId瀵瑰簲鐨勮В鏋愮粨鏋滐紒");
         }
+        return result;
+    }
 
-        //寤掗棿淇℃伅
-        if(SH2023Constant.SH_2023_API_CODE_3104.equals(interfaceId)){
-            List<Api9112> list = JSONObject.parseArray(dataStr, Api9112.class);
-            api9112Rep.saveAll(list);
-        }
-
-        //璐т綅淇℃伅
-        if(SH2023Constant.SH_2023_API_CODE_3105.equals(interfaceId)){
-            List<Api9113> list = JSONObject.parseArray(dataStr, Api9113.class);
-            api9113Rep.saveAll(list);
-        }
-
-        //绮鍏ュ簱淇℃伅
-        if(SH2023Constant.SH_2023_API_CODE_3106.equals(interfaceId)){
-            List<Api9114> list = JSONObject.parseArray(dataStr, Api9114.class);
-            api9114Rep.saveAll(list);
-        }
-
-        //鏉ョ伯妫�楠屼俊鎭�
-        if(SH2023Constant.SH_2023_API_CODE_3107.equals(interfaceId)){
-            List<Api9115> list = JSONObject.parseArray(dataStr, Api9115.class);
-            api9115Rep.saveAll(list);
-        }
-
-        //绮鏀惰喘鍩虹淇℃伅
-        if(SH2023Constant.SH_2023_API_CODE_3108.equals(interfaceId)){
-            List<Api9116> list = JSONObject.parseArray(dataStr, Api9116.class);
-            api9116Rep.saveAll(list);
-        }
-
-
+    /**
+     *
+     * 缁撴灉瀛樺叆缂撳瓨
+     * @param outId
+     * @param code
+     * @param msg
+     */
+    public void resultRedis(String outId, String code, String msg){
+        ApiResp result = new ApiResp(code, msg);
+        //缁撴灉瀛樺叆缂撳瓨2灏忔椂
+        redisUtil.set(outId, result, 60*60*2);
     }
 }

--
Gitblit v1.9.3