From 0365fd331424e0b0177f47e1745bd8d12ad070f9 Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期三, 01 四月 2026 17:36:21 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 xp-robotaxi-remote-driving-boot/pom.xml                                                                       |    4 +
 xp-robotaxi-operation-boot/pom.xml                                                                            |    4 +
 xp-robotaxi-payment-boot/pom.xml                                                                              |    4 +
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/job/base/TimeJobType.java                     |    1 
 xp-robotaxi-order-boot/pom.xml                                                                                |    4 +
 xp-robotaxi-automatic-pilot-boot/pom.xml                                                                      |    4 +
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpSystemSettingController.java     |   20 ++++++
 xp-robotaxi-maintenance-boot/pom.xml                                                                          |    9 +++
 xp-robotaxi-push-message-boot/pom.xml                                                                         |    4 +
 xp-robotaxi-vehicle-convoy-boot/pom.xml                                                                       |    4 +
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/job/base/AbstractJob.java                     |    7 ++
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/job/jobs/HotFixJob.java                       |   40 +++++++++++++
 xp-robotaxi-itinerary-boot/pom.xml                                                                            |    4 +
 xp-robotaxi-account-boot/pom.xml                                                                              |    4 +
 xp-robotaxi-map-boot/pom.xml                                                                                  |    4 +
 xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpElectronicFenceAreaServiceImpl.java |    4 +
 16 files changed, 121 insertions(+), 0 deletions(-)

diff --git a/xp-robotaxi-account-boot/pom.xml b/xp-robotaxi-account-boot/pom.xml
index 7334e2a..8223ed1 100644
--- a/xp-robotaxi-account-boot/pom.xml
+++ b/xp-robotaxi-account-boot/pom.xml
@@ -119,6 +119,10 @@
                     <groupId>org.yaml</groupId>
                     <artifactId>snakeyaml</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>log4j</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
diff --git a/xp-robotaxi-automatic-pilot-boot/pom.xml b/xp-robotaxi-automatic-pilot-boot/pom.xml
index da3ab04..944d2da 100644
--- a/xp-robotaxi-automatic-pilot-boot/pom.xml
+++ b/xp-robotaxi-automatic-pilot-boot/pom.xml
@@ -116,6 +116,10 @@
                     <groupId>org.yaml</groupId>
                     <artifactId>snakeyaml</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>log4j</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
diff --git a/xp-robotaxi-itinerary-boot/pom.xml b/xp-robotaxi-itinerary-boot/pom.xml
index b5b31c0..640664f 100644
--- a/xp-robotaxi-itinerary-boot/pom.xml
+++ b/xp-robotaxi-itinerary-boot/pom.xml
@@ -112,6 +112,10 @@
                     <groupId>org.yaml</groupId>
                     <artifactId>snakeyaml</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>log4j</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
diff --git a/xp-robotaxi-maintenance-boot/pom.xml b/xp-robotaxi-maintenance-boot/pom.xml
index 9b9987e..ad9cac3 100644
--- a/xp-robotaxi-maintenance-boot/pom.xml
+++ b/xp-robotaxi-maintenance-boot/pom.xml
@@ -154,6 +154,10 @@
                     <groupId>org.yaml</groupId>
                     <artifactId>snakeyaml</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>log4j</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
@@ -167,6 +171,11 @@
             <version>1.33</version>
         </dependency>
         <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-core</artifactId>
+            <version>2.25.3</version>
+        </dependency>
+        <dependency>
             <groupId>com.xiaopeng.logan</groupId>
             <artifactId>xp-evi-oss-sdk</artifactId>
             <version>1.0.1-SNAPSHOT</version>
diff --git a/xp-robotaxi-map-boot/pom.xml b/xp-robotaxi-map-boot/pom.xml
index beb307b..100d103 100644
--- a/xp-robotaxi-map-boot/pom.xml
+++ b/xp-robotaxi-map-boot/pom.xml
@@ -204,6 +204,10 @@
                     <groupId>org.yaml</groupId>
                     <artifactId>snakeyaml</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>log4j</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
diff --git a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpElectronicFenceAreaServiceImpl.java b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpElectronicFenceAreaServiceImpl.java
index 6b00e24..78e8ca3 100644
--- a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpElectronicFenceAreaServiceImpl.java
+++ b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpElectronicFenceAreaServiceImpl.java
@@ -102,6 +102,10 @@
             if(xpElectronicFence==null){
                 continue;
             }
