diff --git a/framework/src/main/java/cn/lili/common/enums/ResultCode.java b/framework/src/main/java/cn/lili/common/enums/ResultCode.java index e6d82ad5..5ac32ded 100644 --- a/framework/src/main/java/cn/lili/common/enums/ResultCode.java +++ b/framework/src/main/java/cn/lili/common/enums/ResultCode.java @@ -241,6 +241,7 @@ public enum ResultCode { PROMOTION_UPDATE_ERROR(40008,"当前活动已开始/结束,无法编辑!"), PROMOTION_ACTIVITY_GOODS_ERROR(40009,"当前活动已经开始无法添加商品"), PROMOTION_ACTIVITY_ERROR(40009,"当前促销活动不存在"), + PROMOTION_LOG_EXIST(40010,"活动已参加,已发重复参加"), /** * 优惠券 @@ -339,6 +340,8 @@ public enum ResultCode { KANJIA_ACTIVITY_NOT_FOUND_ERROR(48008, "砍价记录不存在"), KANJIA_ACTIVITY_LOG_MEMBER_ERROR(48009, "当前会员已经帮砍"), KANJIA_ACTIVITY_MEMBER_ERROR(48010, "当前会员已经发起此砍价商品活动"), + KANJIA_ACTIVITY_NOT_PASS_ERROR(48011, "当前砍价未满足条件,不能进行购买"), + KANJIA_NUM_BUY_ERROR(48012, "砍价商品购买数量不正确"), /** * 店铺 */ diff --git a/framework/src/main/java/cn/lili/modules/order/cart/entity/enums/CartTypeEnum.java b/framework/src/main/java/cn/lili/modules/order/cart/entity/enums/CartTypeEnum.java index bdc11c9d..d1aee55a 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/entity/enums/CartTypeEnum.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/entity/enums/CartTypeEnum.java @@ -27,6 +27,10 @@ public enum CartTypeEnum { /** * 虚拟商品 */ - VIRTUAL; + VIRTUAL, + /** + * 砍价商品 + */ + KANJIA; } diff --git a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CheckDataRender.java b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CheckDataRender.java index 47164879..618737eb 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CheckDataRender.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CheckDataRender.java @@ -10,6 +10,7 @@ import cn.lili.modules.goods.entity.enums.GoodsAuthEnum; import cn.lili.modules.goods.entity.enums.GoodsStatusEnum; import cn.lili.modules.goods.service.GoodsSkuService; 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.DeliveryMethodEnum; import cn.lili.modules.order.cart.entity.vo.CartSkuVO; import cn.lili.modules.order.cart.entity.vo.CartVO; @@ -42,13 +43,15 @@ public class CheckDataRender implements CartRenderStep { @Override public void render(TradeDTO tradeDTO) { - //校验商品有效性 - checkData(tradeDTO); - //店铺分组数据初始化 - groupStore(tradeDTO); //预校验 preCalibration(tradeDTO); + //校验商品有效性 + checkData(tradeDTO); + + //店铺分组数据初始化 + groupStore(tradeDTO); + } /** @@ -125,15 +128,22 @@ public class CheckDataRender implements CartRenderStep { * @param tradeDTO */ private void preCalibration(TradeDTO tradeDTO) { - //拼团判定,不能参与自己创建的拼团 - if (tradeDTO.getParentOrderSn() != null) { - //订单接受 - cn.lili.modules.order.order.entity.dos.Order parentOrder = orderService.getBySn(tradeDTO.getParentOrderSn()); - //参与活动判定 - if (parentOrder.getMemberId().equals(UserContext.getCurrentUser().getId())) { - throw new ServiceException(ResultCode.PINTUAN_JOIN_ERROR); + + //拼团订单预校验 + if(tradeDTO.getCartTypeEnum().equals(CartTypeEnum.PINTUAN)){ + //拼团判定,不能参与自己创建的拼团 + if (tradeDTO.getParentOrderSn() != null) { + //订单接受 + cn.lili.modules.order.order.entity.dos.Order parentOrder = orderService.getBySn(tradeDTO.getParentOrderSn()); + //参与活动判定 + if (parentOrder.getMemberId().equals(UserContext.getCurrentUser().getId())) { + throw new ServiceException(ResultCode.PINTUAN_JOIN_ERROR); + } } + }else if(tradeDTO.getCartTypeEnum().equals(CartTypeEnum.KANJIA)){ + } + } } diff --git a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/SkuPromotionRender.java b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/SkuPromotionRender.java index 45524d73..ab9bc9a0 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/SkuPromotionRender.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/SkuPromotionRender.java @@ -70,7 +70,7 @@ public class SkuPromotionRender implements CartRenderStep { /** - * 渲染单品优惠 积分/拼团/秒杀 + * 渲染单品优惠 积分/拼团/秒杀/砍价 * * @param tradeDTO 购物车视图 */ diff --git a/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java index a3c1b50a..b1688352 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java @@ -23,16 +23,16 @@ import cn.lili.modules.order.cart.entity.vo.TradeParams; import cn.lili.modules.order.cart.render.TradeBuilder; import cn.lili.modules.order.order.entity.dos.Trade; import cn.lili.modules.order.order.entity.vo.ReceiptVO; +import cn.lili.modules.promotion.entity.dos.KanjiaActivity; import cn.lili.modules.promotion.entity.dos.MemberCoupon; import cn.lili.modules.promotion.entity.dos.Pintuan; import cn.lili.modules.promotion.entity.dos.PromotionGoods; import cn.lili.modules.promotion.entity.enums.CouponScopeTypeEnum; +import cn.lili.modules.promotion.entity.enums.KanJiaStatusEnum; import cn.lili.modules.promotion.entity.enums.MemberCouponStatusEnum; import cn.lili.modules.promotion.entity.enums.PromotionTypeEnum; -import cn.lili.modules.promotion.service.MemberAddressService; -import cn.lili.modules.promotion.service.MemberCouponService; -import cn.lili.modules.promotion.service.PintuanService; -import cn.lili.modules.promotion.service.PromotionGoodsService; +import cn.lili.modules.promotion.entity.vos.KanjiaActivitySearchParams; +import cn.lili.modules.promotion.service.*; import cn.lili.modules.search.entity.dos.EsGoodsIndex; import cn.lili.modules.search.service.EsGoodsSearchService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -93,6 +93,11 @@ public class CartServiceImpl implements CartService { */ @Autowired private PintuanService pintuanService; + /** + * 砍价 + */ + @Autowired + private KanjiaActivityService kanjiaActivityService; /** * 交易 */ @@ -147,32 +152,26 @@ public class CartServiceImpl implements CartService { CartSkuVO cartSkuVO = new CartSkuVO(dataSku); cartSkuVO.setCartType(cartTypeEnum); promotionGoodsService.updatePromotion(cartSkuVO); - //再设置加入购物车的数量 - this.checkSetGoodsQuantity(cartSkuVO, skuId, num); - - //拼团判定 - checkPintuan(cartTypeEnum, cartSkuVO); - + //检测购物车数据 + checkCart(cartTypeEnum, cartSkuVO, skuId, num); //计算购物车小计 cartSkuVO.setSubTotal(CurrencyUtil.mul(cartSkuVO.getPurchasePrice(), cartSkuVO.getNum())); cartSkuVOS.add(cartSkuVO); } - tradeDTO.setCartTypeEnum(cartTypeEnum); //如购物车发生更改,则重置优惠券 tradeDTO.setStoreCoupons(null); tradeDTO.setPlatformCoupon(null); this.resetTradeDTO(tradeDTO); - } catch (ServiceException se) { - throw se; + } catch (ServiceException serviceException) { + throw serviceException; } catch (Exception e) { log.error("购物车渲染异常", e); throw new ServiceException(errorMessage); } } - @Override public void updateNum(String skuId, int num) { try { @@ -637,32 +636,80 @@ public class CartServiceImpl implements CartService { } /** - * 校验拼团信息 + * 检测购物车 * * @param cartTypeEnum 购物车枚举 - * @param cartSkuVO 购物车信息 + * @param cartSkuVO SKUVO + * @param skuId SkuId + * @param num 数量 */ - private void checkPintuan(CartTypeEnum cartTypeEnum, CartSkuVO cartSkuVO) { - - //拼团活动的话,需要对限购数量进行判定 + private void checkCart(CartTypeEnum cartTypeEnum, CartSkuVO cartSkuVO, String skuId, Integer num) { + //拼团判定 if (cartTypeEnum.equals(CartTypeEnum.PINTUAN)) { - //获取拼团信息 - List currentPromotion = cartSkuVO.getPromotions().stream().filter( - promotionGoods -> (promotionGoods.getPromotionType().equals(PromotionTypeEnum.PINTUAN.name()))) - .collect(Collectors.toList()); - //拼团活动判定 - if (!currentPromotion.isEmpty()) { - //写入拼团信息 - cartSkuVO.setPintuanId(currentPromotion.get(0).getPromotionId()); - } else { - throw new ServiceException(ResultCode.CART_PINTUAN_NOT_EXIST_ERROR); - } + checkPintuan(cartSkuVO); + //砍价判定 + } else if (cartTypeEnum.equals(CartTypeEnum.KANJIA)) { + checkKanjia(cartSkuVO); + //检测购物车的数量 + } else { + this.checkSetGoodsQuantity(cartSkuVO, skuId, num); + } - Pintuan pintuan = pintuanService.getPintuanById(cartSkuVO.getPintuanId()); - Integer limitNum = pintuan.getLimitNum(); - if (limitNum != 0 && cartSkuVO.getNum() > limitNum) { - throw new ServiceException(ResultCode.CART_PINTUAN_LIMIT_ERROR); - } + } + + /** + * 校验拼团信息 + * + * @param cartSkuVO 购物车信息 + */ + private void checkPintuan(CartSkuVO cartSkuVO) { + + //拼团活动,需要对限购数量进行判定 + //获取拼团信息 + List currentPromotion = cartSkuVO.getPromotions().stream().filter( + promotionGoods -> (promotionGoods.getPromotionType().equals(PromotionTypeEnum.PINTUAN.name()))) + .collect(Collectors.toList()); + //拼团活动判定 + if (!currentPromotion.isEmpty()) { + //写入拼团信息 + cartSkuVO.setPintuanId(currentPromotion.get(0).getPromotionId()); + } else { + throw new ServiceException(ResultCode.CART_PINTUAN_NOT_EXIST_ERROR); + } + //检测拼团限购数量 + Pintuan pintuan = pintuanService.getPintuanById(cartSkuVO.getPintuanId()); + Integer limitNum = pintuan.getLimitNum(); + if (limitNum != 0 && cartSkuVO.getNum() > limitNum) { + throw new ServiceException(ResultCode.CART_PINTUAN_LIMIT_ERROR); + } + } + + /** + * 校验砍价信息 + * + * @param cartSkuVO 购物车信息 + */ + private void checkKanjia(CartSkuVO cartSkuVO) { + + List currentPromotion = cartSkuVO.getPromotions().stream().filter( + promotionGoods -> (promotionGoods.getPromotionType().equals(PromotionTypeEnum.PINTUAN.name()))) + .collect(Collectors.toList()); + + //校验砍价活动是否满足条件 + KanjiaActivitySearchParams kanjiaActivitySearchParams = new KanjiaActivitySearchParams(); + kanjiaActivitySearchParams.setKanjiaActivityGoodsId(currentPromotion.get(0).getSkuId()); + kanjiaActivitySearchParams.setMemberId(UserContext.getCurrentUser().getId()); + KanjiaActivity kanjiaActivity = kanjiaActivityService.getKanjiaActivity(kanjiaActivitySearchParams); + + //判断发起砍价活动 + if (kanjiaActivity == null) { + throw new ServiceException(ResultCode.KANJIA_ACTIVITY_NOT_FOUND_ERROR); + //判断砍价活动是否已满足条件 + } else if (!KanJiaStatusEnum.PASS.name().equals(kanjiaActivity.getStatus())) { + throw new ServiceException(ResultCode.KANJIA_ACTIVITY_NOT_PASS_ERROR); + //判断砍价商品数量 + } else if (cartSkuVO.getNum() > 1) { + throw new ServiceException(ResultCode.KANJIA_NUM_BUY_ERROR); } } } diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/dos/KanjiaActivity.java b/framework/src/main/java/cn/lili/modules/promotion/entity/dos/KanjiaActivity.java index e355af54..ecd4d9e5 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/dos/KanjiaActivity.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/dos/KanjiaActivity.java @@ -1,6 +1,7 @@ package cn.lili.modules.promotion.entity.dos; import cn.lili.base.BaseEntity; +import cn.lili.modules.promotion.entity.enums.KanJiaStatusEnum; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -46,6 +47,9 @@ public class KanjiaActivity extends BaseEntity { @ApiModelProperty(value = "缩略图") private String thumbnail; + /** + * @see KanJiaStatusEnum + */ @ApiModelProperty(value = "我的砍价状态") private String status; diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/dto/KanJiaActivityLogQuery.java b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/KanJiaActivityLogQuery.java index afeede37..2e4dc1fa 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/dto/KanJiaActivityLogQuery.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/KanJiaActivityLogQuery.java @@ -30,10 +30,10 @@ public class KanJiaActivityLogQuery { QueryWrapper queryWrapper = new QueryWrapper<>(); if (CharSequenceUtil.isNotEmpty(kanJiaActivityId)) { - queryWrapper.like("kan_jia_activity_id", kanJiaActivityId); + queryWrapper.like("kanjia_activity_id", kanJiaActivityId); } if (memberId != null) { - queryWrapper.eq("kan_jia_member_id", memberId); + queryWrapper.eq("kanjia_member_id", memberId); } queryWrapper.eq("delete_flag", false); queryWrapper.orderByDesc("create_time"); diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/enums/KanJiaStatusEnum.java b/framework/src/main/java/cn/lili/modules/promotion/entity/enums/KanJiaStatusEnum.java index 322d9ad2..0d5641bd 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/enums/KanJiaStatusEnum.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/enums/KanJiaStatusEnum.java @@ -8,7 +8,22 @@ package cn.lili.modules.promotion.entity.enums; */ public enum KanJiaStatusEnum { - START("开始"), FAIL("失败"), SUCCESS("成功"); + /** + * 已开始 + */ + START("开始"), + /** + * 砍价失败 + */ + FAIL("失败"), + /** + * 砍价成功 + */ + SUCCESS("成功"), + /** + * 砍价活动结束 + */ + END("已结束"); private final String description; diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/KanjiaActivityGoodsListVO.java b/framework/src/main/java/cn/lili/modules/promotion/entity/vos/KanjiaActivityGoodsListVO.java index 29c5ba49..5ae391d3 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/KanjiaActivityGoodsListVO.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/vos/KanjiaActivityGoodsListVO.java @@ -12,8 +12,8 @@ import lombok.Data; @Data public class KanjiaActivityGoodsListVO { - @ApiModelProperty(value = "货品id") - private String skuId; + @ApiModelProperty(value = "砍价活动商品id") + private String id; @ApiModelProperty(value = "货品名称") private String goodsName; diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/KanjiaActivitySearchParams.java b/framework/src/main/java/cn/lili/modules/promotion/entity/vos/KanjiaActivitySearchParams.java index d60513ee..de790065 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/KanjiaActivitySearchParams.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/vos/KanjiaActivitySearchParams.java @@ -34,9 +34,9 @@ public class KanjiaActivitySearchParams { QueryWrapper 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(kanjiaActivityGoodsId), "kanjia_activity_goods_id", kanjiaActivityGoodsId); queryWrapper.eq(StrUtil.isNotEmpty(memberId), "member_id", memberId); queryWrapper.eq(StrUtil.isNotEmpty(status), "status", status); - return wrapper(); + return queryWrapper; } } diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityLogServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityLogServiceImpl.java index dada60d4..983be0f4 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityLogServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityLogServiceImpl.java @@ -51,8 +51,8 @@ public class KanjiaActivityLogServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); - queryWrapper.eq(kanjiaActivityDTO.getKanjiaMemberId() != null, "kan_jia_member_id", kanjiaActivityDTO.getKanjiaMemberId()); - queryWrapper.eq(kanjiaActivityDTO.getKanjiaActivityId() != null, "kan_jia_activity_id", kanjiaActivityDTO.getKanjiaActivityId()); + queryWrapper.eq(kanjiaActivityDTO.getKanjiaMemberId() != null, "kanjia_member_id", kanjiaActivityDTO.getKanjiaMemberId()); + queryWrapper.eq(kanjiaActivityDTO.getKanjiaActivityId() != null, "kanjia_activity_id", kanjiaActivityDTO.getKanjiaActivityId()); Integer count = this.baseMapper.selectCount(queryWrapper); if (count > 0) { throw new ServiceException(ResultCode.KANJIA_ACTIVITY_LOG_MEMBER_ERROR); diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityServiceImpl.java index 268d4320..6b087c15 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityServiceImpl.java @@ -1,6 +1,8 @@ package cn.lili.modules.promotion.serviceimpl; +import cn.hutool.core.convert.Convert; +import cn.hutool.core.util.RandomUtil; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; import cn.lili.common.security.context.UserContext; @@ -23,6 +25,7 @@ import cn.lili.modules.promotion.mapper.KanJiaActivityMapper; import cn.lili.modules.promotion.service.KanjiaActivityGoodsService; import cn.lili.modules.promotion.service.KanjiaActivityLogService; import cn.lili.modules.promotion.service.KanjiaActivityService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -30,6 +33,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; + /** * 砍价活动参与记录业务层实现 @@ -65,7 +70,7 @@ public class KanjiaActivityServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("kan_jia_activity_goods_id", kanJiaActivityGoods.getId()); + queryWrapper.eq("kanjia_activity_goods_id", kanJiaActivityGoods.getId()); queryWrapper.eq("member_id", member.getId()); if (this.count(queryWrapper) > 0) { throw new ServiceException(ResultCode.KANJIA_ACTIVITY_MEMBER_ERROR); @@ -81,27 +86,14 @@ public class KanjiaActivityServiceImpl extends ServiceImpl() + .eq(KanjiaActivityLog::getKanjiaActivityId, kanjiaActivityId) + .eq(KanjiaActivityLog::getKanjiaMemberId, member.getId()); + if (kanjiaActivityLogService.count(lambdaQueryWrapper) > 0) { + throw new ServiceException(ResultCode.PROMOTION_LOG_EXIST); + } + + //添加砍价记录 + KanjiaActivityDTO kanjiaActivityDTO = new KanjiaActivityDTO(); + kanjiaActivityDTO.setKanjiaActivityGoodsId(kanjiaActivity.getKanjiaActivityGoodsId()); + kanjiaActivityDTO.setKanjiaActivityId(kanjiaActivityId); + //获取砍价金额 + Double price = this.getKanjiaPrice(kanJiaActivityGoods, kanjiaActivity.getSurplusPrice()); + kanjiaActivityDTO.setKanjiaPrice(price); + //计算剩余金额 + kanjiaActivityDTO.setSurplusPrice(CurrencyUtil.sub(kanjiaActivity.getSurplusPrice(), price)); + kanjiaActivityDTO.setKanjiaMemberId(member.getId()); + kanjiaActivityDTO.setKanjiaMemberName(member.getUsername()); + kanjiaActivityDTO.setKanjiaMemberFace(member.getFace()); + KanjiaActivityLog kanjiaActivityLog = kanjiaActivityLogService.addKanJiaActivityLog(kanjiaActivityDTO); + + //如果可砍金额为0的话说明活动成功了 + if (Double.doubleToLongBits(kanjiaActivityDTO.getSurplusPrice()) == Double.doubleToLongBits(0D)) { + kanjiaActivity.setStatus(KanJiaStatusEnum.SUCCESS.name()); + } + kanjiaActivity.setSurplusPrice(kanjiaActivityLog.getSurplusPrice()); + this.updateById(kanjiaActivity); + return kanjiaActivityLog; } + /** * 随机获取砍一刀价格 * @@ -153,24 +158,16 @@ public class KanjiaActivityServiceImpl extends ServiceImpl surplusPrice) { return surplusPrice; } - Double price = 0D; - while (true) { - price = CurrencyUtil.round(num + kanjiaActivityGoods.getLowestPrice(), 2); - //从最大金额和最小金额之间获取随机砍价金额 - if (price < surplusPrice) { - break; - } else { - price = surplusPrice; - break; - } - } - return price; + + //获取随机砍价金额 + BigDecimal bigDecimal = RandomUtil.randomBigDecimal(Convert.toBigDecimal(kanjiaActivityGoods.getHighestPrice()), + Convert.toBigDecimal(kanjiaActivityGoods.getLowestPrice())); + return Convert.toDouble(bigDecimal, 0.0); } diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionGoodsServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionGoodsServiceImpl.java index 470dffb8..48d4236a 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionGoodsServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionGoodsServiceImpl.java @@ -17,7 +17,6 @@ import cn.lili.modules.goods.entity.enums.GoodsStatusEnum; import cn.lili.modules.goods.service.GoodsSkuService; import cn.lili.modules.order.cart.entity.vo.CartSkuVO; import cn.lili.modules.order.cart.entity.vo.FullDiscountVO; -import cn.lili.modules.promotion.entity.dos.PointsGoods; import cn.lili.modules.promotion.entity.dos.PromotionGoods; import cn.lili.modules.promotion.entity.dos.SeckillApply; import cn.lili.modules.promotion.entity.dto.BasePromotion; @@ -123,10 +122,14 @@ public class PromotionGoodsServiceImpl extends ServiceImpl