砍价购买问题兼容处理
This commit is contained in:
parent
603c1d6935
commit
771f9668ce
@ -1,13 +1,17 @@
|
||||
package cn.lili.modules.order.cart.render.impl;
|
||||
|
||||
import cn.lili.common.security.context.UserContext;
|
||||
import cn.lili.common.utils.CurrencyUtil;
|
||||
import cn.lili.modules.order.cart.entity.dto.TradeDTO;
|
||||
import cn.lili.modules.order.cart.entity.enums.CartTypeEnum;
|
||||
import cn.lili.modules.order.cart.entity.enums.RenderStepEnums;
|
||||
import cn.lili.modules.order.cart.entity.vo.CartSkuVO;
|
||||
import cn.lili.modules.order.cart.entity.vo.CartVO;
|
||||
import cn.lili.modules.order.cart.render.CartRenderStep;
|
||||
import cn.lili.modules.order.order.entity.dto.PriceDetailDTO;
|
||||
import cn.lili.modules.promotion.entity.enums.KanJiaStatusEnum;
|
||||
import cn.lili.modules.promotion.entity.vos.kanjia.KanjiaActivitySearchParams;
|
||||
import cn.lili.modules.promotion.entity.vos.kanjia.KanjiaActivityVO;
|
||||
import cn.lili.modules.promotion.service.KanjiaActivityService;
|
||||
import cn.lili.modules.promotion.service.PromotionGoodsService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -28,6 +32,9 @@ public class SkuPromotionRender implements CartRenderStep {
|
||||
@Autowired
|
||||
private PromotionGoodsService promotionGoodsService;
|
||||
|
||||
@Autowired
|
||||
private KanjiaActivityService kanjiaActivityService;
|
||||
|
||||
@Override
|
||||
public RenderStepEnums step() {
|
||||
return RenderStepEnums.SKU_PROMOTION;
|
||||
@ -70,11 +77,35 @@ public class SkuPromotionRender implements CartRenderStep {
|
||||
|
||||
switch (tradeDTO.getCartTypeEnum()) {
|
||||
case POINTS:
|
||||
//处理积分商品购买
|
||||
for (CartVO cartVO : tradeDTO.getCartList()) {
|
||||
for (CartSkuVO cartSkuVO : cartVO.getSkuList()) {
|
||||
cartSkuVO.getPriceDetailDTO().setPayPoint(cartSkuVO.getPoint());
|
||||
}
|
||||
}
|
||||
return;
|
||||
|
||||
|
||||
case KANJIA:
|
||||
for (CartVO cartVO : tradeDTO.getCartList()) {
|
||||
for (CartSkuVO cartSkuVO : cartVO.getSkuList()) {
|
||||
KanjiaActivitySearchParams kanjiaActivitySearchParams = new KanjiaActivitySearchParams();
|
||||
kanjiaActivitySearchParams.setGoodsSkuId(cartSkuVO.getGoodsSku().getId());
|
||||
kanjiaActivitySearchParams.setMemberId(UserContext.getCurrentUser().getId());
|
||||
kanjiaActivitySearchParams.setStatus(KanJiaStatusEnum.SUCCESS.name());
|
||||
KanjiaActivityVO kanjiaActivityVO = kanjiaActivityService.getKanjiaActivityVO(kanjiaActivitySearchParams);
|
||||
//可以砍价金额购买,则处理信息
|
||||
if (kanjiaActivityVO.getPass()) {
|
||||
cartSkuVO.setKanjiaId(kanjiaActivityVO.getId());
|
||||
cartSkuVO.setPurchasePrice(kanjiaActivityVO.getPurchasePrice());
|
||||
cartSkuVO.setSubTotal(kanjiaActivityVO.getPurchasePrice());
|
||||
cartSkuVO.getPriceDetailDTO().setGoodsPrice(kanjiaActivityVO.getPurchasePrice());
|
||||
}
|
||||
}
|
||||
}
|
||||
return;
|
||||
|
||||
case PINTUAN:
|
||||
case CART:
|
||||
case BUY_NOW:
|
||||
case VIRTUAL:
|
||||
@ -86,14 +117,6 @@ public class SkuPromotionRender implements CartRenderStep {
|
||||
return;
|
||||
default:
|
||||
}
|
||||
|
||||
//非积分商品、拼团、砍价商品可渲染满优惠活动
|
||||
//这里普通购物车也只渲染满优惠,其他优惠都是商品级别的,都写在商品属性里
|
||||
if (!tradeDTO.getCartTypeEnum().equals(CartTypeEnum.POINTS)
|
||||
&& !tradeDTO.getCartTypeEnum().equals(CartTypeEnum.PINTUAN)
|
||||
&& !tradeDTO.getCartTypeEnum().equals(CartTypeEnum.KANJIA)) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -29,14 +29,19 @@ public class KanjiaActivitySearchParams {
|
||||
@ApiModelProperty(value = "邀请活动ID,有值说明是被邀请人")
|
||||
private String kanjiaActivityId;
|
||||
|
||||
@ApiModelProperty(value = "规格商品ID" ,hidden = true)
|
||||
private String goodsSkuId;
|
||||
|
||||
|
||||
public <T> QueryWrapper<T> wrapper() {
|
||||
QueryWrapper<T> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq(StrUtil.isNotEmpty(id), "id", id);
|
||||
|
||||
queryWrapper.eq(StrUtil.isNotEmpty(kanjiaActivityId), "id", kanjiaActivityId);
|
||||
queryWrapper.eq(StrUtil.isNotEmpty(kanjiaActivityGoodsId), "kanjia_activity_goods_id", kanjiaActivityGoodsId);
|
||||
queryWrapper.eq(StrUtil.isNotEmpty(goodsSkuId), "sku_id", goodsSkuId);
|
||||
queryWrapper.eq(StrUtil.isNotEmpty(memberId), "member_id", memberId);
|
||||
queryWrapper.eq(StrUtil.isNotEmpty(status), "status", status);
|
||||
return queryWrapper;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -73,20 +73,18 @@ public class KanjiaActivityServiceImpl extends ServiceImpl<KanJiaActivityMapper,
|
||||
BeanUtil.copyProperties(kanjiaActivity, kanjiaActivityVO);
|
||||
|
||||
//判断是否发起了砍价活动,如果发起可参与活动
|
||||
if (kanjiaActivity != null) {
|
||||
kanjiaActivityVO.setLaunch(true);
|
||||
//如果已发起砍价判断用户是否可以砍价
|
||||
KanjiaActivityLog kanjiaActivityLog = kanjiaActivityLogService.getOne(new LambdaQueryWrapper<KanjiaActivityLog>()
|
||||
.eq(KanjiaActivityLog::getKanjiaActivityId, kanjiaActivity.getId())
|
||||
.eq(KanjiaActivityLog::getKanjiaMemberId, UserContext.getCurrentUser().getId()));
|
||||
if (kanjiaActivityLog == null) {
|
||||
kanjiaActivityVO.setHelp(true);
|
||||
}
|
||||
//判断活动已通过并且是当前用户发起的砍价则可以进行购买
|
||||
if (kanjiaActivity.getStatus().equals(KanJiaStatusEnum.SUCCESS.name()) &&
|
||||
kanjiaActivity.getMemberId().equals(UserContext.getCurrentUser().getId())) {
|
||||
kanjiaActivityVO.setPass(true);
|
||||
}
|
||||
kanjiaActivityVO.setLaunch(true);
|
||||
//如果已发起砍价判断用户是否可以砍价
|
||||
KanjiaActivityLog kanjiaActivityLog = kanjiaActivityLogService.getOne(new LambdaQueryWrapper<KanjiaActivityLog>()
|
||||
.eq(KanjiaActivityLog::getKanjiaActivityId, kanjiaActivity.getId())
|
||||
.eq(KanjiaActivityLog::getKanjiaMemberId, UserContext.getCurrentUser().getId()));
|
||||
if (kanjiaActivityLog == null) {
|
||||
kanjiaActivityVO.setHelp(true);
|
||||
}
|
||||
//判断活动已通过并且是当前用户发起的砍价则可以进行购买
|
||||
if (kanjiaActivity.getStatus().equals(KanJiaStatusEnum.SUCCESS.name()) &&
|
||||
kanjiaActivity.getMemberId().equals(UserContext.getCurrentUser().getId())) {
|
||||
kanjiaActivityVO.setPass(true);
|
||||
}
|
||||
return kanjiaActivityVO;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user