From 2c0a9a5194596d05b00aa773133582fa16deb6ea Mon Sep 17 00:00:00 2001
From: yyy <1083599556@qq.com>
Date: 星期日, 17 五月 2026 17:00:21 +0800
Subject: [PATCH] 不提交

---
 xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/XpPricingServiceImpl.java    |   41 +++++-----
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/mapper/XpActicityMapper.java              |    3 
 xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpElectronicFenceManagementController.java |   14 +-
 xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpTradingStrategy.java                     |    8 +-
 xp-robotaxi-operation-boot/src/main/resources/mapper/operation/XpActicityMapper.xml                       |   26 +++---
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/dto/XpTradingStrategyEditDTO.java         |    8 +-
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpSystemSettingController.java |    2 
 xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/mapper/XpStationMapper.java                           |    4 
 xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpStationServiceImpl.java         |   18 +++-
 xp-robotaxi-api/src/main/java/com/xiaopeng/api/query/operation/XpActivityPageListQuery.java               |    3 
 xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpActicityUser.java                        |    4 
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpActicityServiceImpl.java   |   33 +++++++-
 xp-robotaxi-api/src/main/java/com/xiaopeng/api/vo/operation/XpTradingStrategyDetailVO.java                |    8 +-
 xp-robotaxi-map-boot/src/main/resources/mapper/XpStationMapper.xml                                        |    7 +
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/config/MiniprogramConfigurer.java         |    3 
 15 files changed, 109 insertions(+), 73 deletions(-)

