Просмотр исходного кода

订单回调-现金支付回调走新的订单成功方法

sunxbiao месяцев назад: 5
Родитель
Сommit
602060c81d
1 измененных файлов с 77 добавлено и 74 удалено
  1. 77 74
      app/controller/api/Notify.php

+ 77 - 74
app/controller/api/Notify.php

@@ -127,85 +127,87 @@ class Notify
127 127
                             }
128 128
                             break;
129 129
                         case 'pay':
130
-                            $group_order = Db::name('store_group_order')->where('group_order_sn', $requestId[0])->find();
131
-                            $uid = $group_order['uid'];
132
-                            if (in_array($uid, [1592, 766, 6, 783, 7, 1166, 4604, 4782])) {
133
-                                /** ************** 定义参数 ************** */
134
-                                // 订单编号
135
-                                $groupOrderSn_Rand = $post_data_str['order_no'];
136
-                                // 订单号
137
-                                $groupOrderSn = $requestId[0];
138
-                                // 随机值
139
-                                $rand = $requestId[1];
140
-                                // 支付人ID
141
-                                $payOpenId = $post_data_str['expend']['open_id'];
142
-                                // 支付撤销方法
143
-                                $paymentReverseFunc = function ($payWX, $payType, $groupOrderSn_Rand, $paymentId, $appId, $orderNo, $reverseAmt, $notifyUrl = '') {
144
-                                    if ($payWX == StoreGroupOrderEnum::PAY_WX['TDYL']['code']) {
145
-                                        $key = 'api_live_b0a687ec-5450-4ada-a0e4-65bac0f46871';
146
-                                    } else {
147
-                                        $key = 'api_live_90ef02e4-54ac-41ee-adf1-e4927d23d58f';
148
-                                    }
149
-                                    $refundTraits = [
150
-                                        'payment_id' => $paymentId,
151
-                                        'app_id' => $appId,
152
-                                        'order_no' => $orderNo,
153
-                                        'reverse_amt' => $reverseAmt,
154
-                                        'notify_url' => $notifyUrl ?: env('APP_URL') . "/api/hf_notify/reverse_order",
155
-                                    ];
156
-                                    $hfRefundRes = app()->make(StoreRefundOrderRepository::class)->payment_Reverse($refundTraits, $payType == '1' ? 2 : 1, $payWX, $key);
157
-                                    Db::name("log")
158
-                                        ->insert([
159
-                                            'data' => '【订单支付回调】【03】:时间:' . date('Y-m-d H:i:s', time()) . ';订单编号:' . $groupOrderSn_Rand . ';汇付支付撤销请求参数:' . json_encode($refundTraits) . ';汇付支付撤销返回结果:' . json_encode($hfRefundRes)
160
-                                        ]);
161
-                                };
162
-                                /** *************** 定义结束 *************** */
163
-
164
-                                /** 逻辑开始 */
165
-                                // 1、获取订单数据
166
-                                /** @var StoreGroupOrderRepository $storeGroupOrderRepository */
167
-                                $storeGroupOrderRepository = app()->make(StoreGroupOrderRepository::class);
168
-                                // 获取订单组数据
169
-                                $storeGroupOrderEntity = $storeGroupOrderRepository->getStoreGroupOrderEntityByGroupOrderSn($groupOrderSn);
170
-                                if (empty($storeGroupOrderEntity->getGroupOrderId())) {
171
-                                    Db::name("log")
172
-                                        ->insert([
173
-                                            'data' => '【订单支付回调】【01】:时间:' . date('Y-m-d H:i:s', time()) . ';订单编号:' . $groupOrderSn_Rand . ';订单组查询失败'
174
-                                        ]);
175
-                                    break;
176
-                                }
177
-                                /** @var StoreOrderRepository $storeOrderRepository */
178
-                                $storeOrderRepository = app()->make(StoreOrderRepository::class);
179
-                                // 获取订单集合
180
-                                $storeOrderEntityList = $storeOrderRepository->getStoreOrderEntityListByGroupOrderId($storeGroupOrderEntity->getGroupOrderId());
181
-                                if (empty($storeOrderEntityList)) {
182
-                                    Db::name("log")
183
-                                        ->insert([
184
-                                            'data' => '【订单支付回调】【02】:时间:' . date('Y-m-d H:i:s', time()) . ';订单编号:' . $groupOrderSn_Rand . ';订单集合查询失败'
185
-                                        ]);
186
-                                    break;
130
+                            /** ************** 定义参数 ************** */
131
+                            // 订单编号
132
+                            $groupOrderSn_Rand = $post_data_str['order_no'];
133
+                            // 订单号
134
+                            $groupOrderSn = $requestId[0];
135
+                            // 随机值
136
+                            $rand = $requestId[1];
137
+                            // 支付人ID
138
+                            $payOpenId = $post_data_str['expend']['open_id'];
139
+                            // 支付撤销方法
140
+                            $paymentReverseFunc = function ($payWX, $payType, $groupOrderSn_Rand, $paymentId, $appId, $orderNo, $reverseAmt, $notifyUrl = '') {
141
+                                if ($payWX == StoreGroupOrderEnum::PAY_WX['TDYL']['code']) {
142
+                                    $key = 'api_live_b0a687ec-5450-4ada-a0e4-65bac0f46871';
143
+                                } else {
144
+                                    $key = 'api_live_90ef02e4-54ac-41ee-adf1-e4927d23d58f';
187 145
                                 }
146
+                                $refundTraits = [
147
+                                    'payment_id' => $paymentId,
148
+                                    'app_id' => $appId,
149
+                                    'order_no' => $orderNo,
150
+                                    'reverse_amt' => $reverseAmt,
151
+                                    'notify_url' => $notifyUrl ?: env('APP_URL') . "/api/hf_notify/reverse_order",
152
+                                ];
153
+                                $hfRefundRes = app()->make(StoreRefundOrderRepository::class)->payment_Reverse($refundTraits, $payType == '1' ? 2 : 1, $payWX, $key);
154
+                                Db::name("log")
155
+                                    ->insert([
156
+                                        'data' => '【订单支付回调】【03】:时间:' . date('Y-m-d H:i:s', time()) . ';订单编号:' . $groupOrderSn_Rand . ';汇付支付撤销请求参数:' . json_encode($refundTraits) . ';汇付支付撤销返回结果:' . json_encode($hfRefundRes)
157
+                                    ]);
158
+                            };
159
+                            /** *************** 定义结束 *************** */
160
+
161
+                            /** 逻辑开始 */
162
+                            // 1、获取订单数据
163
+                            /** @var StoreGroupOrderRepository $storeGroupOrderRepository */
164
+                            $storeGroupOrderRepository = app()->make(StoreGroupOrderRepository::class);
165
+                            // 获取订单组数据
166
+                            $storeGroupOrderEntity = $storeGroupOrderRepository->getStoreGroupOrderEntityByGroupOrderSn($groupOrderSn);
167
+                            if (empty($storeGroupOrderEntity->getGroupOrderId())) {
168
+                                Db::name("log")
169
+                                    ->insert([
170
+                                        'data' => '【订单支付回调】【01】:时间:' . date('Y-m-d H:i:s', time()) . ';订单编号:' . $groupOrderSn_Rand . ';订单组查询失败'
171
+                                    ]);
172
+                                break;
173
+                            }
174
+                            /** @var StoreOrderRepository $storeOrderRepository */
175
+                            $storeOrderRepository = app()->make(StoreOrderRepository::class);
176
+                            // 获取订单集合
177
+                            $storeOrderEntityList = $storeOrderRepository->getStoreOrderEntityListByGroupOrderId($storeGroupOrderEntity->getGroupOrderId());
178
+                            if (empty($storeOrderEntityList)) {
179
+                                Db::name("log")
180
+                                    ->insert([
181
+                                        'data' => '【订单支付回调】【02】:时间:' . date('Y-m-d H:i:s', time()) . ';订单编号:' . $groupOrderSn_Rand . ';订单集合查询失败'
182
+                                    ]);
183
+                                break;
184
+                            }
188 185
 
189
-                                // 2、判断订单是否已经被代付 如果已记录支付人 并且不是自己,则可能有人代付,则将本次的支付撤回
190
-                                foreach ($storeOrderEntityList as $storeOrderEntity) {
191
-                                    if (!empty($storeOrderEntity->getPayOpenId())) {
192
-                                        if ($storeOrderEntity->getPayOpenId() != $payOpenId) {
193
-                                            // 如果已经被用户支付 撤回支付
194
-                                            $orderNo = app()->make(StoreRefundOrderRepository::class)->getNewOrderId();
195
-                                            $paymentReverseFunc($storeGroupOrderEntity->getPayWx(), $pay_type, $groupOrderSn_Rand, $post_data_str['id'], $post['app_id'], $orderNo, $post_data_str['pay_amt']);
196
-                                            break 2;
197
-                                        }
198
-                                    } else {
199
-                                        $storeOrderEntity->setPayOpenId($payOpenId);
186
+                            // 2、判断订单是否已经被代付 如果已记录支付人 并且不是自己,则可能有人代付,则将本次的支付撤回
187
+                            foreach ($storeOrderEntityList as $storeOrderEntity) {
188
+                                if (!empty($storeOrderEntity->getPayOpenId())) {
189
+                                    if ($storeOrderEntity->getPayOpenId() != $payOpenId) {
190
+                                        // 如果已经被用户支付 撤回支付
191
+                                        $orderNo = app()->make(StoreRefundOrderRepository::class)->getNewOrderId();
192
+                                        $paymentReverseFunc($storeGroupOrderEntity->getPayWx(), $pay_type, $groupOrderSn_Rand, $post_data_str['id'], $post['app_id'], $orderNo, $post_data_str['pay_amt']);
193
+                                        break 2;
200 194
                                     }
195
+                                } else {
196
+                                    $storeOrderEntity->setPayOpenId($payOpenId);
201 197
                                 }
202
-                                // 如果已支付 不做后续处理
203
-                                if ($storeGroupOrderEntity->getPaid() == StoreGroupOrderEnum::PAID['YES']['code']) {
204
-                                    break;
205
-                                }
198
+                            }
199
+                            // 如果已支付 不做后续处理
200
+                            if ($storeGroupOrderEntity->getPaid() == StoreGroupOrderEnum::PAID['YES']['code']) {
201
+                                break;
202
+                            }
203
+
204
+                            // 3、支付成功 处理逻辑
205
+                            $storeGroupOrderRepository->storeGroupOrderPaySuccess($storeGroupOrderEntity->getGroupOrderId());
206
+                            /*
207
+                            $group_order = Db::name('store_group_order')->where('group_order_sn', $requestId[0])->find();
208
+                            $uid = $group_order['uid'];
209
+                            if (in_array($uid, [1592, 766, 6, 783, 7, 1166, 4604, 4782])) {
206 210
 
207
-                                // 3、支付成功 处理逻辑
208
-                                $storeGroupOrderRepository->storeGroupOrderPaySuccess($storeGroupOrderEntity->getGroupOrderId());
209 211
                             } else {
210 212
                             // 判断代付是否支付过
211 213
                             $group_order = Db::name('store_group_order')->where('group_order_sn', $requestId[0])->find();
@@ -965,6 +967,7 @@ class Notify
965 967
                             event('pay_success_order', ['order_sn' => $requestId[0],'pay_type'=>$pay_type]);
966 968
 
967 969
                             }
970
+                            */
968 971
                             break;
969 972
                         case 'pay_channel':
970 973
                             //渠道商