Ejemplo n.º 1
0
 private function deleteMutiStaff($accountId)
 {
     $where = ['accountId' => $accountId, 'name' => MessageTemplate::STAFF_TITLE, 'mobile' => ['message' => MessageTemplate::STAFF_MOBILE_MESSAGE]];
     $number = MessageTemplate::count($where);
     if ($number >= 2) {
         $template = MessageTemplate::findOne($where);
         MessageTemplate::deleteAll(['_id' => $template->_id]);
     }
 }
 /**
  * delete muti redemption template and promotion template(delete-product-template)
  */
 public function actionDeleteProductTemplate()
 {
     $accountInfos = Account::findAll(['enabledMods' => ['$all' => ['product']]]);
     if ($accountInfos) {
         $redemptionTemplate = $promotionTemplate = [];
         foreach ($accountInfos as $accountInfo) {
             if (empty($redemptionTemplate) || empty($promotionTemplate)) {
                 $datas = MessageTemplate::getDefaultTemplateData($accountInfo['_id']);
                 foreach ($datas as $data) {
                     if ($data['name'] == MessageTemplate::REDEMPTION_TITLE) {
                         $redemptionTemplate = ['name' => $data['name'], 'weChat' => $data['weChat'], 'email' => $data['email'], 'mobile' => $data['mobile']];
                     }
                     if ($data['name'] == MessageTemplate::PROMOTIONCODE_TITLE) {
                         $promotionTemplate = ['name' => $data['name'], 'weChat' => $data['weChat'], 'email' => $data['email'], 'mobile' => $data['mobile']];
                     }
                 }
             }
             $redemptionTemplate['accountId'] = $accountInfo['_id'];
             $promotionTemplate['accountId'] = $accountInfo['_id'];
             $redemptionDatas = MessageTemplate::findAll($redemptionTemplate);
             if (count($redemptionDatas) >= 2) {
                 MessageTemplate::deleteAll(['_id' => $redemptionDatas[0]->_id]);
                 echo 'delete redemptionTemplate id:' . $redemptionDatas[0]->_id . PHP_EOL;
             }
             $promotionDatas = MessageTemplate::findAll($promotionTemplate);
             if (count($promotionDatas) >= 2) {
                 MessageTemplate::deleteAll(['_id' => $promotionDatas[0]->_id]);
                 echo 'delete promotionTemplate id:' . $promotionDatas[0]->_id . PHP_EOL;
             }
         }
     }
     echo 'over' . PHP_EOL;
 }
Ejemplo n.º 3
0
 /**
  * create a user by email(generate-by-email)
  */
 public function actionGenerateByEmail($email)
 {
     $email = mb_strtolower($email);
     $user = User::getByEmail($email);
     if (!empty($user)) {
         echo 'email is used' . PHP_EOL;
         return;
     }
     $name = Yii::$app->params['defaultName'];
     $accountId = Account::create('', '', $name);
     $attributes = ['status' => Account::STATUS_ACTIVATED, 'availableExtMods' => Yii::$app->params['extMods'], 'serviceStartAt' => new \MongoDate()];
     Account::updateAll($attributes, ['_id' => $accountId]);
     $salt = StringUtil::rndString(6);
     $password = User::encryptPassword(md5(Yii::$app->params['defaultPwd']), $salt);
     $user = new User();
     $user->email = $email;
     $user->accountId = $accountId;
     $user->name = $name;
     $user->role = User::ROLE_ADMIN;
     $user->isActivated = User::ACTIVATED;
     $user->avatar = Yii::$app->params['defaultAvatar'];
     $user->language = Yii::$app->params['defaultLanguage'];
     $user->salt = $salt;
     $user->password = $password;
     if (!$user->save()) {
         Account::deleteAll(['_id' => $accountId]);
         SensitiveOperation::deleteAll(['accountId' => $accountId]);
         MessageTemplate::deleteAll(['accountId' => $accountId]);
         echo 'create account fail' . PHP_EOL;
     } else {
         echo 'create account successfully' . PHP_EOL;
     }
 }