gorden vor 4 Monaten
Ursprung
Commit
8c280bd2c2

+ 10 - 2
app/admin/controller/order/NewCustomerController.php

@@ -1112,7 +1112,11 @@ class NewCustomerController extends Curd
                     OrderSheet::where('join_sheet_order_id', $order['order_id'])->where('order_sheet_status', 'PAYING')->update(['order_sheet_status' => 'DONE']);
 
                     // 支付记录
-                    PayDetail::where('join_pay_order_id', $order['order_groupby'])->where('pay_prepayid', 'WXPAY')->update(['pay_status' => 'SUCCESS']);
+                    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($result)
+                    ]);
                 }
             } else if (in_array('ALIPAY', $payDetailType)) {
                 $result = Pay::alipay(config('payment.alipay'))->find($groupId);
@@ -1135,7 +1139,11 @@ class NewCustomerController extends Curd
                     // Sheet
                     OrderSheet::where('join_sheet_order_id', $order['order_id'])->where('order_sheet_status', 'PAYING')->update(['order_sheet_status' => 'DONE']);
                     // 支付记录
-                    PayDetail::where('join_pay_order_id', $order['order_groupby'])->where('pay_prepayid', 'ALIPAY')->update(['pay_status' => 'SUCCESS']);
+                    PayDetail::where('join_pay_order_id', $order['order_groupby'])->where('pay_prepayid', 'ALIPAY')->update([
+                        'pay_status' => 'SUCCESS',
+                        'pay_paytimes' => date('Y-m-d H:i:s'),
+                        'pay_json_response' => json_encode($result)
+                    ]);
                 }
             }
             if ($payStatus == 'Y') {

+ 12 - 3
app/admin/controller/order/PartnerController.php

@@ -1177,7 +1177,11 @@ class PartnerController extends Curd
                     OrderSheet::where('join_sheet_order_id', $order['order_id'])->where('order_sheet_status', 'PAYING')->update(['order_sheet_status' => 'DONE']);
 
                     // 支付记录
-                    PayDetail::where('join_pay_order_id', $order['order_groupby'])->where('pay_prepayid', 'WXPAY')->update(['pay_status' => 'SUCCESS']);
+                    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($result)
+                    ]);
                 }
             } else if (in_array('ALIPAY', $payDetailType)) {
                 $result = Pay::alipay(config('payment.alipay'))->find($groupId);
@@ -1200,7 +1204,11 @@ class PartnerController extends Curd
                     // Sheet
                     OrderSheet::where('join_sheet_order_id', $order['order_id'])->where('order_sheet_status', 'PAYING')->update(['order_sheet_status' => 'DONE']);
                     // 支付记录
-                    PayDetail::where('join_pay_order_id', $order['order_groupby'])->where('pay_prepayid', 'ALIPAY')->update(['pay_status' => 'SUCCESS']);
+                    PayDetail::where('join_pay_order_id', $order['order_groupby'])->where('pay_prepayid', 'ALIPAY')->update([
+                        'pay_status' => 'SUCCESS',
+                        'pay_paytimes' => date('Y-m-d H:i:s'),
+                        'pay_json_response' => json_encode($result)
+                    ]);
                 }
             }
             if ($payStatus == 'Y') {
@@ -1219,12 +1227,13 @@ class PartnerController extends Curd
                     Event::dispatch('order.partner.grant', $params);
                 }
 
+                Db::commit();
+
                 // 入收支明细表
                 $params['orderId'] = $order['order_id'];
                 $params['inout_category'] = '购买会员合伙人收入';
                 Event::dispatch('statistics.inout.in', $params);
 
-                Db::commit();
                 return json_success('success');
             }
 

+ 17 - 8
app/admin/controller/order/ReferrerController.php

@@ -557,7 +557,7 @@ class ReferrerController extends Curd
                 Event::dispatch('order.complete', $params);
                 Event::dispatch('order.referrer.grant', $params);
             }
