where(['is_delete' => 0, 'is_pay' => 0]) ->andWhere(['OR', ['LIKE', "order_no", 'ML'], ['LIKE', "order_no", 'AL'], ['LIKE', "order_no", 'SC']]) ->groupBy('order_no')->select('order_no')->orderBy('created_at ASC')->asArray()->all(); $share_receiver_order_no = []; foreach ($share_receiver as $receiver_item) { $orderNoHead = substr($receiver_item['order_no'], 0, 2); if (in_array($orderNoHead, ['ML', 'AL'])) { $order = \app\models\Order::findOne(['order_no' => $receiver_item['order_no'], 'is_sale' => 1, 'is_delete' => 0, 'pay_type' => \app\models\Order::PAY_TYPE_WECHAT]); if ($order) { array_push($share_receiver_order_no, $receiver_item['order_no']); } } if ($orderNoHead === "SC") { $scan_order = \app\plugins\scanCodePay\models\Order::findOne(['order_no' => $receiver_item['order_no']]); if ($scan_order) { array_push($share_receiver_order_no, $receiver_item['order_no']); } } } $orderUtil = new \app\utils\OrderUtil(); foreach ($share_receiver_order_no as $item) { $orderNoHead = substr($item, 0, 2); if (in_array($orderNoHead, ['ML', 'AL'])) { $order = \app\models\Order::findOne(['order_no' => $item]); } else { $order = \app\plugins\scanCodePay\models\Order::findOne(['order_no' => $item]); } if ($order) { $store_id = $order->store_id; if($order->transaction_id){ //检测微信是否收货 $app = \app\utils\Wechat\WechatMini::getWechatConfig($order->store_id); $form = new \app\modules\admin\models\WechatThirdForm(['store_id' => $store_id]); $is_trade_managed = $form->is_trade_managed($app); $open = true; if($is_trade_managed){ $result = $form->wxOrderStateIsConfirm($app, $order); debug_log(['是否收货' => $result, 'order_no' => $item], 'SharingReceiver.log'); if(!$result){ $open = false; } } if($open){ try { $order_id_arr = $orderUtil->profitSharing($order, $store_id); } catch (\Exception $e) { debug_log('---- profitSharing END分账失败 ----' . $e->getMessage(), 'SharingReceiver.log'); } } } } } debug_log('完毕', 'SharingReceiver.log'); } catch (\Exception $e) { debug_log($e->getMessage(), 'SharingReceiver.log'); } } }