diff --git a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpActicityUser.java b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpActicityUser.java
index bc0c420..9a5c797 100644
--- a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpActicityUser.java
+++ b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpActicityUser.java
@@ -26,7 +26,7 @@
 @Data
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
-@TableName("xp_acticity_user")
+@TableName(value = "xp_acticity_user", autoResultMap = true)
 @ApiModel(value="XpActicityUser对象", description="活动发放用户")
 public class XpActicityUser extends BaseModel {
 
@@ -47,7 +47,7 @@
 
     @ApiModelProperty(value = "指定用户json数组")
     @TableField(typeHandler = JacksonTypeHandler.class)
-    private List<Long> userList;
+    private List<Integer> userList;
 
     @ApiModelProperty(value = "策略组名称")
     private String strategyName;
diff --git a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpTradingStrategy.java b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpTradingStrategy.java
index 873a194..240cc10 100644
--- a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpTradingStrategy.java
+++ b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpTradingStrategy.java
@@ -188,13 +188,13 @@
 
 
     @ApiModelProperty(value = "连环派单车辆侧 允许车辆进入连环派单候选池路程阈值, unit : km")
-    @Min(value = 0, message = "连环派单策略>当前订单剩余里程不能小于0")
-    @NotNull(message = "连环派单策略>当前订单剩余里程不能为空")
+    @Min(value = 0, message = "当前订单剩余里程不能小于0")
+    @NotNull(message = "当前订单剩余里程不能为空")
     private Integer distanceRegardAsEnding;
 
     @ApiModelProperty(value = "连环派单车辆侧 允许车辆进入连环派单候选池时间阈值 unit : min")
-    @Min(value = 0, message = "连环派单策略>当前订单剩余时间不能小于0")
-    @NotNull(message = "连环派单策略>当前订单剩余时间不能为空")
+    @Min(value = 0, message = "当前订单剩余时间不能小于0")
+    @NotNull(message = "当前订单剩余时间不能为空")
     private Integer timeRegardAsEnding;
 
     @ApiModelProperty(value = "连环派单车辆侧 保障可完成连环订单的电量 unit : km")
diff --git a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/query/operation/XpActivityPageListQuery.java b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/query/operation/XpActivityPageListQuery.java
index 884e45f..27768e2 100644
--- a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/query/operation/XpActivityPageListQuery.java
+++ b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/query/operation/XpActivityPageListQuery.java
@@ -23,7 +23,6 @@
 @Data
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
-@ApiModel(value="XpActicity对象", description="活动管理")
 public class XpActivityPageListQuery extends BasePage {
 
     @TableId(value = "id", type = IdType.AUTO)
@@ -33,7 +32,7 @@
     private String acticityName;
 
     @ApiModelProperty(value = "活动类型 如新人活动、媒体邀约活动、日常提频等")
-    private Integer activityType;
+    private Integer type;
 
     @ApiModelProperty(value = "开始时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
diff --git a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/vo/operation/XpTradingStrategyDetailVO.java b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/vo/operation/XpTradingStrategyDetailVO.java
index 3799ac0..9916d18 100644
--- a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/vo/operation/XpTradingStrategyDetailVO.java
+++ b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/vo/operation/XpTradingStrategyDetailVO.java
@@ -182,13 +182,13 @@
 
 
     @ApiModelProperty(value = "连环派单车辆侧 允许车辆进入连环派单候选池路程阈值, unit : km")
-    @Min(value = 0, message = "连环派单策略>当前订单剩余里程不能小于0")
-    @NotNull(message = "连环派单策略>当前订单剩余里程不能为空")
+    @Min(value = 0, message = "当前订单剩余里程不能小于0")
+    @NotNull(message = "当前订单剩余里程不能为空")
     private Integer distanceRegardAsEnding;
 
     @ApiModelProperty(value = "连环派单车辆侧 允许车辆进入连环派单候选池时间阈值 unit : min")
-    @Min(value = 0, message = "连环派单策略>当前订单剩余时间不能小于0")
-    @NotNull(message = "连环派单策略>当前订单剩余时间不能为空")
+    @Min(value = 0, message = "当前订单剩余时间不能小于0")
+    @NotNull(message = "当前订单剩余时间不能为空")
     private Integer timeRegardAsEnding;
 
     @ApiModelProperty(value = "连环派单车辆侧 保障可完成连环订单的电量 unit : km")
diff --git a/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/XpPricingServiceImpl.java b/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/XpPricingServiceImpl.java
index 5cfd07b..1e4a56c 100644
--- a/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/XpPricingServiceImpl.java
+++ b/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/XpPricingServiceImpl.java
@@ -376,11 +376,9 @@
                 Double money = userCouponVo.getMoney();
                 money = new BigDecimal(money).setScale(2, RoundingMode.HALF_UP).doubleValue();
                 xpPricingCardVo.setCoupon(String.valueOf(money));
-                if (xpPricingCardVo.getTotalPrice() > money) {
-                    xpPricingCardVo.setSystemDiscount(xpPricingCardVo.getTotalPrice() - money);
-                }
-
-
+//                if (xpPricingCardVo.getTotalPrice() > money) {
+//                    xpPricingCardVo.setSystemDiscount(xpPricingCardVo.getTotalPrice() - money);
+//                }
             }
 
             // 8. 构建响应对象
@@ -391,7 +389,7 @@
             xpPricingCardVo.setStartPriceStr(new BigDecimal(xpPricingCardVo.getStartPrice()).setScale(2, RoundingMode.HALF_UP).toString());
             xpPricingCardVo.setDistancePriceStr(new BigDecimal(xpPricingCardVo.getDistancePrice()).setScale(2, RoundingMode.HALF_UP).toString());
             xpPricingCardVo.setDurationPriceStr(new BigDecimal(xpPricingCardVo.getDurationPrice()).setScale(2, RoundingMode.HALF_UP).toString());
-            xpPricingCardVo.setSystemDiscountStr(new BigDecimal(xpPricingCardVo.getSystemDiscount()).setScale(2, RoundingMode.HALF_UP).toString());
+//            xpPricingCardVo.setSystemDiscountStr(new BigDecimal(xpPricingCardVo.getSystemDiscount()).setScale(2, RoundingMode.HALF_UP).toString());
 
 
             routeAndFareVo.setXpPricingCard(xpPricingCardVo);
@@ -411,16 +409,16 @@
                     fareVo.setDiscountAmount(userCouponVo.getMoney());
                     fareVo.setFinalFare(fareVo.getOriginalFare() - fareVo.getDiscountAmount());
                 }
-                if(fareVo.getFinalFare()>0){
-                    fareVo.setSystemDiscount(fareVo.getFinalFare());
-                    fareVo.setFinalFare(0.00);
-                }
+//                if(fareVo.getFinalFare()>0){
+//                    fareVo.setSystemDiscount(fareVo.getFinalFare());
+//                    fareVo.setFinalFare(0.00);
+//                }
                 fareVo.setCouponId(userCouponVo.getId());
             } else {
                 fareVo.setDiscountAmount(0.00);
                 fareVo.setFinalFare(fareVo.getOriginalFare());
-                fareVo.setSystemDiscount(fareVo.getFinalFare());
-                fareVo.setFinalFare(0.00);
+//                fareVo.setSystemDiscount(fareVo.getFinalFare());
+//                fareVo.setFinalFare(0.00);
             }
 
             // 10. 检查等待时间
