فهرست منبع

会员退款调整

gorden 5 ماه پیش
والد
کامیت
d6f84f3040
1فایلهای تغییر یافته به همراه15 افزوده شده و 20 حذف شده
  1. 15 20
      app/admin/controller/member/MemberController.php

+ 15 - 20
app/admin/controller/member/MemberController.php

@@ -1127,26 +1127,21 @@ class MemberController
         $params = $request->post();
         Db::beginTransaction();
         try {
-            // 查出所有的充值订单
-//            $orders = Order::where('join_order_member_id', $params['member_id'])
-//                ->where('order_classify', 'RECHARGE')
-//                ->where('order_is_complete', 'Y')
-//                ->get()
-//                ->toArray();
-//            $orderIds = array_column($orders, 'order_id');
-//            if (empty($orderIds)) {
-//                throw new BusinessException("未查询到充值订单");
-//            }
-
-            // 订单改为退款订单
-//            Order::whereIn('order_id', $orderIds)->update([
-//                'order_is_complete' => 'R'
-//            ]);
-
-            OrderReturn::where('join_return_member_id', $params['member_id'])
-                ->where('order_return_status', '<>', 'DONE')
-                ->where('order_return_category', '会员退款')
-                ->delete();
+
+//            OrderReturn::where('join_return_member_id', $params['member_id'])
+//                ->where('order_return_status', '<>', 'DONE')
+//                ->where('order_return_category', '会员退款')
+//                ->delete();
+            // 验证余额
+            $memberAccount = MemberAccount::where('join_account_member_id', $params['member_id'])
+                ->where('member_account_classify', 'CASH')
+                ->first();
+            if ($params['surplus'] + $params['bank_amount'] > $memberAccount->member_account_surplus) {
+                throw new BusinessException("本金退款金额超出账户本金余额");
+            }
+            if ($params['added'] > $memberAccount->member_account_added) {
+                throw new BusinessException("赠送退款金额超出账户赠送余额");
+            }
 
             $returnApplyJson = [
                 'reason' => '会员退款',