From 70e0e8669c318161b91bfab891d7fac2e2c8eb0e Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 24 四月 2026 22:35:57 +0800
Subject: [PATCH] Merge branch '1.0' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi into 1.0

---
 xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpAppUserCouponServiceImpl.java             |   20 ++++++++++
 xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpActicityCoupon.java                                 |   15 +------
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpActicityController.java                 |   22 +++++++++++
 xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/operation/XpActicityClientFallbackFactory.java                |    7 +++
 xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/operation/XpActicityClient.java                           |   13 ++++++
 xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpCruiseCheckInRuleServiceImpl.java |    3 +
 xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/vo/CouponVo.java                                         |    6 +++
 7 files changed, 73 insertions(+), 13 deletions(-)

diff --git a/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpAppUserCouponServiceImpl.java b/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpAppUserCouponServiceImpl.java
index c62d152..bf21d89 100644
--- a/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpAppUserCouponServiceImpl.java
+++ b/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpAppUserCouponServiceImpl.java
@@ -22,7 +22,9 @@
 import com.xiaopeng.api.dto.account.UcUserInfo;
 import com.xiaopeng.api.dto.account.UseUserCouponDto;
 import com.xiaopeng.api.enums.NavigationCouponBubbleType;
+import com.xiaopeng.api.feignClient.operation.XpActicityClient;
 import com.xiaopeng.api.feignClient.pushMessage.SubscribeMessageClient;
+import com.xiaopeng.api.model.operation.XpActicityStrategy;
 import com.xiaopeng.api.query.account.XpAppUserCouponPageListQuery;
 import com.xiaopeng.api.vo.account.NavigationCouponItemVo;
 import com.xiaopeng.api.vo.account.NavigationCouponPickerVo;
@@ -73,6 +75,9 @@
     private UserResourcesClient userResourcesClient;
     @Resource
     private SubscribeMessageClient subscribeMessageClient;
+
+    @Resource
+    private XpActicityClient xpActicityClient;
 
 
     @Override
@@ -526,6 +531,8 @@
             if(null == data){
                 continue;
             }
+            XpActicityStrategy acticityStrategy = xpActicityClient.getXpActicityStrategy(xpAppUserCoupon.getActivityId(), data.getId()).getData();
+
             CouponVo vo = new CouponVo();
             vo.setId(xpAppUserCoupon.getId());
             vo.setConditionalAmount(data.getConditionalAmount());
@@ -534,6 +541,19 @@
             vo.setCouponName(data.getCouponName());
             vo.setCouponDesc(data.getCouponDescription());
             vo.setEndTime(xpAppUserCoupon.getExpirationTime().toString());
+            vo.setUnavailable("");
+            vo.setStackable("");
+            Integer effectiveRules = acticityStrategy.getEffectiveRules();
+            if(1 == effectiveRules){
+                vo.setEffectAndInvalid("");
+            }
+            if(2 == effectiveRules){
+
+            }
+            if(3 == effectiveRules){
+
+            }
+
             if(orderMoney.compareTo(data.getConditionalAmount()) >= 0){
                 usableCouponList.add(vo);
             }else{
diff --git a/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/vo/CouponVo.java b/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/vo/CouponVo.java
index ed1ee08..0d97b2e 100644
--- a/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/vo/CouponVo.java
+++ b/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/vo/CouponVo.java
@@ -24,4 +24,10 @@
     private String couponDesc;
     @ApiModelProperty("过期时间")
     private String endTime;
+    @ApiModelProperty("不可用原因")
+    private String unavailable;
+    @ApiModelProperty("是否可叠加")
+    private String stackable;
+    @ApiModelProperty("生效规则")
+    private String effectAndInvalid;
 }
diff --git a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/operation/XpActicityClientFallbackFactory.java b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/operation/XpActicityClientFallbackFactory.java
index d84e8f6..06a7dca 100644
--- a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/operation/XpActicityClientFallbackFactory.java
+++ b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/operation/XpActicityClientFallbackFactory.java
@@ -1,6 +1,7 @@
 package com.xiaopeng.api.factory.operation;
 
 import com.xiaopeng.api.feignClient.operation.XpActicityClient;
+import com.xiaopeng.api.model.operation.XpActicityStrategy;
 import com.xiaopeng.common.core.domain.R;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.cloud.openfeign.FallbackFactory;
@@ -20,6 +21,12 @@
             public R<List<String>> findListToIds(String acticityName) {
                 return R.ok();
             }
+
+            @Override
+            public R<XpActicityStrategy> getXpActicityStrategy(Long activityId, Long couponId) {
+                log.error("获取活动策略失败" + cause.getMessage());
+                return R.fail("获取活动策略失败");
+            }
         };
     }
 
diff --git a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/operation/XpActicityClient.java b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/operation/XpActicityClient.java
index 7a071d8..ec6218d 100644
--- a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/operation/XpActicityClient.java
+++ b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/operation/XpActicityClient.java
@@ -2,6 +2,7 @@
 
 
 import com.xiaopeng.api.factory.operation.XpCouponClientFallbackFactory;
