diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java index 23f0fc8b6..96e7a0dd1 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java @@ -44,6 +44,7 @@ import com.czg.utils.AssertUtil; import com.czg.utils.MD5Util; import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.update.UpdateChain; +import io.seata.spring.annotation.GlobalTransactional; import jakarta.annotation.Resource; import jakarta.validation.constraints.NotBlank; import lombok.NonNull; @@ -467,6 +468,7 @@ public class PayServiceImpl implements PayService { } @Override + @GlobalTransactional public CzgResult refundVip(VipRefundDTO refPayParam) { ShopInfo shopInfo = shopInfoService.getById(refPayParam.getShopId()); if (shopInfo.getIsReturnPwd().equals(1)) { @@ -555,16 +557,10 @@ public class PayServiceImpl implements PayService { } @Override - @Transactional + @GlobalTransactional public CzgResult refundOrderBefore(OrderInfoRefundDTO param) { OrderInfo orderInfo = orderInfoService.getById(param.getOrderId()); ShopInfo shopInfo = shopInfoService.getById(orderInfo.getShopId()); - if (shopInfo.getIsReturnPwd().equals(1)) { - AssertUtil.isBlank(shopInfo.getOperationPwd(), "请设置操作密码后使用"); - if (!SecureUtil.md5(param.getPwd()).equals(shopInfo.getOperationPwd())) { - throw new CzgException("操作密码错误"); - } - } Map returnProMap = new HashMap<>(); boolean isPay = true; String refPayOrderNo = "REFO" + IdUtil.getSnowflakeNextId(); @@ -572,7 +568,13 @@ public class PayServiceImpl implements PayService { isPay = false; refPayOrderNo = ""; } - if (isPay) { + if(isPay){ + if (shopInfo.getIsReturnPwd().equals(1)) { + AssertUtil.isBlank(shopInfo.getOperationPwd(), "请设置操作密码后使用"); + if (!SecureUtil.md5(param.getPwd()).equals(shopInfo.getOperationPwd())) { + throw new CzgException("操作密码错误"); + } + } orderInfo.setRefundAmount(orderInfo.getRefundAmount().add(param.getRefundAmount())); if (orderInfo.getRefundAmount().compareTo(orderInfo.getPayAmount()) > 0) { throw new ValidateException("退单失败,可退金额不足");