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();