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