From 07882a44365a0621640fdc646ffb8df55c46d80c Mon Sep 17 00:00:00 2001
From: phpcjl <phpcjl@gmail.com>
Date: 星期三, 18 十二月 2024 16:33:25 +0800
Subject: [PATCH] 1
---
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java | 30 ++++++++++++++++++++----------
1 files changed, 20 insertions(+), 10 deletions(-)
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
index 585c0f4..c6c54c3 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -14,7 +14,6 @@
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.order.enums.OrderStatus;
-import com.ruoyi.order.enums.OrderType;
import com.ruoyi.order.mapper.OrderGoodMapper;
import com.ruoyi.order.mapper.OrderMapper;
import com.ruoyi.order.model.Order;
@@ -251,7 +250,9 @@
String content = baseSetting.getContent();
JSONObject jsonObject = JSONObject.parseObject(content);
Long days = jsonObject.getLong("days");
- commissionService.addToCommissionDelayQueue(order.getId(), LocalDateTime.now().plusDays(days));
+ if (days != null && days > 0){
+ commissionService.addToCommissionDelayQueue(order.getId(), LocalDateTime.now().plusDays(days));
+ }
}
@@ -342,6 +343,16 @@
}
order.setOrderStatus(5);
this.updateById(order);
+ refundPayMoney(order);
+ return R.ok();
+ }
+
+
+ /**
+ * 返回订单支付金额和回退积分和会员等级
+ * @param order
+ */
+ public void refundPayMoney(Order order){
//开始退款
Integer payMethod = order.getPayMethod();
BigDecimal paymentAmount = order.getPaymentAmount();
@@ -351,16 +362,16 @@
}
if(2 == payMethod){
//余额退款
- OrderBalancePayment orderBalancePayment = orderBalancePaymentService.getOne(new LambdaQueryWrapper<OrderBalancePayment>().eq(OrderBalancePayment::getOrderId, orderId));
+ OrderBalancePayment orderBalancePayment = orderBalancePaymentService.getOne(new LambdaQueryWrapper<OrderBalancePayment>().eq(OrderBalancePayment::getOrderId, order.getId()));
BigDecimal balance = appUser.getBalance();
appUser.setTotalRedPacketAmount(appUser.getTotalRedPacketAmount().add(orderBalancePayment.getRedPacketAmount()).setScale(2, RoundingMode.HALF_EVEN));
appUser.setTotalDistributionAmount(appUser.getTotalDistributionAmount().add(orderBalancePayment.getDistributionAmount()).setScale(2, RoundingMode.HALF_EVEN));
appUser.setBalance(balance.add(paymentAmount).setScale(2, RoundingMode.HALF_EVEN));
appUser.setShopAmount(appUser.getShopAmount().subtract(paymentAmount).setScale(2, RoundingMode.HALF_EVEN));
-
+
//构建账户余额流水明细
BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord();
- balanceChangeRecord.setOrderId(orderId);
+ balanceChangeRecord.setOrderId(order.getId());
balanceChangeRecord.setAppUserId(order.getAppUserId());
balanceChangeRecord.setChangeType(6);
balanceChangeRecord.setBeforeAmount(balance);
@@ -374,7 +385,7 @@
if(3 == payMethod){
//积分退款
appUser.setLavePoint(appUser.getLavePoint() + order.getPoint());
-
+
//开始运费退款,积分支付,运费是单独进行支付的,所以需要单独退款
if(null != order.getExpressAmount() && BigDecimal.ZERO.compareTo(order.getExpressAmount()) < 0){
BigDecimal expressAmount = order.getExpressAmount();
@@ -383,14 +394,14 @@
}
if(2 == order.getExpressPayMethod()){
//余额退款
- OrderBalancePayment orderBalancePayment = orderBalancePaymentService.getOne(new LambdaQueryWrapper<OrderBalancePayment>().eq(OrderBalancePayment::getOrderId, orderId));
+ OrderBalancePayment orderBalancePayment = orderBalancePaymentService.getOne(new LambdaQueryWrapper<OrderBalancePayment>().eq(OrderBalancePayment::getOrderId, order.getId()));
BigDecimal balance = appUser.getBalance();
appUser.setTotalRedPacketAmount(appUser.getTotalRedPacketAmount().add(orderBalancePayment.getRedPacketAmount()).setScale(2, RoundingMode.HALF_EVEN));
appUser.setTotalDistributionAmount(appUser.getTotalDistributionAmount().add(orderBalancePayment.getDistributionAmount()).setScale(2, RoundingMode.HALF_EVEN));
appUser.setBalance(balance.add(expressAmount).setScale(2, RoundingMode.HALF_EVEN));
//构建账户余额流水明细
BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord();
- balanceChangeRecord.setOrderId(orderId);
+ balanceChangeRecord.setOrderId(order.getId());
balanceChangeRecord.setAppUserId(order.getAppUserId());
balanceChangeRecord.setChangeType(6);
balanceChangeRecord.setBeforeAmount(balance);
@@ -426,10 +437,9 @@
userPoint.setBalance(appUser.getLavePoint());
userPoint.setCreateTime(LocalDateTime.now());
userPoint.setAppUserId(order.getAppUserId());
- userPoint.setObjectId(orderId);
+ userPoint.setObjectId(order.getId());
userPointClient.saveUserPoint(userPoint);
appUserClient.editAppUserById(appUser);
- return R.ok();
}
--
Gitblit v1.7.1