From 656d6f8029f8bf9b2daa9dcc89101a879a70b860 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期三, 03 十二月 2025 23:10:05 +0800
Subject: [PATCH] feat:优先添加执行人

---
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/VehicleGpsSegmentMileageTask.java |   66 ++++++++++++++++-----------------
 1 files changed, 32 insertions(+), 34 deletions(-)

diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/VehicleGpsSegmentMileageTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/VehicleGpsSegmentMileageTask.java
index 371896a..a317652 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/VehicleGpsSegmentMileageTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/VehicleGpsSegmentMileageTask.java
@@ -2,7 +2,6 @@
 
 import java.util.Calendar;
 import java.util.Date;
-import javax.annotation.PostConstruct;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -25,42 +24,41 @@
     private ISysConfigService configService;
     
     /**
-     * 鏈嶅姟鍚姩鏃舵墽琛岃ˉ鍋胯绠�
-     * 妫�鏌ユ渶杩�7澶╁唴鏈澶勭悊鐨凣PS鍧愭爣骞惰繘琛岃ˉ鍋胯绠�
+     * 鎵цGPS鍒嗘閲岀▼琛ュ伩璁$畻
+     * 妫�鏌ユ渶杩慛澶╁唴鏈澶勭悊鐨凣PS鍧愭爣骞惰繘琛岃ˉ鍋胯绠�
+     * 寤鸿閰嶇疆涓烘瘡澶╂墽琛屼竴娆�,渚嬪鍑屾櫒2鐐�
      */
-    @PostConstruct
-    public void init() {
-        // 鍚姩鍚庡欢杩熸墽琛岋紝閬垮厤褰卞搷鏈嶅姟鍚姩閫熷害
-        new Thread(() -> {
-            try {
-                // 寤惰繜30绉掑惎鍔紝纭繚鎵�鏈夋湇鍔″凡灏辩华
-                Thread.sleep(30000);
-                
-                logger.info("========== 寮�濮嬫墽琛孏PS鍒嗘閲岀▼琛ュ伩璁$畻 ==========");
-                
-                // 鑾峰彇閰嶇疆鐨勫洖婧ぉ鏁帮紝榛樿7澶�
-                int lookbackDays = 7;
-                String lookbackConfig = configService.selectConfigByKey("gps.mileage.compensation.days");
-                if (lookbackConfig != null && !lookbackConfig.isEmpty()) {
-                    try {
-                        lookbackDays = Integer.parseInt(lookbackConfig);
-                    } catch (NumberFormatException e) {
-                        logger.warn("琛ュ伩鍥炴函澶╂暟閰嶇疆閿欒锛屼娇鐢ㄩ粯璁ゅ��7澶�");
-                    }
+    public void executeCompensationCalculation() {
+        executeCompensationCalculation("7");
+    }
+    
+    /**
+     * 鎵цGPS鍒嗘閲岀▼琛ュ伩璁$畻(甯﹀弬鏁�)
+     * 
+     * @param params 鍙傛暟瀛楃涓�,鏍煎紡:鍥炴函澶╂暟(濡�:7琛ㄧず鍥炴函7澶�)
+     */
+    public void executeCompensationCalculation(String params) {
+        try {
+            // 瑙f瀽鍙傛暟:鍥炴函澶╂暟
+            int lookbackDays = 7; // 榛樿7澶�
+            if (params != null && !params.trim().isEmpty()) {
+                try {
+                    lookbackDays = Integer.parseInt(params.trim());
+                } catch (NumberFormatException e) {
+                    logger.warn("鍙傛暟鏍煎紡閿欒,浣跨敤榛樿鍊�7澶�: {}", params);
                 }
-                
-                // 鎵ц琛ュ伩璁$畻
-                int successCount = segmentMileageService.compensateCalculation(lookbackDays);
-                
-                logger.info("========== GPS鍒嗘閲岀▼琛ュ伩璁$畻瀹屾垚 - 鎴愬姛澶勭悊 {} 杈嗚溅 ==========", successCount);
-                
-            } catch (InterruptedException e) {
-                logger.error("琛ュ伩璁$畻绾跨▼琚腑鏂�", e);
-                Thread.currentThread().interrupt();
-            } catch (Exception e) {
-                logger.error("GPS鍒嗘閲岀▼琛ュ伩璁$畻澶辫触", e);
             }
-        }, "GPS-Compensation-Thread").start();
+            
+            logger.info("========== 寮�濮嬫墽琛孏PS鍒嗘閲岀▼琛ュ伩璁$畻 - 鍥炴函{}澶� ==========", lookbackDays);
+            
+            // 鎵ц琛ュ伩璁$畻
+            int successCount = segmentMileageService.compensateCalculation(lookbackDays);
+            
+            logger.info("========== GPS鍒嗘閲岀▼琛ュ伩璁$畻瀹屾垚 - 鎴愬姛澶勭悊 {} 杈嗚溅 ==========", successCount);
+            
+        } catch (Exception e) {
+            logger.error("GPS鍒嗘閲岀▼琛ュ伩璁$畻澶辫触", e);
+        }
     }
 
     /**

--
Gitblit v1.9.1