-            if ($order->order_status_payment == 'SUCCESS'){
+            if ($paymentStatus == 'SUCCESS'){
                 // 入收支明细表
                 $params['inout_category'] = '购买康养推荐官收入';
                 Event::dispatch('statistics.inout.in', $params);
@@ -1145,10 +1145,10 @@ class ReferrerController extends Curd
             $payStatus = 'N';
             $payAmount = 0;
             if (in_array('WXPAY', $payDetailType)) {
-//                $result = Pay::wechat(config('payment.wxpay'))->find($groupId, '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($groupId, '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';
                     $payAmount = ($result['total_fee'] / 100);
@@ -1166,7 +1166,11 @@ class ReferrerController extends Curd
                     OrderSheet::where('join_sheet_order_id', $order['order_id'])->where('order_sheet_status', 'PAYING')->update(['order_sheet_status' => 'DONE']);
 
                     // 支付记录
-                    PayDetail::where('join_pay_order_id', $order['order_groupby'])->where('pay_prepayid', 'WXPAY')->update(['pay_status' => 'SUCCESS']);
+                    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($result)
+                    ]);
                 }
             } else if (in_array('ALIPAY', $payDetailType)) {
                 $result = Pay::alipay(config('payment.alipay'))->find($groupId);
@@ -1189,7 +1193,11 @@ class ReferrerController extends Curd
                     // Sheet
                     OrderSheet::where('join_sheet_order_id', $order['order_id'])->where('order_sheet_status', 'PAYING')->update(['order_sheet_status' => 'DONE']);
                     // 支付记录
-                    PayDetail::where('join_pay_order_id', $order['order_groupby'])->where('pay_prepayid', 'ALIPAY')->update(['pay_status' => 'SUCCESS']);
+                    PayDetail::where('join_pay_order_id', $order['order_groupby'])->where('pay_prepayid', 'ALIPAY')->update([
+                        'pay_status' => 'SUCCESS',
+                        'pay_paytimes' => date('Y-m-d H:i:s'),
+                        'pay_json_response' => json_encode($result)
+                    ]);
                 }
             }
             if ($payStatus == 'Y') {
@@ -1208,12 +1216,13 @@ class ReferrerController extends Curd
                     Event::dispatch('order.referrer.grant', $params);
                 }
 
+                Db::commit();
+
                 // 入收支明细表
                 $params['orderId'] = $order['order_id'];
                 $params['inout_category'] = '购买康养推荐官收入';
                 Event::dispatch('statistics.inout.in', $params);
 
-                Db::commit();
                 return json_success('success');
             }
 

+ 34 - 17
app/admin/controller/order/WholeController.php

@@ -813,7 +813,7 @@ class WholeController extends Curd
         }
 
         $order = Order::where('order_id', $params['order_id'])->first();
-        $oldOrderStatus = $order->order_status_system;
+        $oldOrderPaymentStatus = $order->order_status_payment;
         if (!$order) {
             return json_fail('订单异常');
         }
@@ -1095,7 +1095,7 @@ class WholeController extends Curd
                 if (in_array($prefix, [10, 11, 12, 13, 14, 15])) {
                     $params['pay_category'] = 'WXPAY';
                     if ((!isset($result['return_code']) || $result['return_code'] != 'SUCCESS') || (!isset($result['result_code']) || $result['result_code'] != 'SUCCESS') || (empty($result['trade_state']) || $result['trade_state'] != 'SUCCESS')) {
-                        $order->order_status_system = $oldOrderStatus;
+                        $order->order_status_system = $oldOrderPaymentStatus;
                         $order->order_status_payment = 'PENDING';
                         $order->order_is_complete = 'N';
 //                        Db::rollBack();
@@ -1107,7 +1107,7 @@ class WholeController extends Curd
                 } else if (in_array($prefix, [25, 26, 27, 28, 29, 30])) {
                     $params['pay_category'] = 'ALIPAY';
                     if ((!isset($result['code']) || $result['code'] != '10000') || (empty($result['trade_status']) || $result['trade_status'] != 'TRADE_SUCCESS')) {
-                        $order->order_status_system = $oldOrderStatus;
+                        $order->order_status_system = $oldOrderPaymentStatus;
                         $order->order_status_payment = 'PENDING';
                         $order->order_is_complete = 'N';
 //                        Db::rollBack();
@@ -1307,7 +1307,7 @@ class WholeController extends Curd
                 // 上级提成
                 Event::dispatch('commission.order', $params);
                 // 入收支明细表
-                $params['inout_category'] = $oldOrderStatus == 'AWAITING' ? '挂账订单结算收入' : '餐饮订单收入';
+                $params['inout_category'] = $oldOrderPaymentStatus == 'AWAITING' ? '挂账订单结算收入' : '餐饮订单收入';
                 Event::dispatch('statistics.inout.in', $params);
             }
 
@@ -1441,7 +1441,7 @@ class WholeController extends Curd
         }
 
         $order = Order::where('order_id', $params['order_id'])->first();
-        $oldOrderStatus = $order->order_status_system;
+        $oldOrderPaymentStatus = $order->order_status_payment;
         if (!$order) {
             return json_fail('订单异常');
         }
@@ -1769,7 +1769,7 @@ class WholeController extends Curd
                 // 上级提成
                 Event::dispatch('commission.order', $params);
                 // 入收支明细表
-                $params['inout_category'] = $oldOrderStatus == 'AWAITING' ? '挂账订单结算收入' : '餐饮订单收入';
+                $params['inout_category'] = $oldOrderPaymentStatus == 'AWAITING' ? '挂账订单结算收入' : '餐饮订单收入';
                 Event::dispatch('statistics.inout.in', $params);
             }
 
@@ -4746,7 +4746,8 @@ class WholeController extends Curd
         }
 
         $order = Order::where('order_id', $orderId)->first();
-        $oldOrderStatus = $order->order_status_system;
+        $oldOrderPaymentStatus = $order->order_status_payment;
+        //order_status_payment
         if (!$order) {
             return json_fail('订单不存在');
         }
