From a722f1404506b020ebec2c2c7aa7397b5dd8b293 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Thu, 11 Dec 2025 10:53:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E9=87=8F=E6=89=A3=E5=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/MkPointsGoodsServiceImpl.java | 2 +- .../service/impl/PointsGoodPayServiceImpl.java | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkPointsGoodsServiceImpl.java b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkPointsGoodsServiceImpl.java index fc89a6661..4e4410eca 100644 --- a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkPointsGoodsServiceImpl.java +++ b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkPointsGoodsServiceImpl.java @@ -90,7 +90,7 @@ public class MkPointsGoodsServiceImpl extends ServiceImpl { wrapper.eq(MkPointsGoodsRecord::getStatus, "退款中").or(MkPointsGoodsRecord::getStatus).eq("已退款"); diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PointsGoodPayServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PointsGoodPayServiceImpl.java index dbb324b23..199e88ab7 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PointsGoodPayServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PointsGoodPayServiceImpl.java @@ -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); + 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; } 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(), "积分商品兑换"); } - 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; } }