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