where(['status' => [PaidSinglePayLog::STATUS_CHECKING]])->orderBy('id desc')->limit(10); foreach ($query->each(100) as $log) { $is_install = MallAddons::isInstall($log->mall_id, AddonsEnum::ADDONS_NAME_JOIN_PAY); if (!$is_install) { // continue; } /** @var JoinpaySinglePayLog $log */ $cfg = \Yii::$app->services->setting->addons->get($log->mall_id, AddonsEnum::ADDONS_NAME_JOIN_PAY, 'basic'); $pay = new AlternativePay($cfg, $log->mall_id); $res = $pay->queryAlternativeOrder($log->merchant_order_no); if (!empty($res)) { $trans = \Yii::$app->db->beginTransaction(); try { $pay->updateSinglePayStatus($log,$res); $trans->commit(); } catch (\Exception $e) { $trans->rollBack(); \Yii::error('修改汇聚代付失败,获取结果:' . json_encode($res)); return ExitCode::UNSPECIFIED_ERROR; } } } \Yii::getLogger()->flush(true); return ExitCode::OK; } }