From df702972ff8ae890991021663d919f47dc864606 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期二, 24 十二月 2024 10:35:23 +0800
Subject: [PATCH] 优化ReportDataHandler响应处理逻辑

---
 src/main/java/com/zy/asrs/task/ReportDataScheduler.java |   81 +++++++++-------------------------------
 1 files changed, 19 insertions(+), 62 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/ReportDataScheduler.java b/src/main/java/com/zy/asrs/task/ReportDataScheduler.java
index 1a850fa..a788232 100644
--- a/src/main/java/com/zy/asrs/task/ReportDataScheduler.java
+++ b/src/main/java/com/zy/asrs/task/ReportDataScheduler.java
@@ -1,28 +1,25 @@
 package com.zy.asrs.task;
 
-import cn.hutool.core.bean.BeanUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
 import com.core.common.Cools;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.ReportData;
-import com.zy.asrs.entity.ReportDataLog;
 import com.zy.asrs.service.ApiLogService;
-import com.zy.asrs.service.ReportDataLogService;
 import com.zy.asrs.service.ReportDataService;
+import com.zy.asrs.task.handler.ReportDataHandler;
 import com.zy.common.utils.HttpHandler;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
-import org.springframework.transaction.annotation.Transactional;
 
-import java.util.Date;
 import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
 
@@ -38,12 +35,10 @@
     private ReportDataService reportDataService;
 
     @Autowired
-    private ReportDataLogService reportDataLogService;
-
-
-    @Autowired
     private ApiLogService apiLogService;
 
+    @Autowired
+    private ReportDataHandler reportDataHandler;
 
     @Value("${mes.appKey}")
     private String appKey;
@@ -52,73 +47,36 @@
     @Value("${mes.appSecret}")
     private String appSecret;
 
+
     @Value("${mes.report}")
     private Boolean flag;
 
-    @Value("${mes.url}")
-    private String url;
-
     @Value("${mes.getTokenUrl}")
     private String getTokenUrl;
-
-    @Value("${mes.orderReportPath}")
-    private String orderReportPath;
-
-    @Value("${mes.pakinReportPath}")
-    private String pakinReportPath;
-
-    @Value("${mes.buyPakinReportPath}")
-    private String buyPakinReportPath;
-
-    @Value("${mes.pakoutReportPath}")
-    private String pakoutReportPath;
 
     @Value("${mes.getTokenPath}")
     private String getTokenPath;
 
 
-    @Scheduled(cron = "0/10 * * * * ? ")
+    @Scheduled(fixedDelay = 5000)
     public void execute() {
         log.info("瀹氭椂浠诲姟寮�濮嬫墽琛�");
         if (!flag) {
             return;
         }
-        Map<String, Object> mesTokenInfo = getMesTokenInfo();
-        List<ReportData> reportData = reportDataService.selectList(new EntityWrapper<>());
-        for (ReportData data : reportData) {
-            process(data, mesTokenInfo);
+        Page<ReportData> objectPage = new Page<>(1, 100);
+        Page<ReportData> reportData = reportDataService.selectPage(objectPage, new EntityWrapper<ReportData>().orderBy("create_time", false));
+        if (reportData != null && !Cools.isEmpty(reportData.getRecords())) {
+            Map<String, Object> mesTokenInfo = getMesTokenInfo();
+            for (ReportData data : reportData.getRecords()) {
+                try {
+                    reportDataHandler.start(data, mesTokenInfo);
+                } catch (Exception e) {
+                    log.error("鏁版嵁澶勭悊寮傚父锛寋}", data.getId());
+                }
+            }
         }
         log.info("瀹氭椂浠诲姟缁撴潫鎵ц");
-    }
-
-    @Transactional
-    public void process(ReportData data, Map<String, Object> mesTokenInfo) {
-        String mesPath = "";
-        if ("MES".equals(data.getReportType())) {
-            switch (data.getMemo()) {
-                case "涓婃姤mes閲囪喘鍏ュ簱淇℃伅":
-                    mesPath = buyPakinReportPath;
-                    break;
-                case "涓婃姤mes鍏ュ簱淇℃伅":
-                    mesPath = pakinReportPath;
-                    break;
-                case "涓婃姤mes鍑哄簱淇℃伅":
-                    mesPath = pakoutReportPath;
-                    break;
-                case "涓婃姤mes璋冩嫧淇℃伅":
-                    mesPath = orderReportPath;
-                    break;
-            }
-            doHttpRequest(data.getReportJson(), mesTokenInfo, data.getMemo(), url, mesPath, null, "127.0.0.1");
-            reportDataService.deleteById(data.getId());
-            ReportDataLog reportDataLog = new ReportDataLog();
-            BeanUtil.copyProperties(data, reportDataLog);
-            reportDataLog.setReportTime(new Date());
-            reportDataLog.setReportDataId(data.getId());
-            reportDataLogService.insert(reportDataLog);
-        }
-
-
     }
 
     //鑾峰彇mes token淇℃伅
@@ -156,9 +114,8 @@
             log.error(e.getMessage());
             throw new CoolException(e.getMessage());
         } finally {
-            apiLogService.save(namespace, url + path, appkey, ip, JSON.toJSONString(JSONObject.toJSONString(requestParam)), response, success);
+            apiLogService.save(namespace, url + path, appkey, ip, requestParam, response, success);
         }
 
     }
-
 }

--
Gitblit v1.9.1