|
|
@@ -217,7 +217,7 @@ public class CouponCommonServiceImpl implements CouponCommonService {
|
|
|
if (coupon.getGoodsType() == Coupon.GoodsType.virtualGoods) {
|
|
|
List<Long> skuIds = goodsSkuList.stream().map(Coupon.CouponGoodsSku::getSkuId).collect(Collectors.toList());
|
|
|
skuIds.forEach(skuId->{
|
|
|
- GoodsDonSku sku = goodsDonSkuMapper.selectOne(Wrappers.lambdaQuery(GoodsDonSku.class).in(GoodsDonSku::getId, skuId).select(GoodsDonSku::getPrice).last("limit 1"));
|
|
|
+ GoodsDonSku sku = goodsDonSkuMapper.selectOne(Wrappers.lambdaQuery(GoodsDonSku.class).eq(GoodsDonSku::getId, skuId).select(GoodsDonSku::getPrice).last("limit 1"));
|
|
|
if (sku == null) {
|
|
|
throw BusinessRuntimeException.getInstance("所选规格不存在");
|
|
|
}
|
|
|
@@ -228,10 +228,13 @@ public class CouponCommonServiceImpl implements CouponCommonService {
|
|
|
}else {
|
|
|
List<Long> goodsIds = goodsSkuList.stream().map(Coupon.CouponGoodsSku::getGoodsId).collect(Collectors.toList());
|
|
|
goodsIds.forEach(goodsId->{
|
|
|
- GoodsDon goodsDon = goodsDonMapper.selectOne(Wrappers.lambdaQuery(GoodsDon.class).in(GoodsDon::getId, goodsId).eq(GoodsDon::getType, 2).select(GoodsDon::getId).last("limit 1"));
|
|
|
- if (goodsDon == null) {
|
|
|
+ BigDecimal price = goodsDonMapper.selectMinPriceSkuByGoodsId(goodsId);
|
|
|
+ if (price == null) {
|
|
|
throw BusinessRuntimeException.getInstance("实物商品不存在");
|
|
|
}
|
|
|
+ if (coupon.getReduceMoney().compareTo(price) > 0) {
|
|
|
+ throw BusinessRuntimeException.getInstance("可减金额必须小于实物最小规格金额");
|
|
|
+ }
|
|
|
});
|
|
|
}
|
|
|
if (coupon.getIsValidTime()) {
|