@@ -439,7 +437,7 @@
             // 12. 设置费用信息
             fareVo.setFinalFareStr(new BigDecimal(fareVo.getFinalFare()).setScale(2, RoundingMode.HALF_UP).toString());
             fareVo.setOriginalFare(new BigDecimal(fareVo.getOriginalFare()).setScale(2,RoundingMode.HALF_UP).doubleValue());
-            fareVo.setSystemDiscount(new BigDecimal(fareVo.getSystemDiscount() == null ? 0 : fareVo.getSystemDiscount()).setScale(2,RoundingMode.HALF_UP).doubleValue());
+//            fareVo.setSystemDiscount(new BigDecimal(fareVo.getSystemDiscount() == null ? 0 : fareVo.getSystemDiscount()).setScale(2,RoundingMode.HALF_UP).doubleValue());
             routeAndFareVo.setFareEstimate(fareVo);
 
             routeAndFareVo.getXpPricingCard().setFinalFareStr(fareVo.getFinalFareStr());
@@ -1066,9 +1064,9 @@
             Double money = userCouponVo.getMoney();
             money = new BigDecimal(money).setScale(2, RoundingMode.HALF_UP).doubleValue();
             xpPricingCardVo.setCoupon(String.valueOf(money));
-            if (xpPricingCardVo.getTotalPrice() > money) {
-                xpPricingCardVo.setSystemDiscount(xpPricingCardVo.getTotalPrice() - money);
-            }
+//            if (xpPricingCardVo.getTotalPrice() > money) {
+//                xpPricingCardVo.setSystemDiscount(xpPricingCardVo.getTotalPrice() - money);
+//            }
         }
         RouteAndFareVo routeAndFareVo = new RouteAndFareVo();
         routeAndFareVo.setRoute(routeVo);
@@ -1076,7 +1074,7 @@
         xpPricingCardVo.setStartPriceStr(new BigDecimal(xpPricingCardVo.getStartPrice()).setScale(2, RoundingMode.HALF_UP).toString());
         xpPricingCardVo.setDistancePriceStr(new BigDecimal(xpPricingCardVo.getDistancePrice()).setScale(2, RoundingMode.HALF_UP).toString());
         xpPricingCardVo.setDurationPriceStr(new BigDecimal(xpPricingCardVo.getDurationPrice()).setScale(2, RoundingMode.HALF_UP).toString());
-        xpPricingCardVo.setSystemDiscountStr(new BigDecimal(xpPricingCardVo.getSystemDiscount()).setScale(2, RoundingMode.HALF_UP).toString());
+//        xpPricingCardVo.setSystemDiscountStr(new BigDecimal(xpPricingCardVo.getSystemDiscount()).setScale(2, RoundingMode.HALF_UP).toString());
         routeAndFareVo.setXpPricingCard(xpPricingCardVo);
         FareVo fareVo = new FareVo();
         fareVo.setEstimatedDistanceKm(routeVo.getDistance().doubleValue() / 1000);
@@ -1095,13 +1093,13 @@
         } else {
             fareVo.setDiscountAmount(0.00);
             fareVo.setFinalFare(fareVo.getOriginalFare());
-            fareVo.setSystemDiscount(fareVo.getFinalFare());
+//            fareVo.setSystemDiscount(fareVo.getFinalFare());
         }
         Integer waitTime = getWaitTime(routeAndFareDto.getOrigin().getLongitude(), routeAndFareDto.getOrigin().getLatitude());
         fareVo.setWaitingTime(waitTime);
         fareVo.setFinalFareStr(new BigDecimal(fareVo.getFinalFare()).setScale(2, RoundingMode.HALF_UP).toString());
         fareVo.setOriginalFare(new BigDecimal(fareVo.getOriginalFare()).setScale(2, RoundingMode.HALF_UP).doubleValue());
