Browse Source

储值卡

Gorden 3 months ago
parent
commit
da4676969f

+ 2 - 1
app/admin/controller/member/AccountController.php

@@ -10,6 +10,7 @@ use app\model\MemberAccountList;
 use app\model\MemberBenefit;
 use support\Db;
 use support\exception\BusinessException;
+use support\Log;
 use support\Redis;
 use support\Request;
 use Tinywan\Jwt\JwtToken;
@@ -250,7 +251,7 @@ class AccountController extends Curd
             return json_success('success');
         } catch (\Exception $e) {
             Db::rollBack();
-
+            Log::error("储值卡绑定失败",['msg'=>$e->getMessage()]);
             return json_fail("绑定失败");
         }
     }

+ 12 - 12
app/admin/controller/order/GoodsController.php

@@ -784,11 +784,11 @@ class GoodsController extends Curd
 
             }
             if (!empty($params['pay_category_constitute']) && in_array('CARD', $params['pay_category_constitute'])) {    // 储值卡账户
-                foreach ($params['pay_category_constitute_list'] as $constituteList) {
-                    if ($constituteList['category'] != 'CARD') {
+                foreach ($params['pay_category_constitute_list'] as $constituteList2) {
+                    if ($constituteList2['category'] != 'CARD') {
                         continue;
                     }
-                    $cardNbr = $constituteList['card_id'];
+                    $cardNbr = $constituteList2['card_id'];
                     $account = MemberAccount::where('join_account_member_id', $params['join_order_member_id'])
                         ->where('member_account_nbr', $cardNbr)
                         ->where('member_account_status', 'ACTIVED')
@@ -798,8 +798,8 @@ class GoodsController extends Curd
                         return json_fail('账户异常');
                     }
                     // 储值卡账户支付金额
-                    if (isset($constituteList['amount'])) {
-                        $params['order_amount_pay'] = $constituteList['amount'];
+                    if (isset($constituteList2['amount'])) {
+                        $params['order_amount_pay'] = $constituteList2['amount'];
                         $params['pay_category'] = $cardNbr;
                     }
                     $amount = $account->member_account_surplus + $account->member_account_added;
@@ -810,7 +810,7 @@ class GoodsController extends Curd
                     $params['waitToPayAccount'][$cardNbr] = [
                         'group_id' => $params['orderGroupId'],
                         'member_id' => $params['join_order_member_id'],
-                        'amount' => $constituteList['amount'],
+                        'amount' => $constituteList2['amount'],
                         'nbr' => $cardNbr
                     ];
 
@@ -1555,11 +1555,11 @@ class GoodsController extends Curd
                 $order->order_status_payment = 'SUCCESS';
             }
             if (!empty($params['pay_category_constitute']) && in_array('CARD', $params['pay_category_constitute'])) {    // 储值卡账户
-                foreach ($params['pay_category_constitute_list'] as $constituteList) {
-                    if ($constituteList['category'] != 'CARD') {
+                foreach ($params['pay_category_constitute_list'] as $constituteList2) {
+                    if ($constituteList2['category'] != 'CARD') {
                         continue;
                     }
-                    $cardNbr = $constituteList['card_id'];
+                    $cardNbr = $constituteList2['card_id'];
                     $account = MemberAccount::where('join_account_member_id', $params['join_order_member_id'])
                         ->where('member_account_nbr', $cardNbr)
                         ->where('member_account_status', 'ACTIVED')
@@ -1569,8 +1569,8 @@ class GoodsController extends Curd
                         return json_fail('账户异常');
                     }
                     // 储值卡账户支付金额
-                    if (isset($constituteList['amount'])) {
-                        $params['order_amount_pay'] = $constituteList['amount'];
+                    if (isset($constituteList2['amount'])) {
+                        $params['order_amount_pay'] = $constituteList2['amount'];
                         $params['pay_category'] = $cardNbr;
                     }
                     $amount = $account->member_account_surplus + $account->member_account_added;
@@ -1581,7 +1581,7 @@ class GoodsController extends Curd
                     $waitToPayAccount[$cardNbr] = [
                         'group_id' => $params['orderGroupId'],
                         'member_id' => $params['join_order_member_id'],
-                        'amount' => $constituteList['amount'],
+                        'amount' => $constituteList2['amount'],
                         'nbr' => $cardNbr
                     ];
                     // 生成支付记录

+ 12 - 12
app/admin/controller/order/PackagesController.php

@@ -813,11 +813,11 @@ class PackagesController extends Curd
 
             }
             if (!empty($params['pay_category_constitute']) && in_array('CARD', $params['pay_category_constitute'])) {    // 储值卡账户
-                foreach ($params['pay_category_constitute_list'] as $constituteList) {
-                    if ($constituteList['category'] != 'CARD') {
+                foreach ($params['pay_category_constitute_list'] as $constituteList2) {
+                    if ($constituteList2['category'] != 'CARD') {
                         continue;
                     }
-                    $cardNbr = $constituteList['card_id'];
+                    $cardNbr = $constituteList2['card_id'];
                     $account = MemberAccount::where('join_account_member_id', $params['join_order_member_id'])
                         ->where('member_account_nbr', $cardNbr)
                         ->where('member_account_status', 'ACTIVED')
@@ -827,8 +827,8 @@ class PackagesController extends Curd
                         return json_fail('账户异常');
                     }
                     // 储值卡账户支付金额
-                    if (isset($constituteList['amount'])) {
-                        $params['order_amount_pay'] = $constituteList['amount'];
+                    if (isset($constituteList2['amount'])) {
+                        $params['order_amount_pay'] = $constituteList2['amount'];
                         $params['pay_category'] = $cardNbr;
                     }
                     $amount = $account->member_account_surplus + $account->member_account_added;
@@ -839,7 +839,7 @@ class PackagesController extends Curd
                     $params['waitToPayAccount'][$cardNbr] = [
                         'group_id' => $params['orderGroupId'],
                         'member_id' => $params['join_order_member_id'],
-                        'amount' => $constituteList['amount'],
+                        'amount' => $constituteList2['amount'],
                         'nbr' => $cardNbr
                     ];
 
@@ -1628,11 +1628,11 @@ class PackagesController extends Curd
                 $order->order_status_payment = 'SUCCESS';
             }
             if (!empty($params['pay_category_constitute']) && in_array('CARD', $params['pay_category_constitute'])) {    // 储值卡账户
-                foreach ($params['pay_category_constitute_list'] as $constituteList) {
-                    if ($constituteList['category'] != 'CARD') {
+                foreach ($params['pay_category_constitute_list'] as $constituteList2) {
+                    if ($constituteList2['category'] != 'CARD') {
                         continue;
                     }
-                    $cardNbr = $constituteList['card_id'];
+                    $cardNbr = $constituteList2['card_id'];
                     $account = MemberAccount::where('join_account_member_id', $params['join_order_member_id'])
                         ->where('member_account_nbr', $cardNbr)
                         ->where('member_account_status', 'ACTIVED')
@@ -1642,8 +1642,8 @@ class PackagesController extends Curd
                         return json_fail('账户异常');
                     }
                     // 储值卡账户支付金额
-                    if (isset($constituteList['amount'])) {
-                        $params['order_amount_pay'] = $constituteList['amount'];
+                    if (isset($constituteList2['amount'])) {
+                        $params['order_amount_pay'] = $constituteList2['amount'];
                         $params['pay_category'] = $cardNbr;
                     }
                     $amount = $account->member_account_surplus + $account->member_account_added;
@@ -1654,7 +1654,7 @@ class PackagesController extends Curd
                     $waitToPayAccount[$cardNbr] = [
                         'group_id' => $params['orderGroupId'],
                         'member_id' => $params['join_order_member_id'],
-                        'amount' => $constituteList['amount'],
+                        'amount' => $constituteList2['amount'],
                         'nbr' => $cardNbr
                     ];
                     // 生成支付记录

+ 12 - 12
app/admin/controller/order/ServicesController.php

@@ -744,11 +744,11 @@ class ServicesController extends Curd
                 $params['order_amount_pay'] = $orderAmountPay;
             }
             if (!empty($params['pay_category_constitute']) && in_array('CARD', $params['pay_category_constitute'])) {    // 储值卡账户
-                foreach ($params['pay_category_constitute_list'] as $constituteList) {
-                    if ($constituteList['category'] != 'CARD') {
+                foreach ($params['pay_category_constitute_list'] as $constituteList2) {
+                    if ($constituteList2['category'] != 'CARD') {
                         continue;
                     }
-                    $cardNbr = $constituteList['card_id'];
+                    $cardNbr = $constituteList2['card_id'];
                     $account = MemberAccount::where('join_account_member_id', $params['join_order_member_id'])
                         ->where('member_account_nbr', $cardNbr)
                         ->where('member_account_status', 'ACTIVED')
@@ -758,8 +758,8 @@ class ServicesController extends Curd
                         return json_fail('账户异常');
                     }
                     // 储值卡账户支付金额
-                    if (isset($constituteList['amount'])) {
-                        $params['order_amount_pay'] = $constituteList['amount'];
+                    if (isset($constituteList2['amount'])) {
+                        $params['order_amount_pay'] = $constituteList2['amount'];
                         $params['pay_category'] = $cardNbr;
                     }
                     $amount = $account->member_account_surplus + $account->member_account_added;
@@ -770,7 +770,7 @@ class ServicesController extends Curd
                     $params['waitToPayAccount'][$cardNbr] = [
                         'group_id' => $params['orderGroupId'],
                         'member_id' => $params['join_order_member_id'],
-                        'amount' => $constituteList['amount'],
+                        'amount' => $constituteList2['amount'],
                         'nbr' => $cardNbr
                     ];
 
@@ -1577,11 +1577,11 @@ class ServicesController extends Curd
                 $order->order_status_payment = 'SUCCESS';
             }
             if (!empty($params['pay_category_constitute']) && in_array('CARD', $params['pay_category_constitute'])) {    // 储值卡账户
-                foreach ($params['pay_category_constitute_list'] as $constituteList) {
-                    if ($constituteList['category'] != 'CARD') {
+                foreach ($params['pay_category_constitute_list'] as $constituteList2) {
+                    if ($constituteList2['category'] != 'CARD') {
                         continue;
                     }
-                    $cardNbr = $constituteList['card_id'];
+                    $cardNbr = $constituteList2['card_id'];
                     $account = MemberAccount::where('join_account_member_id', $params['join_order_member_id'])
                         ->where('member_account_nbr', $cardNbr)
                         ->where('member_account_status', 'ACTIVED')
@@ -1591,8 +1591,8 @@ class ServicesController extends Curd
                         return json_fail('账户异常');
                     }
                     // 储值卡账户支付金额
-                    if (isset($constituteList['amount'])) {
-                        $params['order_amount_pay'] = $constituteList['amount'];
+                    if (isset($constituteList2['amount'])) {
+                        $params['order_amount_pay'] = $constituteList2['amount'];
                         $params['pay_category'] = $cardNbr;
                     }
                     $amount = $account->member_account_surplus + $account->member_account_added;
@@ -1603,7 +1603,7 @@ class ServicesController extends Curd
                     $waitToPayAccount[$cardNbr] = [
                         'group_id' => $params['orderGroupId'],
                         'member_id' => $params['join_order_member_id'],
-                        'amount' => $constituteList['amount'],
+                        'amount' => $constituteList2['amount'],
                         'nbr' => $cardNbr
                     ];
                     // 生成支付记录

+ 86 - 55
app/admin/controller/order/WholeController.php

@@ -1562,11 +1562,11 @@ class WholeController extends Curd
                 $order->order_status_payment = 'SUCCESS';
             }
             if (!empty($params['pay_category_constitute']) && in_array('CARD', $params['pay_category_constitute'])) {    // 储值卡账户
-                foreach ($params['pay_category_constitute_list'] as $constituteList) {
-                    if ($constituteList['category'] != 'CARD') {
+                foreach ($params['pay_category_constitute_list'] as $constituteList2) {
+                    if ($constituteList2['category'] != 'CARD') {
                         continue;
                     }
-                    $cardNbr = $constituteList['card_id'];
+                    $cardNbr = $constituteList2['card_id'];
                     $account = MemberAccount::where('join_account_member_id', $params['join_order_member_id'])
                         ->where('member_account_nbr', $cardNbr)
                         ->where('member_account_status', 'ACTIVED')
@@ -1576,8 +1576,8 @@ class WholeController extends Curd
                         return json_fail('账户异常');
                     }
                     // 储值卡账户支付金额
-                    if (isset($constituteList['amount'])) {
-                        $params['order_amount_pay'] = $constituteList['amount'];
+                    if (isset($constituteList2['amount'])) {
+                        $params['order_amount_pay'] = $constituteList2['amount'];
                         $params['pay_category'] = $cardNbr;
                     }
                     $amount = $account->member_account_surplus + $account->member_account_added;
@@ -1588,7 +1588,7 @@ class WholeController extends Curd
                     $waitToPayAccount[$cardNbr] = [
                         'group_id' => $params['orderGroupId'],
                         'member_id' => $params['join_order_member_id'],
-                        'amount' => $constituteList['amount'],
+                        'amount' => $constituteList2['amount'],
                         'nbr' => $cardNbr
                     ];
                     // 生成支付记录
@@ -1815,7 +1815,6 @@ class WholeController extends Curd
             _syslog("订单", "订单支付成功");
             return json_success('支付成功');
         } catch (\Exception $e) {
-            dump($e->getMessage());
             Db::rollBack();
             _syslog("订单", "订单支付失败");
             return json_fail('支付失败');
@@ -2793,11 +2792,11 @@ class WholeController extends Curd
                 $params['order_amount_pay'] = $orderAmountPay;
             }
             if (!empty($params['pay_category_constitute']) && in_array('CARD', $params['pay_category_constitute'])) {    // 储值卡账户
-                foreach ($params['pay_category_constitute_list'] as $constituteList) {
-                    if ($constituteList['category'] != 'CARD') {
+                foreach ($params['pay_category_constitute_list'] as $constituteList2) {
+                    if ($constituteList2['category'] != 'CARD') {
                         continue;
                     }
-                    $cardNbr = $constituteList['card_id'];
+                    $cardNbr = $constituteList2['card_id'];
                     $account = MemberAccount::where('join_account_member_id', $params['join_order_member_id'])
                         ->where('member_account_nbr', $cardNbr)
                         ->where('member_account_status', 'ACTIVED')
@@ -2807,8 +2806,8 @@ class WholeController extends Curd
                         return json_fail('账户异常');
                     }
                     // 储值卡账户支付金额
-                    if (isset($constituteList['amount'])) {
-                        $params['order_amount_pay'] = $constituteList['amount'];
+                    if (isset($constituteList2['amount'])) {
+                        $params['order_amount_pay'] = $constituteList2['amount'];
                         $params['pay_category'] = $cardNbr;
                     }
                     $amount = $account->member_account_surplus + $account->member_account_added;
@@ -2819,7 +2818,7 @@ class WholeController extends Curd
                     $params['waitToPayAccount'][$cardNbr] = [
                         'group_id' => $params['orderGroupId'],
                         'member_id' => $params['join_order_member_id'],
-                        'amount' => $constituteList['amount'],
+                        'amount' => $constituteList2['amount'],
                         'nbr' => $cardNbr
                     ];
 
@@ -4872,12 +4871,14 @@ class WholeController extends Curd
         try {
             Db::beginTransaction();
             $full = '';
+            $payStatus = 'N';
             if (in_array('WXPAY', $payDetailType)) {
-                $result = Pay::wechat(config('payment.wxpay'))->find($order->order_groupby, 'pos');
-                $result = json_decode(json_encode($result), true);
-//                $result = '{"return_code":"SUCCESS","return_msg":"OK","result_code":"SUCCESS","mch_id":"1680393367","appid":"wxc6274da7198e3eb4","openid":"o3JAn6Ii_bAlxS-jbNEC4WnPhdwM","is_subscribe":"N","trade_type":"MICROPAY","trade_state":"SUCCESS","bank_type":"OTHERS","total_fee":"3","fee_type":"CNY","cash_fee":"1000","cash_fee_type":"CNY","transaction_id":"4200067718202409250802875650","out_trade_no":"OD24092518408RV7","attach":[],"time_end":"20240925184009","trade_state_desc":"支付成功","nonce_str":"OeGOkjch4eaV5qIt","sign":"6DCB3BFC594EBC018A2BEE2C3DFEA4E3"}';
-//                $result = json_decode($result, true);
+                // $result = Pay::wechat(config('payment.wxpay'))->find($order->order_groupby, 'pos');
+                // $result = json_decode(json_encode($result), true);
+               $result = '{"return_code":"SUCCESS","return_msg":"OK","result_code":"SUCCESS","mch_id":"1680393367","appid":"wxc6274da7198e3eb4","openid":"o3JAn6Ii_bAlxS-jbNEC4WnPhdwM","is_subscribe":"N","trade_type":"MICROPAY","trade_state":"SUCCESS","bank_type":"OTHERS","total_fee":"3","fee_type":"CNY","cash_fee":"1000","cash_fee_type":"CNY","transaction_id":"4200067718202409250802875650","out_trade_no":"OD24092518408RV7","attach":[],"time_end":"20240925184009","trade_state_desc":"支付成功","nonce_str":"OeGOkjch4eaV5qIt","sign":"6DCB3BFC594EBC018A2BEE2C3DFEA4E3"}';
+               $result = json_decode($result, true);
                 if (!empty($result['return_code']) && $result['return_code'] == 'SUCCESS' && !empty($result['result_code']) && $result['result_code'] == 'SUCCESS' && !empty($result['trade_state']) && $result['trade_state'] == 'SUCCESS') {
+                    $payStatus = 'Y';
                     $order->order_status_payment = 'SUCCESS';
                     if (in_array($order->order_category, ['SERVICE', 'CHNMED', 'CHNNCD', 'PACKAGE'])) {
                         $order->order_status_system = 'WAITING';
@@ -4909,22 +4910,18 @@ class WholeController extends Curd
                         'pay_paytimes' => date('Y-m-d H:i:s'),
                         'pay_json_response' => json_encode($result)
                     ]);
+                    // 除微信外的支付记录
+                    PayDetail::where('join_pay_order_id', $order->order_groupby)->where('pay_prepayid','<>', 'WXPAY')->update([
+                        'pay_status' => 'SUCCESS',
+                        'pay_paytimes' => date('Y-m-d H:i:s'),
+                        'pay_json_response' => json_encode(['pay-result'=>'支付成功','result-datetime'=>date('Y-m-d H:i:s')])
+                    ]);
                     // 加销售量
                     OrderSheetService::addGoodsSales($params['orderId']);
                     // 优惠券标记使用
                     $this->changeOrderCouponStatus($discountJson, 'USED');
 
-                    Db::commit();
-
-                    if (in_array($order->order_category, ['SERVICE', 'CHNMED', 'CHNNCD', 'PACKAGE', 'GOODS', 'DISHES', 'MEALS'])) {
-                        // 给上级提成
-                        Event::dispatch('commission.order', $params);
-                    }
-                    // 收支明细
-                    $params['inout_category'] = $oldOrderPaymentStatus == 'AWAITING' ? '挂账订单结算' : ($order->order_classify == 'VIP' ? ('购买康养城VIP套餐包' . $full) : '餐饮订单');
-                    Event::dispatch('statistics.inout.in', $params);
-
-                    return json_success('success');
+                    
                 }
             } else if (in_array('ALIPAY', $payDetailType)) {
                 $result = Pay::alipay(config('payment.alipay'))->find($order->order_groupby);
@@ -4932,6 +4929,7 @@ class WholeController extends Curd
 //                $result = '{"code":"10000","msg":"Success","buyer_logon_id":"138******93","buyer_pay_amount":"5.87","fund_bill_list":[{"amount":"5.69","fund_channel":"ALIPAYACCOUNT"},{"amount":"0.18","fund_channel":"COUPON"},{"amount":"0.13","fund_channel":"DISCOUNT"}],"invoice_amount":"5.69","out_trade_no":"OD2409251550Q07A","point_amount":"0.00","receipt_amount":"6.00","send_pay_date":"2024-09-25 15:50:22","total_amount":"6.00","trade_no":"2024092523001439431419750998","trade_status":"TRADE_SUCCESS","buyer_open_id":"04309N2aVhSZz4cKwN_DN2DQa7ekM3z5n8kscQHsmIZOJsf"}';
 //                $result = json_decode($result, true);
                 if (!empty($result['code']) && $result['code'] == '10000' && !empty($result['trade_status']) && $result['trade_status'] == 'TRADE_SUCCESS') {
+                    $payStatus = 'Y';
                     $order->order_status_payment = 'SUCCESS';
                     if (in_array($order->order_category, ['SERVICE', 'CHNMED', 'CHNNCD', 'PACKAGE'])) {
                         $order->order_status_system = 'WAITING';
@@ -4966,20 +4964,44 @@ class WholeController extends Curd
                     OrderSheetService::addGoodsSales($params['orderId']);
                     // 优惠券标记使用
                     $this->changeOrderCouponStatus($discountJson, 'USED');
-                    Db::commit();
+                    // Db::commit();
 
-                    if (in_array($order->order_category, ['SERVICE', 'CHNMED', 'CHNNCD', 'PACKAGE', 'GOODS', 'DISHES', 'MEALS'])) {
-                        // 给上级提成
-                        Event::dispatch('commission.order', $params);
-                    }
+                    // if (in_array($order->order_category, ['SERVICE', 'CHNMED', 'CHNNCD', 'PACKAGE', 'GOODS', 'DISHES', 'MEALS'])) {
+                    //     // 给上级提成
+                    //     Event::dispatch('commission.order', $params);
+                    // }
 
-                    // 收支明细
-                    $params['inout_category'] = $oldOrderPaymentStatus == 'AWAITING' ? '挂账订单结算' : ($order->order_classify == 'VIP' ? ('购买康养城VIP套餐包' . $full) : '餐饮订单');
-                    Event::dispatch('statistics.inout.in', $params);
+                    // // 收支明细
+                    // $params['inout_category'] = $oldOrderPaymentStatus == 'AWAITING' ? '挂账订单结算' : ($order->order_classify == 'VIP' ? ('购买康养城VIP套餐包' . $full) : '餐饮订单');
+                    // Event::dispatch('statistics.inout.in', $params);
 
-                    return json_success('success');
+                    // return json_success('success');
                 }
             }
+
+            if ($payStatus == 'Y'){
+                foreach($payDetailType as $item){
+                    if (in_array($item,['WXPAY','ALIPAY'])){
+                        continue;
+                    }
+                    $amount = PayDetail::where('join_pay_order_id',$order->order_groupby)
+                        ->where('pay_prepayid',$item)
+                        ->value('pay_amount');
+                    $this->deductAccountOne($order->order_groupby, $item, $amount);
+                }
+                Db::commit();
+
+                if (in_array($order->order_category, ['SERVICE', 'CHNMED', 'CHNNCD', 'PACKAGE', 'GOODS', 'DISHES', 'MEALS'])) {
+                    // 给上级提成
+                    Event::dispatch('commission.order', $params);
+                }
+                // 收支明细
+                $params['inout_category'] = $oldOrderPaymentStatus == 'AWAITING' ? '挂账订单结算' : ($order->order_classify == 'VIP' ? ('购买康养城VIP套餐包' . $full) : '餐饮订单');
+                Event::dispatch('statistics.inout.in', $params);
+
+                return json_success('success');
+            }
+
             Db::rollBack();
             return json_fail('没有查询到记录');
         } catch (\Exception $e) {
@@ -5085,25 +5107,34 @@ class WholeController extends Curd
                 }
             }
             if ($payStatus == 'Y') {
-                // 如果有余额、VIP、福利账户支付
-                if (in_array($orders[0]['join_order_member_id'] . '-CASH', $payDetailType)) {
-                    $cashAmount = PayDetail::where('join_pay_order_id', $groupId)
-                        ->where('pay_prepayid', $orders[0]['join_order_member_id'] . '-CASH')
-                        ->sum('pay_amount');
-                    $this->deductAccountOne($groupId, $orders[0]['join_order_member_id'] . '-CASH', $cashAmount);
-                }
-                if (in_array($orders[0]['join_order_member_id'] . '-VIP', $payDetailType)) {
-                    $cashAmount = PayDetail::where('join_pay_order_id', $groupId)
-                        ->where('pay_prepayid', $orders[0]['join_order_member_id'] . '-VIP')
-                        ->sum('pay_amount');
-                    $this->deductAccountOne($groupId, $orders[0]['join_order_member_id'] . '-VIP', $cashAmount);
-                }
-                if (in_array($orders[0]['join_order_member_id'] . '-WELFARE', $payDetailType)) {
-                    $cashAmount = PayDetail::where('join_pay_order_id', $groupId)
-                        ->where('pay_prepayid', $orders[0]['join_order_member_id'] . '-WELFARE')
-                        ->sum('pay_amount');
-                    $this->deductAccountOne($groupId, $orders[0]['join_order_member_id'] . 'WELFARE', $cashAmount);
+                foreach($payDetailType as $item){
+                    if (in_array($item,['WXPAY','ALIPAY'])){
+                        continue;
+                    }
+                    $amount = PayDetail::where('join_pay_order_id',$order->order_groupby)
+                        ->where('pay_prepayid',$item)
+                        ->value('pay_amount');
+                    $this->deductAccountOne($order->order_groupby, $item, $amount);
                 }
+                // 如果有余额、VIP、福利账户支付
+                // if (in_array($orders[0]['join_order_member_id'] . '-CASH', $payDetailType)) {
+                //     $cashAmount = PayDetail::where('join_pay_order_id', $groupId)
+                //         ->where('pay_prepayid', $orders[0]['join_order_member_id'] . '-CASH')
+                //         ->sum('pay_amount');
+                //     $this->deductAccountOne($groupId, $orders[0]['join_order_member_id'] . '-CASH', $cashAmount);
+                // }
+                // if (in_array($orders[0]['join_order_member_id'] . '-VIP', $payDetailType)) {
+                //     $cashAmount = PayDetail::where('join_pay_order_id', $groupId)
+                //         ->where('pay_prepayid', $orders[0]['join_order_member_id'] . '-VIP')
+                //         ->sum('pay_amount');
+                //     $this->deductAccountOne($groupId, $orders[0]['join_order_member_id'] . '-VIP', $cashAmount);
+                // }
+                // if (in_array($orders[0]['join_order_member_id'] . '-WELFARE', $payDetailType)) {
+                //     $cashAmount = PayDetail::where('join_pay_order_id', $groupId)
+                //         ->where('pay_prepayid', $orders[0]['join_order_member_id'] . '-WELFARE')
+                //         ->sum('pay_amount');
+                //     $this->deductAccountOne($groupId, $orders[0]['join_order_member_id'] . 'WELFARE', $cashAmount);
+                // }
 
                 Db::commit();