puzhibing
2026-04-24 54f2bccf6d03462f7574e63013ddda553a045806
修改bug
7个文件已修改
86 ■■■■■ 已修改文件
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpAppUserCouponServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/vo/CouponVo.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/operation/XpActicityClientFallbackFactory.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/operation/XpActicityClient.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpActicityCoupon.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpCruiseCheckInRuleServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpActicityController.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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
@@ -514,6 +519,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());
@@ -522,6 +529,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{
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;
}
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("获取活动策略失败");
            }
        };
    }
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);
}
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;
}
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);
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()));
    }
}