es中商品索引信息,以及虚拟商品会携带大量优惠券信息下单问题处理
This commit is contained in:
parent
e5f725cf16
commit
1db86f2865
@ -116,7 +116,6 @@ public class SkuPromotionRender implements CartRenderStep {
|
||||
return;
|
||||
case CART:
|
||||
case BUY_NOW:
|
||||
return;
|
||||
case VIRTUAL:
|
||||
//循环购物车
|
||||
for (CartVO cartVO : tradeDTO.getCartList()) {
|
||||
@ -124,10 +123,10 @@ public class SkuPromotionRender implements CartRenderStep {
|
||||
for (CartSkuVO cartSkuVO : cartVO.getCheckedSkuList()) {
|
||||
//赋予商品促销信息
|
||||
for (Map.Entry<String, Object> entry : cartSkuVO.getPromotionMap().entrySet()) {
|
||||
// 忽略拼团活动
|
||||
if (entry.getKey().contains(PromotionTypeEnum.PINTUAN.name())) {
|
||||
if (ignorePromotion(entry.getKey())) {
|
||||
continue;
|
||||
}
|
||||
|
||||
BasePromotions basePromotions = (BasePromotions) entry.getValue();
|
||||
PromotionSkuVO promotionSkuVO = new PromotionSkuVO(entry.getKey().split("-")[0], basePromotions.getId());
|
||||
cartSkuVO.setSubTotal(CurrencyUtil.mul(cartSkuVO.getPurchasePrice(), cartSkuVO.getNum()));
|
||||
@ -142,5 +141,19 @@ public class SkuPromotionRender implements CartRenderStep {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 购物车促销类型
|
||||
*/
|
||||
private Boolean ignorePromotion(String promotionKey) {
|
||||
|
||||
// 忽略积分活动活动 忽略砍价活动 忽略优惠券活动 忽略拼团活动
|
||||
if (promotionKey.contains(PromotionTypeEnum.POINTS_GOODS.name())
|
||||
|| promotionKey.contains(PromotionTypeEnum.KANJIA.name())
|
||||
|| promotionKey.contains(PromotionTypeEnum.COUPON.name())
|
||||
|| promotionKey.contains(PromotionTypeEnum.PINTUAN.name())) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -66,6 +66,7 @@ public class CouponSearchParams extends BasePromotionsSearchParams implements Se
|
||||
@ApiModelProperty(value = "会员优惠券状态")
|
||||
private String memberCouponStatus;
|
||||
|
||||
|
||||
@Override
|
||||
public <T> QueryWrapper<T> queryWrapper() {
|
||||
QueryWrapper<T> queryWrapper = new QueryWrapper<>();
|
||||
@ -96,12 +97,11 @@ public class CouponSearchParams extends BasePromotionsSearchParams implements Se
|
||||
if (CharSequenceUtil.isNotEmpty(this.getPromotionStatus())) {
|
||||
switch (PromotionsStatusEnum.valueOf(this.getPromotionStatus())) {
|
||||
case NEW:
|
||||
queryWrapper.nested(i -> i.gt(PromotionTools.START_TIME_COLUMN, new Date()).gt(PromotionTools.END_TIME_COLUMN, new Date()))
|
||||
;
|
||||
queryWrapper.nested(i -> i.gt(PromotionTools.START_TIME_COLUMN, new Date()).gt(PromotionTools.END_TIME_COLUMN, new Date()));
|
||||
break;
|
||||
case START:
|
||||
queryWrapper.nested(i -> i.le(PromotionTools.START_TIME_COLUMN, new Date()).ge(PromotionTools.END_TIME_COLUMN, new Date()))
|
||||
.or(i -> i.gt("effective_days", 0).eq(RANGE_DAY_TYPE_COLUMN, CouponRangeDayEnum.DYNAMICTIME.name()));
|
||||
queryWrapper.nested(i -> i.le(PromotionTools.START_TIME_COLUMN, new Date()).ge(PromotionTools.END_TIME_COLUMN, new Date()));
|
||||
// .or(i -> i.gt("effective_days", 0).eq(RANGE_DAY_TYPE_COLUMN, CouponRangeDayEnum.DYNAMICTIME.name()));
|
||||
break;
|
||||
case END:
|
||||
queryWrapper.nested(i -> i.lt(PromotionTools.START_TIME_COLUMN, new Date()).lt(PromotionTools.END_TIME_COLUMN, new Date()));
|
||||
|
@ -2,6 +2,7 @@ package cn.lili.modules.promotion.serviceimpl;
|
||||
|
||||
import cn.lili.common.enums.PromotionTypeEnum;
|
||||
import cn.lili.modules.promotion.entity.dos.*;
|
||||
import cn.lili.modules.promotion.entity.enums.CouponGetEnum;
|
||||
import cn.lili.modules.promotion.entity.enums.PromotionsScopeTypeEnum;
|
||||
import cn.lili.modules.promotion.entity.enums.PromotionsStatusEnum;
|
||||
import cn.lili.modules.promotion.entity.vos.*;
|
||||
@ -125,6 +126,7 @@ public class PromotionServiceImpl implements PromotionService {
|
||||
CouponSearchParams couponSearchParams = new CouponSearchParams();
|
||||
couponSearchParams.setScopeType(PromotionsScopeTypeEnum.ALL.name());
|
||||
couponSearchParams.setPromotionStatus(PromotionsStatusEnum.START.name());
|
||||
couponSearchParams.setGetType(CouponGetEnum.FREE.name());
|
||||
List<Coupon> couponVOS = this.couponService.listFindAll(couponSearchParams);
|
||||
for (Coupon coupon : couponVOS) {
|
||||
if (("platform").equals(coupon.getStoreId()) || index.getStoreId().equals(coupon.getStoreId())) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user