+import com.xiaopeng.api.model.operation.XpActicityStrategy;
 import com.xiaopeng.common.core.domain.R;
 import com.xiaopeng.common.core.dto.ServiceNameConstantsEnum;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -19,4 +20,16 @@
 
     @PostMapping("/logan/inner/acticity/findListToIds")
     R<List<String>> findListToIds(@RequestParam("acticityName") String acticityName);
+
+
+
+    /**
+     * 根据活动id和优惠券id获取活动策略
+     * @param activityId
+     * @param couponId
+     * @return
+     */
+    @PostMapping("/logan/inner/acticity/getXpActicityStrategy")
+    R<XpActicityStrategy> getXpActicityStrategy(@RequestParam("activityId") Long activityId, @RequestParam("couponId") Long couponId);
+
 }
diff --git a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpActicityCoupon.java b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpActicityCoupon.java
index d4a9b43..24d16c7 100644
--- a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpActicityCoupon.java
+++ b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpActicityCoupon.java
@@ -27,7 +27,7 @@
 @Accessors(chain = true)
 @TableName("xp_acticity_coupon")
 @ApiModel(value="XpActicityCoupon对象", description="活动优惠券")
-public class XpActicityCoupon extends BaseModel {
+public class XpActicityCoupon {
 
     private static final long serialVersionUID = 1L;
 
@@ -40,16 +40,7 @@
     @ApiModelProperty(value = "优惠券id")
     private Long couponId;
 
-    @ApiModelProperty(value = "奖励类型 1=注册 2=邀请")
-    private Integer rewardType;
-
-    @ApiModelProperty(value = "最高金额")
-    private BigDecimal highestAmount;
-
-    @ApiModelProperty(value = "有效期(天)")
-    private Integer validityPeriod;
-
-    @ApiModelProperty(value = "张数")
-    private Integer sheetsNumber;
+    @ApiModelProperty(value = "活动策略id")
+    private Long acticityStrategyId;
 
 }
diff --git a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpCruiseCheckInRuleServiceImpl.java b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpCruiseCheckInRuleServiceImpl.java
index c4d69be..ef1ea11 100644
--- a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpCruiseCheckInRuleServiceImpl.java
+++ b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpCruiseCheckInRuleServiceImpl.java
@@ -88,7 +88,8 @@
                 .eq(XpCruiseCheckInRuleLocation::getCruiseCheckInRuleId, xpCruiseCheckInRule.getId()));
         long count = xpCruiseCheckInRecordService.count(new LambdaQueryWrapper<XpCruiseCheckInRecord>()
                 .eq(XpCruiseCheckInRecord::getCruiseCheckInRuleId, xpCruiseCheckInRule.getId())
-                .eq(XpCruiseCheckInRecord::getDeleted, 0).eq(XpCruiseCheckInRecord::getOperationsUserId, uid));
+                .eq(XpCruiseCheckInRecord::getDeleted, 0).eq(XpCruiseCheckInRecord::getOperationsUserId, uid)
+                .last(" and DATE(check_in_time) = DATE(NOW())"));
         vo.setCheckInPointCount(count1);
         vo.setCheckInPointFinishCount(count);
         vo.setCheckInPointUnFinishCount(count1 - count);
diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpActicityController.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpActicityController.java
index ffcecf8..6852856 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpActicityController.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpActicityController.java
@@ -3,6 +3,7 @@
 
 import com.xiaopeng.api.dto.operation.XpActivityDto;
 import com.xiaopeng.api.model.operation.XpActicityCoupon;
+import com.xiaopeng.api.model.operation.XpActicityStrategy;
 import com.xiaopeng.api.model.operation.XpActivity;
 import com.xiaopeng.api.model.operation.XpCoupon;
 import com.xiaopeng.api.query.operation.XpActivityPageListQuery;
@@ -13,6 +14,7 @@
 import com.xiaopeng.common.core.web.page.PageInfo;
 import com.xiaopeng.operation.service.IXpActicityCouponService;
 import com.xiaopeng.operation.service.IXpActicityService;
+import com.xiaopeng.operation.service.IXpActicityStrategyService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
@@ -45,6 +47,12 @@
 
     @Resource
     private IXpActicityService service;
+
+    @Resource
+    private IXpActicityCouponService xpActicityCouponService;
+
+    @Resource
+    private IXpActicityStrategyService xpActicityStrategyService;
 
     /**
      * 获取所有白名单手机号
@@ -143,4 +151,18 @@
     }
 
 
+    /**
+     * 根据活动id和优惠券id获取活动策略
+     * @param activityId
+     * @param couponId
+     * @return
+     */
+    @PostMapping("/logan/inner/acticity/getXpActicityStrategy")
+    public R<XpActicityStrategy> getXpActicityStrategy(@RequestParam("activityId") Long activityId, @RequestParam("couponId") Long couponId){
+        XpActicityCoupon one = xpActicityCouponService.lambdaQuery().eq(XpActicityCoupon::getActivityId, activityId).eq(XpActicityCoupon::getCouponId, couponId).one();
+        if(one == null){
+            return R.ok();
+        }
+        return R.ok(xpActicityStrategyService.getById(one.getActicityStrategyId()));
+    }
 }

--
Gitblit v1.7.1