public static function createSmsJob($condition, $operator, $smsName) { $totalCount = 0; $accountId = Token::getAccountId(); if (!array_key_exists('accountId', $condition)) { $condition = array_merge($condition, ['accountId' => $accountId]); } switch ($smsName) { case 'cny_winners': $smsTemplate = self::CNY_WINNERS_SMS_TEMPLATE; $totalCount = LuckyDrawWinner::find()->where($condition)->count(); break; default: break; } $recordId = BulkSmsRecord::createSmsRecord($operator, $smsName, $smsTemplate, $totalCount); if (is_bool($recordId) && !$recordId) { throw new ServerErrorHttpException("發送失敗,請刷新頁面重試!"); } $args = ['condition' => serialize($condition), 'smsName' => $smsName, 'smsRecord' => (string) $recordId]; $jobId = Yii::$app->job->create('backend\\modules\\uhkklp\\job\\BulkSms', $args); if (!empty($jobId)) { return ['smsRecordId' => (string) $recordId, 'count' => $totalCount]; } else { throw new ServerErrorHttpException("發送失敗,請刷新頁面重試!"); } }