Quellcode durchsuchen

直播课退款

liujc vor 1 Jahr
Ursprung
Commit
ae5274634f

+ 17 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderRefundServiceImpl.java

@@ -72,6 +72,9 @@ public class UserOrderRefundServiceImpl extends ServiceImpl<UserOrderRefundDao,
     @Autowired
     private PlatformCashAccountRecordService platformCashAccountRecordService;
 
+    @Autowired
+    private TenantAccountRecordService tenantAccountRecordService;
+
     //验证是否可以退款,获取退款金额信息
     private static final Map<GoodTypeEnum, Function<OrderRefundReq, HttpResponseResult<RefundCreateRes>>> refundCreate = new HashMap<>();
     //插入退款后执行
@@ -643,6 +646,20 @@ public class UserOrderRefundServiceImpl extends ServiceImpl<UserOrderRefundDao,
             }
         }
         // 处理机构入账
+        List<TenantAccountRecord> list = tenantAccountRecordService.lambdaQuery()
+                .eq(TenantAccountRecord::getOrderNo, vo.getOrderNo())
+                .list();
+        if (CollectionUtils.isNotEmpty(list)) {
+            for (TenantAccountRecord tenantAccountRecord : list) {
+                if (PostStatusEnum.WAIT.getCode().equals(tenantAccountRecord.getPostStatus())
+                        || PostStatusEnum.FROZEN.getCode().equals(tenantAccountRecord.getPostStatus())) {
+                    tenantAccountRecord.setPostStatus(PostStatusEnum.CANCEL.getCode());
+                    platformCashAccountRecordService.cancelRecord(tenantAccountRecord.getOrderNo(), tenantAccountRecord.getBizType(), tenantAccountRecord.getBizId(),
+                            InOrOutEnum.OUT);
+                }
+            }
+            tenantAccountRecordService.updateBatchById(list);
+        }
 
         //处理平台入账
         platformCashAccountRecordService.cancelRecord(vo.getOrderNo(), vo.getGoodType().getCode(), vo.getBizId(),

+ 5 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserPaymentCoreServiceImpl.java

@@ -1197,6 +1197,10 @@ public class UserPaymentCoreServiceImpl implements UserPaymentCoreService {
         if (!OrderStatusEnum.PAID.getCode().equals(paymentOrder.getStatus().getCode())) {
             throw  new BizException("订单状态异常");
         }
+        UserOrderVo detail = userOrderService.detail(paymentOrder.getId());
+        if (Objects.isNull(detail)) {
+            throw new BizException("订单信息不存在");
+        }
 
         // 执行状态锁定
         String lockName = redisCacheService.getPaymentCacheKey(paymentOrder.getOrderNo());
@@ -1206,7 +1210,7 @@ public class UserPaymentCoreServiceImpl implements UserPaymentCoreService {
             userRefundOrder.setUserId(paymentOrder.getId());
             userRefundOrder.setOrderId(paymentOrder.getId());
             userRefundOrder.setOrderNo(paymentOrder.getOrderNo());
-//            userRefundOrder.setOredrDetilIds(paymentOrder.getTransNo());
+            userRefundOrder.setOredrDetilIds(detail.getOrderDetailList().stream().map(o-> o.getId().toString()).collect(Collectors.joining(",")));
             userRefundOrder.setStatus(AuthStatusEnum.PASS);
             userRefundOrder.setApplyAmount(paymentOrder.getPaymentCashAmount());
             userRefundOrder.setActualAmount(paymentOrder.getPaymentCashAmount());