-        fareVo.setSystemDiscount(new BigDecimal(fareVo.getSystemDiscount() == null ? 0 : fareVo.getSystemDiscount()).setScale(2, RoundingMode.HALF_UP).doubleValue());
+//        fareVo.setSystemDiscount(new BigDecimal(fareVo.getSystemDiscount() == null ? 0 : fareVo.getSystemDiscount()).setScale(2, RoundingMode.HALF_UP).doubleValue());
         routeAndFareVo.setFareEstimate(fareVo);
         routeAndFareVo.getXpPricingCard().setFinalFareStr(fareVo.getFinalFareStr());
 //        routeAndFareVo.setTrafficLights();//交通信号灯 todo 20260508 红绿灯功能还没有
@@ -1494,9 +1492,10 @@
             int totalCount = queueItems.size();
 
             for (int i = 0; i < queueItems.size(); i++) {
+                currentPosition++;
                 String item = queueItems.get(i);
-                if (item.startsWith(orderId + "_")) {
-                    currentPosition = i + 1; // 位置从1开始
+                String[] split = item.split("-");
+                if (split[1].equals(orderId + "")) {
                     break;
                 }
             }
diff --git a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpElectronicFenceManagementController.java b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpElectronicFenceManagementController.java
index 8babcb0..62cd452 100644
--- a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpElectronicFenceManagementController.java
+++ b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpElectronicFenceManagementController.java
@@ -203,25 +203,25 @@
                 //总数
                 pointsNumbers.setTotalNum(pointList.size());
                 //待测试
-                long count = pointList.stream().filter(xpPoint -> xpPoint.getVerificationStatus() == 1).count();
+                long count = pointList.stream().filter(xpPoint -> xpPoint.getOperationStatus() == 1 && xpPoint.getVerificationStatus() == 1).count();
                 pointsNumbers.setToBeTested(Integer.parseInt(count+""));
                 //测试中
-                long count2 = pointList.stream().filter(xpPoint -> xpPoint.getVerificationStatus() == 2).count();
+                long count2 = pointList.stream().filter(xpPoint -> xpPoint.getOperationStatus() == 1 && xpPoint.getVerificationStatus() == 2).count();
                 pointsNumbers.setTesting(Integer.parseInt(count2+""));
                 //测试不通过
-                long count3 = pointList.stream().filter(xpPoint -> xpPoint.getVerificationStatus() == 4).count();
+                long count3 = pointList.stream().filter(xpPoint -> xpPoint.getOperationStatus() == 1 && xpPoint.getVerificationStatus() == 4).count();
                 pointsNumbers.setTestNotPass(Integer.parseInt(count3+""));
                 //待启用
-                long count4 = pointList.stream().filter(xpPoint -> xpPoint.getOperationStatus() == 1 && xpPoint.getVerificationStatus() == 3).count();
+                long count4 = pointList.stream().filter(xpPoint -> xpPoint.getOperationStatus() == 1 && (xpPoint.getVerificationStatus() == 3 || xpPoint.getVerificationStatus() == 5)).count();
                 pointsNumbers.setPendingLaunch(Integer.parseInt(count4+""));
                 //启用中
-                long count5 = pointList.stream().filter(xpPoint -> xpPoint.getOperationStatus() == 2 && xpPoint.getVerificationStatus() == 3).count();
+                long count5 = pointList.stream().filter(xpPoint -> xpPoint.getOperationStatus() == 2 && xpPoint.getVerificationStatus() == 5).count();
                 pointsNumbers.setStartingUp(Integer.parseInt(count5+""));
                 //已停用
-                long count6 = pointList.stream().filter(xpPoint -> xpPoint.getOperationStatus() == 3 && xpPoint.getVerificationStatus() == 3).count();
+                long count6 = pointList.stream().filter(xpPoint -> xpPoint.getOperationStatus() == 3 && xpPoint.getVerificationStatus() == 5).count();
                 pointsNumbers.setDisabled(Integer.parseInt(count6+""));
                 //已失效
-                long count7 = pointList.stream().filter(xpPoint -> xpPoint.getOperationStatus() == 4 && xpPoint.getVerificationStatus() == 3).count();
+                long count7 = pointList.stream().filter(xpPoint -> xpPoint.getOperationStatus() == 4 && xpPoint.getVerificationStatus() == 5).count();
                 pointsNumbers.setExpired(Integer.parseInt(count7+""));
             }
             res.setPointsNumbers(pointsNumbers);