+            if(xpElectronicFence.getStatus()!=2){
+                continue;
+            }
+
             String operationStrategy = xpElectronicFence.getOperationStrategy();
             if(operationStrategy==null){
                 continue;
diff --git a/xp-robotaxi-operation-boot/pom.xml b/xp-robotaxi-operation-boot/pom.xml
index d73641b..10d12fd 100644
--- a/xp-robotaxi-operation-boot/pom.xml
+++ b/xp-robotaxi-operation-boot/pom.xml
@@ -192,6 +192,10 @@
                     <groupId>org.yaml</groupId>
                     <artifactId>snakeyaml</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>log4j</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpSystemSettingController.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpSystemSettingController.java
index 82bce79..7b20ae2 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpSystemSettingController.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpSystemSettingController.java
@@ -3,9 +3,13 @@
 import com.xiaopeng.api.model.operation.XpSystemSetting;
 import com.xiaopeng.common.core.constant.CacheConstants;
 import com.xiaopeng.common.core.domain.R;
+import com.xiaopeng.common.core.utils.DateUtils;
 import com.xiaopeng.common.core.web.controller.BaseController;
 import com.xiaopeng.common.core.web.domain.AjaxResult;
 import com.xiaopeng.common.redis.service.RedisService;
+import com.xiaopeng.operation.job.base.QuartzManager;
+import com.xiaopeng.operation.job.base.TimeJobType;
+import com.xiaopeng.operation.job.jobs.HotFixJob;
 import com.xiaopeng.operation.service.XpSystemSettingService;
 import com.xiaopeng.operation.vo.CustomerServicePhoneVo;
 import io.swagger.annotations.Api;
@@ -13,6 +17,9 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
+
+import java.time.LocalDateTime;
+import java.util.HashMap;
 
 @Slf4j
 @Validated
@@ -96,6 +103,19 @@
     @PostMapping("/api/v1/systemSetting/save")
     public R<?> saveSystemSetting(@RequestBody XpSystemSetting xpSystemSetting){
         xpSystemSettingService.saveSystemSetting(xpSystemSetting);
+        if(xpSystemSetting.getHotfixStatus()==1){
+            // 开启定时任务去关闭
+            // 计算当前时间与结束时间的秒数
+            LocalDateTime hotfixEndTime = xpSystemSetting.getHotfixEndTime();
+            QuartzManager.addJob(
+                    HotFixJob.class,
+                    (HotFixJob.name ).toUpperCase(),
+                    TimeJobType.HOT_FIX,
+                    DateUtils.localDateTimeToDate(hotfixEndTime),
+                    new HashMap<>()
+            );
+        }
+
         return R.ok();
     }
 }
diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/job/base/AbstractJob.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/job/base/AbstractJob.java
index 0e929e5..cfa4d1e 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/job/base/AbstractJob.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/job/base/AbstractJob.java
@@ -1,11 +1,14 @@
 package com.xiaopeng.operation.job.base;
 
 import com.xiaopeng.api.feignClient.pushMessage.XpPushMessageClient;
+import com.xiaopeng.common.redis.service.RedisService;
 import com.xiaopeng.operation.job.utils.SpringContextsUtil;
 import com.xiaopeng.operation.service.IXpElectronicFenceAreaService;
 import com.xiaopeng.operation.service.IXpElectronicFenceService;
 import com.xiaopeng.operation.service.IXpPointService;
+import com.xiaopeng.operation.service.XpSystemSettingService;
 import org.quartz.Job;
+import org.quartz.JobDataMap;
 import org.quartz.JobExecutionContext;
 import org.quartz.JobExecutionException;
 import org.slf4j.Logger;
@@ -21,12 +24,16 @@
 	protected IXpElectronicFenceAreaService xpElectronicFenceAreaService;
 	protected IXpPointService xpPointService;
 	protected XpPushMessageClient xpPushMessageClient;
+	protected XpSystemSettingService xpSystemSettingService;
+	protected RedisService redisService;
 
 	public AbstractJob(){
 		this.xpElectronicFenceService = SpringContextsUtil.getBean(IXpElectronicFenceService.class);
 		this.xpElectronicFenceAreaService = SpringContextsUtil.getBean(IXpElectronicFenceAreaService.class);
 		this.xpPointService = SpringContextsUtil.getBean(IXpPointService.class);
 		this.xpPushMessageClient = SpringContextsUtil.getBean(XpPushMessageClient.class);
+		this.xpSystemSettingService = SpringContextsUtil.getBean(XpSystemSettingService.class);
+		this.redisService = SpringContextsUtil.getBean(RedisService.class);
 	}
 
 	 
diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/job/base/TimeJobType.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/job/base/TimeJobType.java
index 9aac451..e260288 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/job/base/TimeJobType.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/job/base/TimeJobType.java
@@ -7,6 +7,7 @@
 public enum TimeJobType {
 	ELECTRONIC_EFFECT("electronic_effect","电子围栏生效"),
 	ELECTRONIC_FAILURE("electronic_failure","电子围栏失效"),
+	HOT_FIX("hot_fix","热修复"),
 	DYNAMIC_PRICING_CHECK("dynamic_pricing_check","动态调价供需检测");
 
 
diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/job/jobs/HotFixJob.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/job/jobs/HotFixJob.java
new file mode 100644
index 0000000..8cce0a5
--- /dev/null
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/job/jobs/HotFixJob.java
@@ -0,0 +1,40 @@
+package com.xiaopeng.operation.job.jobs;
+
+import com.xiaopeng.api.model.operation.XpSystemSetting;
+import com.xiaopeng.api.model.order.XpOrder;
+import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
+import com.xiaopeng.api.vo.HotFixInfoVo;
+import com.xiaopeng.api.vo.vehicleConvoy.CancelTaxiPassengerVo;
+import com.xiaopeng.operation.job.base.AbstractJob;
+import lombok.extern.slf4j.Slf4j;
+import org.quartz.JobDataMap;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+
+/**
+ * 推送定时任务
+ * @author Administrator
+ *
+ */
+@Slf4j
+public class HotFixJob extends AbstractJob {
+
+	public static final String name = "hot_fix";
+
+	@Override
+	public void execute(JobExecutionContext context)
+			throws JobExecutionException {
+		XpSystemSetting xpSystemSetting = xpSystemSettingService.lambdaQuery().last("limit 1").one();
+		xpSystemSetting.setHotfixStatus(0);
+		xpSystemSettingService.updateById(xpSystemSetting);
+
+		//保存热修复信息到redis
+		HotFixInfoVo hotFixInfoVo = new HotFixInfoVo();
+		hotFixInfoVo.setHotfixStatus(xpSystemSetting.getHotfixStatus() == null ? 0 : xpSystemSetting.getHotfixStatus());
+		hotFixInfoVo.setHotfixStartTime(xpSystemSetting.getHotfixStartTime());
+		hotFixInfoVo.setHotfixEndTime(xpSystemSetting.getHotfixEndTime());
+		redisService.setCacheObject("HOT_FIX_INFO", hotFixInfoVo);
+
+	}
+
+}
diff --git a/xp-robotaxi-order-boot/pom.xml b/xp-robotaxi-order-boot/pom.xml
index b6759fe..7fa953a 100644
--- a/xp-robotaxi-order-boot/pom.xml
+++ b/xp-robotaxi-order-boot/pom.xml
@@ -119,6 +119,10 @@
                     <groupId>org.yaml</groupId>
                     <artifactId>snakeyaml</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>log4j</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
diff --git a/xp-robotaxi-payment-boot/pom.xml b/xp-robotaxi-payment-boot/pom.xml
index 1e98154..d49cad8 100644
--- a/xp-robotaxi-payment-boot/pom.xml
+++ b/xp-robotaxi-payment-boot/pom.xml
@@ -118,6 +118,10 @@
                     <groupId>org.yaml</groupId>
                     <artifactId>snakeyaml</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>log4j</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
diff --git a/xp-robotaxi-push-message-boot/pom.xml b/xp-robotaxi-push-message-boot/pom.xml
index c0dff74..6862b9e 100644
--- a/xp-robotaxi-push-message-boot/pom.xml
+++ b/xp-robotaxi-push-message-boot/pom.xml
@@ -106,6 +106,10 @@
                     <groupId>org.yaml</groupId>
                     <artifactId>snakeyaml</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>log4j</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
diff --git a/xp-robotaxi-remote-driving-boot/pom.xml b/xp-robotaxi-remote-driving-boot/pom.xml
index 62c2f34..5440e18 100644
--- a/xp-robotaxi-remote-driving-boot/pom.xml
+++ b/xp-robotaxi-remote-driving-boot/pom.xml
@@ -106,6 +106,10 @@
                     <groupId>org.yaml</groupId>
                     <artifactId>snakeyaml</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>log4j</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
diff --git a/xp-robotaxi-vehicle-convoy-boot/pom.xml b/xp-robotaxi-vehicle-convoy-boot/pom.xml
index b90b8ac..cefbe0b 100644
--- a/xp-robotaxi-vehicle-convoy-boot/pom.xml
+++ b/xp-robotaxi-vehicle-convoy-boot/pom.xml
@@ -106,6 +106,10 @@
                     <groupId>org.yaml</groupId>
                     <artifactId>snakeyaml</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>log4j</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>

--
Gitblit v1.7.1