public function actionRegister() { //get request $postData = file_get_contents('php://input', true); $data = json_decode($postData, true); $mobile = $data['data']['phone']; Yii::getLogger()->log($data['data'], 2, "webhook"); //send sms if ($mobile != null && $mobile != '') { $reminder = new Reminder(); $createDate = time(); $reminder->mobile = $mobile; $reminder->createDate = $createDate; $reminder->updated = false; $reminder->origin = 'webhook'; $reminder->save(); $rid = $reminder->_id . ''; $reminder->url = $this->replaceHttp(Yii::$app->request->hostInfo) . "/user/reset_password/" . $rid; Yii::getLogger()->log($reminder->url, 2, "webhookUrl"); $reminder->save(); $name = null; $qry = new Query(); $qry->from('reward'); $list = $qry->all(); if ($list != null && count($list) > 0) { $name = $list[0]['name']; } if ($name == null) { $name = "\$25聖安娜蛋糕禮券"; } $content = "恭喜您參加家樂牌「儲分有賞」活動。您的帳戶已建立,立即按連結重設密碼並登入,即可查詢分數並有機會獲得" . $name . "!\n" . $reminder->url; Yii::getLogger()->log($content, 2, "content"); Yii::$app->sms->sendSms($reminder->mobile, $content); } }
public function actionQuery() { $code = 404; $rid = Yii::$app->request->get("rid"); $reminder = Reminder::findOne($rid); if ($reminder != null && !$reminder->updated) { $now = time(); if ($now - $reminder->createDate <= 3600) { $code = 200; } } \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON; return ['code' => $code]; }
public function actionResetPassword() { $code = 404; $rid = Yii::$app->request->post("rid"); $p = Yii::$app->request->post("p"); $reminder = Reminder::findOne($rid); if ($p != null && $reminder != null && !$reminder->updated) { $user = $this->getUserByPhone($reminder->mobile); $user = json_decode($user, true); $this->update(['phone' => $reminder->mobile, 'id' => $user['id'], 'custom_properties' => [['property_id' => 'pwd', 'value' => $p]]]); $reminder->updated = true; $reminder->save(); $code = 200; // sms $content = $user['name'] . "你好,你已成功重設密碼。\n使用家樂牌「儲分有賞」APP,毋須擔心忘記密碼,請即下載\nAndroid bit.ly/1DLiBly\niOS apple.co/1gEVFPt"; Yii::$app->sms->sendSms($reminder->mobile, $content); // send email. if (isset($user['email'])) { $email = $user['email']; $params = array('name' => $user['name']); $response = Yii::$app->email->sendMailByTemplate(MODIFY_PASSWORD, $email, $params); } } \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON; return ['code' => $code]; }