@@ -4765,10 +4766,10 @@ class WholeController extends Curd
         try {
             Db::beginTransaction();
             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') {
                     $order->order_status_payment = 'SUCCESS';
                     if (in_array($order->order_category, ['SERVICE', 'CHNMED', 'CHNNCD', 'PACKAGE'])) {
@@ -4794,7 +4795,11 @@ class WholeController extends Curd
                         OrderSheet::where('join_sheet_order_id', $orderId)->where('order_sheet_status', 'PAYING')->update(['order_sheet_status' => 'DONE']);
                     }
                     // 支付记录
-                    PayDetail::where('join_pay_order_id', $order->order_groupby)->where('pay_prepayid', 'WXPAY')->update(['pay_status' => 'SUCCESS']);
+                    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($result)
+                    ]);
 
                     // 优惠券标记使用
                     $this->changeOrderCouponStatus($discountJson, 'USED');
@@ -4804,7 +4809,7 @@ class WholeController extends Curd
                     // 给上级提成
                     Event::dispatch('commission.order', $params);
                     // 收支明细
-                    $params['inout_category'] = $oldOrderStatus == 'AWAITING' ? '挂账订单结算收入' : ($order->order_classify == 'VIP' ? '购买康养城VIP套餐包收入' : '餐饮订单收入');
+                    $params['inout_category'] = $oldOrderPaymentStatus == 'AWAITING' ? '挂账订单结算收入' : ($order->order_classify == 'VIP' ? '购买康养城VIP套餐包收入' : '餐饮订单收入');
                     Event::dispatch('statistics.inout.in', $params);
 
                     return json_success('success');
@@ -4838,7 +4843,11 @@ class WholeController extends Curd
                         OrderSheet::where('join_sheet_order_id', $orderId)->where('order_sheet_status', 'PAYING')->update(['order_sheet_status' => 'DONE']);
                     }
                     // 支付记录
-                    PayDetail::where('join_pay_order_id', $order->order_groupby)->where('pay_prepayid', 'ALIPAY')->update(['pay_status' => 'SUCCESS']);
+                    PayDetail::where('join_pay_order_id', $order->order_groupby)->where('pay_prepayid', 'ALIPAY')->update([
+                        'pay_status' => 'SUCCESS',
+                        'pay_paytimes' => date('Y-m-d H:i:s'),
+                        'pay_json_response' => json_encode($result)
+                    ]);
 
                     // 优惠券标记使用
                     $this->changeOrderCouponStatus($discountJson, 'USED');
@@ -4848,7 +4857,7 @@ class WholeController extends Curd
                     Event::dispatch('commission.order', $params);
 
                     // 收支明细
-                    $params['inout_category'] = $oldOrderStatus == 'AWAITING' ? '挂账订单结算收入' : ($order->order_classify == 'VIP' ? '购买康养城VIP套餐包收入' : '餐饮订单收入');
+                    $params['inout_category'] = $oldOrderPaymentStatus == 'AWAITING' ? '挂账订单结算收入' : ($order->order_classify == 'VIP' ? '购买康养城VIP套餐包收入' : '餐饮订单收入');
                     Event::dispatch('statistics.inout.in', $params);
 
                     return json_success('success');
@@ -4907,7 +4916,11 @@ class WholeController extends Curd
                         OrderSheet::where('join_sheet_order_id', $order['order_id'])->where('order_sheet_status', 'PAYING')->update(['order_sheet_status' => 'DONE']);
 
                         // 支付记录
-                        PayDetail::where('join_pay_order_id', $order['order_groupby'])->where('pay_prepayid', 'WXPAY')->update(['pay_status' => 'SUCCESS']);
+                        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($result)
+                        ]);
 
                         $discountJson = [];
                         if (!empty($orders[0]['order_discount_json'])) {
@@ -4936,7 +4949,11 @@ class WholeController extends Curd
                         // Sheet
                         OrderSheet::where('join_sheet_order_id', $order['order_id'])->where('order_sheet_status', 'PAYING')->update(['order_sheet_status' => 'DONE']);
                         // 支付记录
-                        PayDetail::where('join_pay_order_id', $order['order_groupby'])->where('pay_prepayid', 'ALIPAY')->update(['pay_status' => 'SUCCESS']);
+                        PayDetail::where('join_pay_order_id', $order['order_groupby'])->where('pay_prepayid', 'ALIPAY')->update([
+                            'pay_status' => 'SUCCESS',
+                            'pay_paytimes' => date('Y-m-d H:i:s'),
+                            'pay_json_response' => json_encode($result)
+                        ]);
                         // 优惠券标记使用
                         $discountJson = [];
                         if (!empty($orders[0]['order_discount_json'])) {

+ 0 - 1
app/event/statistics/InOutEvent.php

@@ -102,7 +102,6 @@ class InOutEvent
                 } elseif (count($prepayId) > 1) {
                     $data['pay_type'] = $prepayId[1];
                 }
-
                 if (!empty($payDetail['pay_json_response'])) {
                     $payJsonResponse = json_decode($payDetail['pay_json_response'], true);
                     if (isset($payJsonResponse['transaction_id'])){