From 74b2581c8a9be309ca6454da3ff2c56501368771 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 09 一月 2025 09:30:21 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/RefundPassServiceImpl.java |   28 ++++++++++++++++++++--------
 1 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/RefundPassServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/RefundPassServiceImpl.java
index 199eaf5..0805525 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/RefundPassServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/RefundPassServiceImpl.java
@@ -132,8 +132,10 @@
 		List<OrderRefundPassList> orderRefundPassList = this.baseMapper.getOrderRefundPassList(pageInfo, refundPassListVo.getCode(), appUserIds, shopId, refundPassListVo.getRefundMethod(), refundPassListVo.getStatus());
 		for (OrderRefundPassList refundPassList : orderRefundPassList) {
 			AppUser appUser = appUserClient.getAppUserById(refundPassList.getAppUserId());
-			refundPassList.setUserName(appUser.getName());
-			refundPassList.setPhone(appUser.getPhone());
+			if(null != appUser){
+				refundPassList.setUserName(appUser.getName());
+				refundPassList.setPhone(appUser.getPhone());
+			}
 		}
 		return pageInfo.setRecords(orderRefundPassList);
 	}
@@ -153,6 +155,7 @@
 			return R.fail("不能重复操作");
 		}
 		refundPass.setPassStatus(status);
+		refundPass.setAuthTime(LocalDateTime.now());
 		//退货退款
 		if(refundPass.getRefundMethod() == 1 && 2 == status){
 			refundPass.setStatus(4);
@@ -160,16 +163,22 @@
 		if(refundPass.getRefundMethod() == 2 && 2 == status){
 			refundPass.setStatus(2);
 		}
+		if(3 == status){
+			refundPass.setStatus(3);
+		}
 		refundPass.setPassRemark(passRemark);
-		this.updateById(refundPass);
 		//仅退款的售后需要将支付金额原路返回,然后再扣减支付获得的积分
 		if(refundPass.getRefundMethod() == 2 && 2 == status){
 			Order order = orderService.getById(refundPass.getOrderId());
 			order.setOrderStatus(6);
-			orderService.updateById(order);
 			//返回订单支付金额和回退积分和会员等级
-			orderService.refundPayMoney(order);
+			R r = orderService.refundPayMoney(order);
+			if(200 != r.getCode()){
+				return r;
+			}
+			orderService.updateById(order);
 		}
+		this.updateById(refundPass);
 		return R.ok();
 	}
 	
@@ -189,13 +198,16 @@
 			return R.fail("操作失败");
 		}
 		refundPass.setStatus(2);
-		this.updateById(refundPass);
 		//仅退款的售后需要将支付金额原路返回,然后再扣减支付获得的积分
 		Order order = orderService.getById(refundPass.getOrderId());
 		order.setOrderStatus(6);
-		orderService.updateById(order);
 		//返回订单支付金额和回退积分和会员等级
-		orderService.refundPayMoney(order);
+		R r = orderService.refundPayMoney(order);
+		if(200 != r.getCode()){
+			return r;
+		}
+		this.updateById(refundPass);
+		orderService.updateById(order);
 		return R.ok();
 	}
 	

--
Gitblit v1.7.1