From 192763f916babea88c94bd4a9d9889b199320e48 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 22 May 2025 11:49:22 +0800
Subject: [PATCH] refactor(common): 优化成长值流水类型枚举 ScoreFlowTypeEnum - 新增 OTHER_BUY 类型,用于好友下单获得成长值 - 修改现有类型的描述,使用"购买"替代"下单",使描述更加准确 - 统一描述格式,提高代码可读性和一致性
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java | 54 +++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 43 insertions(+), 11 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..ea691f2 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,11 +420,13 @@
//退款退款金额
BigDecimal refundAmount = mallRefundEntity.getAmount();
+// refundAmount = refundAmount.add(mallOrderInfo.getCarriage());
BigDecimal bb = new BigDecimal(100);
int refundMoney = refundAmount.multiply(bb).intValue();
//余额支付退款
if(mallRefundEntity.getType() == 3){
+ log.info("余额支付退款");
//更新订单详情
mallOrderItem.setState(3);
mallOrderItemMapper.updateById(mallOrderItem);
@@ -429,8 +435,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 +442,6 @@
mallRefundEntity.setState(1);
mallRefundEntity.setUpdatedTime(DateUtil.date());
mallRefundMapper.updateById(mallRefundEntity);
- mallMoneyFlowService.addMoneyFlow(mallOrderInfo.getMemberId(), refundAmount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByNotInStateAndOrderId(3,orderId);
if(CollUtil.isEmpty(mallOrderItemList)){
@@ -446,19 +449,38 @@
mallOrderRefund.setStatus(6);
mallOrderInfoMapper.updateById(mallOrderRefund);
}
- memberWalletService.add(refundAmount, mallOrderInfo.getMemberId(), "balance");
+ if(refundAmount.compareTo(BigDecimal.ZERO) > 0){
+ memberWalletService.add(refundAmount, mallOrderInfo.getMemberId(), "balance");
+ mallMoneyFlowService.addMoneyFlow(
+ mallOrderInfo.getMemberId(),
+ refundAmount,
+ ScoreFlowTypeEnum.REFUND.getValue(),
+ mallOrderInfo.getOrderNo(),
+ FlowTypeEnum.BALANCE.getValue(),
+ StrUtil.format(ScoreFlowTypeEnum.REFUND.getDesc(),refundAmount),
+ 2
+ );
+ }
return new FebsResponse().success().message("退款成功");
}
Boolean flag = false;
Boolean debug = xcxProperties.getDebug();
if (debug) {
- boolean b = weixinServiceUtil.comRefund(orderNo, refundNo, 1, 1, null);
- flag = b;
+ if(refundAmount.compareTo(BigDecimal.ZERO) > 0){
+ boolean b = weixinServiceUtil.comRefund(orderNo, refundNo, 1, 1, null);
+ flag = b;
+ }else{
+ flag = true;
+ }
} else {
- log.info("开始调用退款接口。。。退款编号为{}", refundNo);
- boolean b = weixinServiceUtil.comRefund(orderNo, refundNo, orderMoney, refundMoney, null);
- flag = b;
+ if(refundAmount.compareTo(BigDecimal.ZERO) > 0){
+ log.info("开始调用退款接口。。。退款编号为{}", refundNo);
+ boolean b = weixinServiceUtil.comRefund(orderNo, refundNo, orderMoney, refundMoney, null);
+ flag = b;
+ }else{
+ flag = true;
+ }
}
if(flag){
@@ -471,7 +493,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 +502,17 @@
mallRefundEntity.setState(1);
mallRefundEntity.setUpdatedTime(DateUtil.date());
mallRefundMapper.updateById(mallRefundEntity);
- mallMoneyFlowService.addMoneyFlow(mallOrderInfo.getMemberId(), refundAmount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
+ if(refundAmount.compareTo(BigDecimal.ZERO) > 0){
+ 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