数量扣减
This commit is contained in:
@@ -90,7 +90,7 @@ public class MkPointsGoodsServiceImpl extends ServiceImpl<MkPointsGoodsMapper, M
|
|||||||
.eq(MkPointsGoodsRecord::getUserId, userId)
|
.eq(MkPointsGoodsRecord::getUserId, userId)
|
||||||
.eq(MkPointsGoodsRecord::getShopId, shopId)
|
.eq(MkPointsGoodsRecord::getShopId, shopId)
|
||||||
.orderBy(MkPointsGoodsRecord::getCreateTime, false);
|
.orderBy(MkPointsGoodsRecord::getCreateTime, false);
|
||||||
if (status != null) {
|
if (StrUtil.isNotBlank(status)) {
|
||||||
if ("售后".equals(status)) {
|
if ("售后".equals(status)) {
|
||||||
queryWrapper.and(wrapper -> {
|
queryWrapper.and(wrapper -> {
|
||||||
wrapper.eq(MkPointsGoodsRecord::getStatus, "退款中").or(MkPointsGoodsRecord::getStatus).eq("已退款");
|
wrapper.eq(MkPointsGoodsRecord::getStatus, "退款中").or(MkPointsGoodsRecord::getStatus).eq("已退款");
|
||||||
|
|||||||
@@ -63,6 +63,9 @@ public class PointsGoodPayServiceImpl implements PointsGoodPayService {
|
|||||||
if (goods.getStatus() != 1) {
|
if (goods.getStatus() != 1) {
|
||||||
throw new CzgException("兑换失败,商品已下架");
|
throw new CzgException("兑换失败,商品已下架");
|
||||||
}
|
}
|
||||||
|
if (goods.getQuantity() <= 0) {
|
||||||
|
throw new CzgException("兑换失败,商品库存不足");
|
||||||
|
}
|
||||||
Integer boughtCount = goodsRecordService.getOneAs(QueryWrapper.create().select("sum(number)")
|
Integer boughtCount = goodsRecordService.getOneAs(QueryWrapper.create().select("sum(number)")
|
||||||
.eq(MkPointsGoodsRecord::getPointsGoodsId, param.getPointsGoodsId())
|
.eq(MkPointsGoodsRecord::getPointsGoodsId, param.getPointsGoodsId())
|
||||||
.ne(MkPointsGoodsRecord::getStatus, "已退款")
|
.ne(MkPointsGoodsRecord::getStatus, "已退款")
|
||||||
@@ -177,16 +180,20 @@ public class PointsGoodPayServiceImpl implements PointsGoodPayService {
|
|||||||
.setShopUserId(record.getShopUserId())
|
.setShopUserId(record.getShopUserId())
|
||||||
.setSource("积分兑换");
|
.setSource("积分兑换");
|
||||||
couponRecordService.receiveCoupon(giftDTO, record.getNumber(), false);
|
couponRecordService.receiveCoupon(giftDTO, record.getNumber(), false);
|
||||||
|
goodsService.upNumberById(goods.getId(), goods.getQuantity() - record.getNumber(), goods.getTotalExchangeCount() + record.getNumber());
|
||||||
|
//扣除积分
|
||||||
|
pointsUserService.alterPoints(record.getUserId(), null, record.getShopId(), PointsConstant.SUB,
|
||||||
|
record.getSpendPoints(), record.getId(), "积分商品兑换");
|
||||||
return record;
|
return record;
|
||||||
} else {
|
} else {
|
||||||
record.setStatus("待核销");
|
record.setStatus("待核销");
|
||||||
record.setCouponCode(RandomUtil.randomNumbers(12));
|
record.setCouponCode(RandomUtil.randomNumbers(12));
|
||||||
|
goodsRecordService.save(record);
|
||||||
|
goodsService.upNumberById(goods.getId(), goods.getQuantity() - record.getNumber(), goods.getTotalExchangeCount() + record.getNumber());
|
||||||
|
//扣除积分
|
||||||
|
pointsUserService.alterPoints(record.getUserId(), null, record.getShopId(), PointsConstant.SUB,
|
||||||
|
record.getSpendPoints(), record.getId(), "积分商品兑换");
|
||||||
}
|
}
|
||||||
goodsService.upNumberById(goods.getId(), goods.getQuantity() - record.getNumber(), goods.getTotalExchangeCount() + record.getNumber());
|
|
||||||
goodsRecordService.save(record);
|
|
||||||
//扣除积分
|
|
||||||
pointsUserService.alterPoints(record.getUserId(), null, record.getShopId(), PointsConstant.SUB,
|
|
||||||
record.getSpendPoints(), record.getId(), "积分商品兑换");
|
|
||||||
return record;
|
return record;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user