From 84adeef86c567bbe290265208b05b8559fc7f4f8 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Thu, 15 May 2025 17:19:50 +0800 Subject: [PATCH] refactor(mall): 重构订单退款和资金流水相关逻辑 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java | 30 +++++++++++++++++++++++++----- 1 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java index 65dfa25..022811b 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java @@ -389,6 +389,10 @@ MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(orderId); MallOrderItem mallOrderItem = mallOrderItemMapper.selectById(itemId); + MallGoodsSku mallGoodsSku = mallGoodsSkuMapper.selectById(mallOrderItem.getSkuId()); + if(ObjectUtil.isEmpty(mallGoodsSku)){ + return new FebsResponse().fail().message("退款失败,请联系客服人员"); + } List<MallRefundEntity> mallRefundEntities = mallRefundMapper.selectByItemIdAndOrderIdAndState(itemId, orderId, 3); if(CollUtil.isEmpty(mallRefundEntities)){ return new FebsResponse().fail().message("退款失败,请联系客服人员"); @@ -416,6 +420,7 @@ //退款退款金额 BigDecimal refundAmount = mallRefundEntity.getAmount(); + refundAmount = refundAmount.add(mallOrderInfo.getCarriage()); BigDecimal bb = new BigDecimal(100); int refundMoney = refundAmount.multiply(bb).intValue(); @@ -429,8 +434,6 @@ mallGoods.setStock(mallGoods.getStock() + mallOrderItem.getCnt()); mallGoods.setVolume(mallGoods.getVolume() - mallOrderItem.getCnt()); mallGoodsMapper.updateById(mallGoods); - - MallGoodsSku mallGoodsSku = mallGoodsSkuMapper.selectById(mallOrderItem.getSkuId()); mallGoodsSku.setStock(mallGoodsSku.getStock() + mallOrderItem.getCnt()); mallGoodsSku.setSkuVolume(mallGoodsSku.getSkuVolume() - mallOrderItem.getCnt()); mallGoodsSkuMapper.updateById(mallGoodsSku); @@ -438,7 +441,15 @@ mallRefundEntity.setState(1); mallRefundEntity.setUpdatedTime(DateUtil.date()); mallRefundMapper.updateById(mallRefundEntity); - mallMoneyFlowService.addMoneyFlow(mallOrderInfo.getMemberId(), refundAmount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue()); + mallMoneyFlowService.addMoneyFlow( + mallOrderInfo.getMemberId(), + refundAmount, + ScoreFlowTypeEnum.REFUND.getValue(), + mallOrderInfo.getOrderNo(), + FlowTypeEnum.BALANCE.getValue(), + StrUtil.format(ScoreFlowTypeEnum.REFUND.getDesc(),refundAmount), + 2 + ); List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByNotInStateAndOrderId(3,orderId); if(CollUtil.isEmpty(mallOrderItemList)){ @@ -471,7 +482,7 @@ mallGoods.setVolume(mallGoods.getVolume() - mallOrderItem.getCnt()); mallGoodsMapper.updateById(mallGoods); - MallGoodsSku mallGoodsSku = mallGoodsSkuMapper.selectById(mallOrderItem.getSkuId()); +// MallGoodsSku mallGoodsSku = mallGoodsSkuMapper.selectById(mallOrderItem.getSkuId()); mallGoodsSku.setStock(mallGoodsSku.getStock() + mallOrderItem.getCnt()); mallGoodsSku.setSkuVolume(mallGoodsSku.getSkuVolume() - mallOrderItem.getCnt()); mallGoodsSkuMapper.updateById(mallGoodsSku); @@ -480,7 +491,16 @@ mallRefundEntity.setState(1); mallRefundEntity.setUpdatedTime(DateUtil.date()); mallRefundMapper.updateById(mallRefundEntity); - mallMoneyFlowService.addMoneyFlow(mallOrderInfo.getMemberId(), refundAmount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue()); + + mallMoneyFlowService.addMoneyFlow( + mallOrderInfo.getMemberId(), + refundAmount, + ScoreFlowTypeEnum.WECHAT_REFUND.getValue(), + mallOrderInfo.getOrderNo(), + FlowTypeEnum.BALANCE.getValue(), + StrUtil.format(ScoreFlowTypeEnum.WECHAT_REFUND.getDesc(),refundAmount), + 2 + ); List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByNotInStateAndOrderId(3,orderId); if(CollUtil.isEmpty(mallOrderItemList)){ -- Gitblit v1.9.1