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{ 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())); } }