Quellcode durchsuchen

fix(payment): 修复退款时用户预约状态更新逻辑

- 在支付宝退款策略中添加用户预约信息表状态更新
- 修复用户预约服务中的状态校验条件逻辑错误
fcw vor 1 Monat
Ursprung
Commit
bb594f18ba

+ 2 - 1
alien-store/src/main/java/shop/alien/store/service/impl/UserReservationServiceImpl.java

@@ -358,9 +358,10 @@ public class UserReservationServiceImpl extends ServiceImpl<UserReservationMappe
                 continue;
             }
             // 校验已取消状态的记录不回显
-            if (reservation.getStatus() != null && reservation.getStatus() == STATUS_CANCELLED) {
+            if (reservation.getStatus() != null && reservation.getStatus() == STATUS_CANCELLED && reservation.getStatus() == 2) {
                 continue;
             }
+
             if (calReservation != null && reservation.getReservationDate() != null) {
                 Calendar cal = calendarOf(reservation.getReservationDate());
                 if (cal.get(Calendar.YEAR) != calReservation.get(Calendar.YEAR)

+ 7 - 0
alien-store/src/main/java/shop/alien/store/strategy/merchantPayment/impl/MerchantAlipayPaymentStrategyImpl.java

@@ -351,6 +351,13 @@ public class MerchantAlipayPaymentStrategyImpl implements MerchantPaymentStrateg
             order.setRefundType(refundType);
             userReservationOrderService.updateById(order);
 
+            //修改用户预约信息表状态
+            UserReservation reservation = userReservationService.getById(order.getReservationId());
+            if (reservation != null) {
+                reservation.setStatus(3);
+                userReservationService.updateById(reservation);
+            }
+
             RefundRecord record = new RefundRecord();
             record.setPayType(PaymentEnum.ALIPAY.getType());
             record.setOutTradeNo(outTradeNo);