diff --git a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/mapper/XpStationMapper.java b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/mapper/XpStationMapper.java
index 56fda13..2150cc2 100644
--- a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/mapper/XpStationMapper.java
+++ b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/mapper/XpStationMapper.java
@@ -21,10 +21,10 @@
 public interface XpStationMapper extends BaseMapper<XpStation> {
 
 
-    List<XpStation> pageList(@Param("pageInfo") PageInfo<XpStation> pageInfo, @Param("query") XpStationQuery query);
+    List<XpStation> pageList(@Param("pageInfo") PageInfo<XpStation> pageInfo, @Param("query") XpStationQuery query, @Param("bj") Integer bj);
 
 
-    List<XpStation> pageList(@Param("query") XpStationQuery query);
+    List<XpStation> pageList(@Param("query") XpStationQuery query, @Param("bj") Integer bj);
 
 
 }
diff --git a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpStationServiceImpl.java b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpStationServiceImpl.java
index 18c4497..a7b649d 100644
--- a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpStationServiceImpl.java
+++ b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpStationServiceImpl.java
@@ -96,21 +96,21 @@
     }
     @Override
     public List<XpStation> findList(PageInfo<XpStation> pageInfo, XpStationQuery query) {
+        Integer bj = 0;
         if(StringUtils.isNotEmpty(query.getStationPointNum())){
             if(query.getStationPointNum().contains(",")){
                 throw new ServiceException("点位数量只能单选");
             }
             if(query.getStationPointNum().contains("gt")){
-                query.setStationPointNum(query.getStationPointNum().replace("gt", " > "));
-            }else{
-                query.setStationPointNum(" = " + query.getStationPointNum());
+                query.setStationPointNum(query.getStationPointNum().replace("gt", ""));
+                bj = 1;
             }
         }
         List<XpStation> list = null;
         if(pageInfo ==null){
-            list = this.baseMapper.pageList(query);
+            list = this.baseMapper.pageList(query, bj);
         }else{
-            list = this.baseMapper.pageList(pageInfo, query);
+            list = this.baseMapper.pageList(pageInfo, query, bj);
         }
         if(CollUtil.isNotEmpty(list)){
             LocalTime localTime = LocalTime.now();
@@ -137,6 +137,14 @@
 
                     int operatingPointCount = 0; // 运营中点位数
                     for (XpPoint xpPoint : stationPoints) {
+                        if(null != xpPoint.getStationId()){
+                            XpStation xpStation1 = this.getById(xpPoint.getStationId());
+                            xpPoint.setStationOperationType(xpStation1.getOperationType());
+                            xpPoint.setStationEffectivePeriod(xpStation1.getEffectivePeriod());
+                            xpPoint.setStationEffectivePeriod(xpStation1.getEffectivePeriod());
+                            xpPoint.setStationEffectiveTimePeriod(xpStation1.getEffectiveTimePeriod());
+                            xpPoint.setFenceOperationStrategy(xpStation1.getFenceOperationStrategy());
+                        }
                         boolean pointOperation = bootCommonService.getPointOperation(localTime, xpPoint);
                         if (pointOperation) {
                             operatingPointCount++;
diff --git a/xp-robotaxi-map-boot/src/main/resources/mapper/XpStationMapper.xml b/xp-robotaxi-map-boot/src/main/resources/mapper/XpStationMapper.xml
index 825c10a..f2d1477 100644
--- a/xp-robotaxi-map-boot/src/main/resources/mapper/XpStationMapper.xml
+++ b/xp-robotaxi-map-boot/src/main/resources/mapper/XpStationMapper.xml
@@ -85,8 +85,11 @@
         <if test="query.updateEndTime != null and query.updateEndTime!=''">
             and #{query.updateEndTime} >= a.update_time
         </if>
-        <if test="query.stationPointNum != null and query.stationPointNum!=''">
-            and c.point_num #{query.stationPointNum}
+        <if test="query.stationPointNum != null and query.stationPointNum!='' and bj == 0">
+            and c.point_num = #{query.stationPointNum}
+        </if>
+        <if test="query.stationPointNum != null and query.stationPointNum!='' and bj == 1">
+            and c.point_num > #{query.stationPointNum}
         </if>
 
         GROUP BY a.id
diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/config/MiniprogramConfigurer.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/config/MiniprogramConfigurer.java
index a0063c3..0e75f66 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/config/MiniprogramConfigurer.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/config/MiniprogramConfigurer.java
@@ -35,7 +35,8 @@
                             "/base/v1/mini-program/privacy/contentAll",
                             "/base/v1/mini-program/guide/list",
                             "/base/v1/mini-program/miniLog/uploadLog",
-                            "/base/v1/mini-program/miniLog/getMiniLogUploadLog");
+                            "/base/v1/mini-program/miniLog/getMiniLogUploadLog",
+                            "/base/v1/mini-program/loginAgreement/getLoginAgreement");
             log.info("小程序拦截器注册成功");
         } catch (Exception e) {
             log.warn("小程序拦截器注册失败: {}", e.getMessage());
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 d380f90..3281ee5 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
@@ -111,7 +111,7 @@
     @PostMapping("/api/v1/systemSetting/save")
     public R<?> saveSystemSetting(@RequestBody XpSystemSetting xpSystemSetting){
         xpSystemSettingService.saveSystemSetting(xpSystemSetting);
-        if(xpSystemSetting.getHotfixStatus()==1){
+        if(null != xpSystemSetting.getHotfixStatus() && xpSystemSetting.getHotfixStatus()==1){
             // 开启定时任务去关闭
             // 计算当前时间与结束时间的秒数
             LocalDateTime hotfixEndTime = xpSystemSetting.getHotfixEndTime();
diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/dto/XpTradingStrategyEditDTO.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/dto/XpTradingStrategyEditDTO.java
index ac58d8c..d7ece42 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/dto/XpTradingStrategyEditDTO.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/dto/XpTradingStrategyEditDTO.java
@@ -183,13 +183,13 @@
 
 
     @ApiModelProperty(value = "连环派单车辆侧 允许车辆进入连环派单候选池路程阈值, unit : km")
-    @Min(value = 0, message = "连环派单策略>当前订单剩余里程不能小于0")
-    @NotNull(message = "连环派单策略>当前订单剩余里程不能为空")
+    @Min(value = 0, message = "当前订单剩余里程不能小于0")
+    @NotNull(message = "当前订单剩余里程不能为空")
     private Integer distanceRegardAsEnding;
 
     @ApiModelProperty(value = "连环派单车辆侧 允许车辆进入连环派单候选池时间阈值 unit : min")
-    @Min(value = 0, message = "连环派单策略>当前订单剩余时间不能小于0")
-    @NotNull(message = "连环派单策略>当前订单剩余时间不能为空")
+    @Min(value = 0, message = "当前订单剩余时间不能小于0")
+    @NotNull(message = "当前订单剩余时间不能为空")
     private Integer timeRegardAsEnding;
 
     @ApiModelProperty(value = "连环派单车辆侧 保障可完成连环订单的电量 unit : km")
diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/mapper/XpActicityMapper.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/mapper/XpActicityMapper.java
index 9b75e0d..5ecc639 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/mapper/XpActicityMapper.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/mapper/XpActicityMapper.java
@@ -5,6 +5,7 @@
 import com.xiaopeng.api.model.operation.XpActivity;
 import com.xiaopeng.api.query.operation.XpActivityPageListQuery;
 import com.xiaopeng.common.core.web.page.PageInfo;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -18,5 +19,5 @@
  */
 public interface XpActicityMapper extends BaseMapper<XpActivity> {
 
-    List<XpActivityDto> pageList(PageInfo<XpActivityDto> pageInfo, XpActivityPageListQuery query);
+    List<XpActivityDto> pageList(PageInfo<XpActivityDto> pageInfo, @Param("query") XpActivityPageListQuery query);
 }
diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpActicityServiceImpl.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpActicityServiceImpl.java
index 548274c..eb72549 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpActicityServiceImpl.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpActicityServiceImpl.java
@@ -155,7 +155,7 @@
         }
 
         //执行修改活动状态
-        updateStatus();
+        updateStatus(activity.getId());
     }
 
     @Override
@@ -199,6 +199,31 @@
                 .eq("enable_float_window", 1).in(!actitctiyIds.isEmpty(), "id", actitctiyIds)
                 .last(" and now() between start_time and end_time order by float_window_priority desc limit 1"));
         return one;
+    }
+
+
+    public void updateStatus(Long activityId) {
+        XpActivity xpActivity = xpActicityService.getById(activityId);
+        Integer status = xpActivity.getStatus();
+        //即将开始的活动推送socket给前端用户
+        if(1 == status && LocalDateTime.now().isBefore(xpActivity.getStartTime())){
+
+        }
+
+        //即将结束的活动推送给前端用户
+
+        //生效的活动修改状态和发放一次优惠券
+        if(1 == status && LocalDateTime.now().isAfter(xpActivity.getStartTime()) && LocalDateTime.now().isBefore(xpActivity.getEndTime())){
+            xpActivity.setStatus(2);
+            //发放优惠券-发放一次的优惠券
+            List<XpActicityStrategy> list1 = xpActicityStrategyService.list(new QueryWrapper<XpActicityStrategy>().eq("actitcity_id", xpActivity.getId())
+                    .eq("distribution_rules", 2));
+            for (XpActicityStrategy xpActicityStrategy : list1) {
+                pushCoupon(xpActivity, xpActicityStrategy);
+            }
+
+        }
+        xpActicityService.updateById(xpActivity);
     }
 
 
@@ -410,9 +435,9 @@
             }
             //指定用户
             if(5 == userType){
-                List<Long> userList = xpActicityUser.getUserList();
+                List<Integer> userList = xpActicityUser.getUserList();
                 List<XpAppUserCoupon> xpAppUserCoupons = new ArrayList<>();
-                for (Long userId : userList) {
+                for (Integer userId : userList) {
                     UcUserInfo baseUserByUid = userResourcesClient.getBaseUserByUid(userId.toString());
                     for (XpActicityCoupon acticityCoupon : acticityCoupons) {
                         XpCoupon xpCoupon = xpCoupons.stream().filter(s -> s.getId().equals(acticityCoupon.getCouponId())).findFirst().orElse(null);
@@ -443,7 +468,7 @@
                                 }
 
                                 xpAppUserCoupon.setCouponId(acticityCoupon.getCouponId());
-                                xpAppUserCoupon.setAppUserId(userId);
+                                xpAppUserCoupon.setAppUserId(userId.longValue());
                                 xpAppUserCoupon.setStatus(1);
                                 xpAppUserCoupon.setActivityId(xpActivity.getId());
                                 xpAppUserCoupon.setCouponName(xpCoupon.getCouponName());
diff --git a/xp-robotaxi-operation-boot/src/main/resources/mapper/operation/XpActicityMapper.xml b/xp-robotaxi-operation-boot/src/main/resources/mapper/operation/XpActicityMapper.xml
index fba3144..a0c71c7 100644
--- a/xp-robotaxi-operation-boot/src/main/resources/mapper/operation/XpActicityMapper.xml
+++ b/xp-robotaxi-operation-boot/src/main/resources/mapper/operation/XpActicityMapper.xml
@@ -4,19 +4,19 @@
 
 
     <select id="pageList" resultType="com.xiaopeng.api.dto.operation.XpActivityDto">
-            select a.*
-            from xp_acticity as a
-            where a.is_deleted = 0
-<!--            <if test="query.acticity_name != null ">-->
-<!--                a.acticity_name >= #{acticityName}-->
-<!--            </if>-->
-<!--            <if test="query.status != null">-->
-<!--                and a.status = #{query.status}-->
-<!--            </if>-->
-<!--            <if test="query.activity_type != null">-->
-<!--                and a.activity_type = #{query.activityType}-->
-<!--            </if>-->
-            order by a.update_time desc
+            select *
+            from xp_acticity
+            where is_deleted = 0
+            <if test="query.acticityName != null and '' != query.acticityName">
+                and acticity_name like CONCAT('%', #{query.acticityName}, '%')
+            </if>
+            <if test="query.status != null">
+                and status = #{query.status}
+            </if>
+            <if test="query.type != null">
+                and acticity_type = #{query.type}
+            </if>
+            order by update_time desc
 
     </select>
 </mapper>

--
Gitblit v1.7.1