From fd3c114f6dea28fe92b82bf35a6a33e3bb9a8485 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 14 一月 2025 10:02:05 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/RefundPassServiceImpl.java |   37 +++++++++++++++++++++++++++++--------
 1 files changed, 29 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..2dce3ef 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
@@ -4,6 +4,7 @@
 import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kuaidi100.sdk.contant.CompanyConstant;
 import com.ruoyi.account.api.feignClient.AppUserClient;
 import com.ruoyi.account.api.model.AppUser;
 import com.ruoyi.common.core.domain.R;
@@ -132,8 +133,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 +156,7 @@
 			return R.fail("不能重复操作");
 		}
 		refundPass.setPassStatus(status);
+		refundPass.setAuthTime(LocalDateTime.now());
 		//退货退款
 		if(refundPass.getRefundMethod() == 1 && 2 == status){
 			refundPass.setStatus(4);
@@ -160,16 +164,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 +199,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();
 	}
 	
@@ -221,6 +234,14 @@
 		refundPassInfo.setPics(refundPass.getPics());
 		refundPassInfo.setPassStatus(refundPass.getPassStatus());
 		refundPassInfo.setPassRemark(refundPass.getPassRemark());
+		refundPassInfo.setStatus(refundPass.getStatus());
+		String code = refundPass.getCode();
+		if(StringUtils.isNotEmpty(code)){
+			JSONObject jsonObject = JSON.parseObject(code);
+			refundPassInfo.setExpressCode(jsonObject.getString("num"));
+			String com = jsonObject.getString("com");
+			refundPassInfo.setExpressName(com);
+		}
 		return refundPassInfo;
 	}
 }

--
Gitblit v1.7.1