From 61382e277c99aea5ba60219dee8bc67384438364 Mon Sep 17 00:00:00 2001
From: taozi <9108791@qq.com>
Date: Sun, 2 Apr 2023 22:50:30 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A4=9A=E8=A7=92=E8=89=B2=E4=BF=9D=E5=AD=98?=
=?UTF-8?q?=E4=BF=AE=E5=A4=8D=E3=80=81=E5=94=AE=E5=90=8E=E9=80=80=E6=AC=BE?=
=?UTF-8?q?=E4=BD=99=E9=A2=9D=E3=80=81=E7=A7=AF=E5=88=86=E5=A4=84=E7=90=86?=
=?UTF-8?q?=E3=80=81=E5=BE=AE=E4=BF=A1=E9=80=80=E6=AC=BE=E7=B1=BB=E5=9E=8B?=
=?UTF-8?q?=E5=A4=84=E7=90=86=E3=80=81=E5=8D=87=E7=BA=A7springboot2.7.10?=
=?UTF-8?q?=E3=80=81druid1.2.16=E3=80=81mybatis-plus3.5.3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 8 +++---
.../service/impl/SysUserServiceImpl.java | 10 ++++---
yshop-mproot/pom.xml | 2 +-
.../sales/StoreAfterSalesController.java | 27 ++++++++++++++++++-
.../modules/mp/service/WeixinPayService.java | 2 +-
5 files changed, 38 insertions(+), 11 deletions(-)
diff --git a/pom.xml b/pom.xml
index af847877..39889da9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,7 +28,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.7.6
+ 2.7.10
@@ -38,7 +38,7 @@
3.3.0
3.0.0
1.2.83
- 1.2.12
+ 1.2.16
5.5.7
4.1.2
2.5.0
@@ -154,8 +154,8 @@
- mysql
- mysql-connector-java
+ com.mysql
+ mysql-connector-j
runtime
diff --git a/yshop-admin/src/main/java/co/yixiang/modules/system/service/impl/SysUserServiceImpl.java b/yshop-admin/src/main/java/co/yixiang/modules/system/service/impl/SysUserServiceImpl.java
index f96b4868..4c5e4b14 100644
--- a/yshop-admin/src/main/java/co/yixiang/modules/system/service/impl/SysUserServiceImpl.java
+++ b/yshop-admin/src/main/java/co/yixiang/modules/system/service/impl/SysUserServiceImpl.java
@@ -276,14 +276,16 @@ public class SysUserServiceImpl extends BaseServiceImpl imp
user.setSex(resources.getSex());
boolean result = this.saveOrUpdate(user);
usersRolesService.lambdaUpdate().eq(UsersRoles ::getUserId,resources.getId()).remove();
- UsersRoles usersRoles = new UsersRoles();
- usersRoles.setUserId(resources.getId());
+ List usersRolesList = new ArrayList<>();
Set set = resources.getRoles();
- for (Role roleIds : set ) {
+ for (Role roleIds : set) {
+ UsersRoles usersRoles = new UsersRoles();
+ usersRoles.setUserId(resources.getId());
usersRoles.setRoleId(roleIds.getId());
+ usersRolesList.add(usersRoles);
}
if (result) {
- usersRolesService.save(usersRoles);
+ usersRolesService.saveBatch(usersRolesList);
}
// 如果用户的角色改变了,需要手动清理下缓存
diff --git a/yshop-mproot/pom.xml b/yshop-mproot/pom.xml
index e82b0d60..d1ccaf98 100644
--- a/yshop-mproot/pom.xml
+++ b/yshop-mproot/pom.xml
@@ -13,7 +13,7 @@
0.10.6
- 3.5.1
+ 3.5.3
diff --git a/yshop-shop/src/main/java/co/yixiang/modules/sales/StoreAfterSalesController.java b/yshop-shop/src/main/java/co/yixiang/modules/sales/StoreAfterSalesController.java
index 9a01660e..cab20f05 100644
--- a/yshop-shop/src/main/java/co/yixiang/modules/sales/StoreAfterSalesController.java
+++ b/yshop-shop/src/main/java/co/yixiang/modules/sales/StoreAfterSalesController.java
@@ -1,13 +1,21 @@
package co.yixiang.modules.sales;
+import cn.hutool.core.util.ObjectUtil;
+import co.yixiang.api.YshopException;
import co.yixiang.dozer.service.IGenerator;
+import co.yixiang.enums.OrderInfoEnum;
+import co.yixiang.enums.PayTypeEnum;
import co.yixiang.modules.logging.aop.log.Log;
import co.yixiang.modules.mp.service.WeixinPayService;
+import co.yixiang.modules.order.service.YxStoreOrderService;
+import co.yixiang.modules.order.vo.YxStoreOrderQueryVo;
import co.yixiang.modules.sales.domain.StoreAfterSales;
import co.yixiang.modules.sales.param.SalesCheckDto;
import co.yixiang.modules.sales.param.YxStoreAfterSalesDto;
import co.yixiang.modules.sales.service.StoreAfterSalesService;
import co.yixiang.modules.sales.param.YxStoreAfterSalesQueryCriteria;
+import co.yixiang.modules.user.service.YxUserService;
+import co.yixiang.modules.user.vo.YxUserQueryVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
@@ -38,7 +46,9 @@ public class StoreAfterSalesController {
private final StoreAfterSalesService storeAfterSalesService;
private final WeixinPayService weixinPayService;
+ private final YxStoreOrderService storeOrderService;
private final IGenerator generator;
+ private final YxUserService userService;
/**
* 审核
@@ -62,7 +72,22 @@ public class StoreAfterSalesController {
StoreAfterSales sales = storeAfterSalesService.makeMoney(salesId, orderCode);
BigDecimal bigDecimal = new BigDecimal("100");
int payPrice = bigDecimal.multiply(sales.getRefundAmount()).intValue();
- weixinPayService.refundOrder(orderCode, payPrice);
+ YxStoreOrderQueryVo orderInfo = storeOrderService.getOrderInfo(orderCode, null);
+ if (PayTypeEnum.WEIXIN.getValue().equals(orderInfo.getPayType())) {
+ if (ObjectUtil.isNull(orderInfo)) {
+ throw new YshopException("订单不存在");
+ }
+ YxUserQueryVo userQueryVo = userService.getYxUserById(orderInfo.getUid());
+ if (ObjectUtil.isNull(userQueryVo)) {
+ throw new YshopException("用户不存在");
+ }
+ if (OrderInfoEnum.REFUND_STATUS_2.getValue().equals(orderInfo.getRefundStatus())) {
+ throw new YshopException("订单已经退款了哦!");
+ }
+ weixinPayService.refundOrder(orderCode, payPrice);
+ } else {
+ storeOrderService.orderRefund(orderCode, sales.getRefundAmount(), 1);
+ }
return new ResponseEntity<>(HttpStatus.OK);
}
diff --git a/yshop-weixin/src/main/java/co/yixiang/modules/mp/service/WeixinPayService.java b/yshop-weixin/src/main/java/co/yixiang/modules/mp/service/WeixinPayService.java
index 309c2bfe..fdc66285 100644
--- a/yshop-weixin/src/main/java/co/yixiang/modules/mp/service/WeixinPayService.java
+++ b/yshop-weixin/src/main/java/co/yixiang/modules/mp/service/WeixinPayService.java
@@ -171,7 +171,7 @@ public class WeixinPayService {
if(orderInfo.getExtendOrderId()!=null){
orderId=orderInfo.getExtendOrderId();
}
- WxPayService wxPayService = WxPayConfiguration.getPayService(PayMethodEnum.WECHAT);
+ WxPayService wxPayService = WxPayConfiguration.getPayService(PayMethodEnum.toType(orderInfo.getPayType()));
WxPayRefundRequest wxPayRefundRequest = new WxPayRefundRequest();
BigDecimal bigDecimal = new BigDecimal("100");
int totalFee = bigDecimal.multiply(orderInfo.getPayPrice()).intValue();