public static function updateSmsRecordById($id) { $smsCount = EarlyBirdSmsDetail::getCountBySmsRecordId($id); $smsRecord = EarlyBirdSmsRecord::findOne($id); $smsRecord->successful = $smsCount['successful']; $smsRecord->failed = $smsCount['failed']; $smsRecord->save(); return $smsRecord; }
public static function createSmsJob($condition, $operator, $smsTag) { $accountId = Token::getAccountId(); switch ($smsTag) { case 'sms_one': $smsTemplate = self::EARLY_BIRD_ONE_TEMPLATE; break; case 'sms_two': $smsTemplate = self::EARLY_BIRD_TWO_TEMPLATE; break; case 'sms_three': $smsTemplate = self::EARLY_BIRD_THREE_TEMPLATE; break; case 'sms_four': $smsTemplate = self::EARLY_BIRD_FOUR_TEMPLATE; break; default: break; } $recordId = EarlyBirdSmsRecord::createSmsRecord($operator, $smsTag, $smsTemplate); $count = 0; if (is_bool($recordId) && !$recordId) { throw new ServerErrorHttpException("發送失敗,請刷新頁面重試!"); } if (!array_key_exists('accountId', $condition)) { $condition = array_merge($condition, ['accountId' => $accountId]); } if ($smsTag == 'sms_four') { $count = count(self::getMemberCanDraw($condition)); // get發送總量 } else { $count = Member::find()->where($condition)->count(); } $smsRecord = EarlyBirdSmsRecord::findOne($recordId); // set發送總量 $smsRecord->total = $count; $smsRecord->save(); unset($smsRecord); $args = ['condition' => serialize($condition), 'smsTag' => $smsTag, 'smsRecord' => (string) $recordId]; $jobId = Yii::$app->job->create('backend\\modules\\uhkklp\\job\\EarlyBirdSendSms', $args); if (!empty($jobId)) { return ['smsRecordId' => (string) $recordId, 'count' => $count]; } else { throw new ServerErrorHttpException("發送失敗,請刷新頁面重試!"); } }