初始化仓库
This commit is contained in:
60
service/models/forms/UpdatePasswordForm.php
Normal file
60
service/models/forms/UpdatePasswordForm.php
Normal file
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
|
||||
namespace service\models\forms;
|
||||
|
||||
use common\core\BaseModel;
|
||||
use common\models\ServiceUserToken;
|
||||
use service\models\ServiceUser;
|
||||
use yii\base\Exception;
|
||||
|
||||
// 更新密码
|
||||
class UpdatePasswordForm extends BaseModel
|
||||
{
|
||||
public $password_old;
|
||||
public $password_new;
|
||||
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
[['password_old', 'password_new'], 'required'],
|
||||
[['password_old', 'password_new'], 'string'],
|
||||
['password_old', 'validatePassword'],
|
||||
];
|
||||
}
|
||||
|
||||
public function attributeLabels()
|
||||
{
|
||||
return [
|
||||
'password_old' => '旧密码',
|
||||
'password_new' => '新密码',
|
||||
];
|
||||
}
|
||||
|
||||
public function validatePassword($attribute, $params)
|
||||
{
|
||||
/* @var ServiceUser $user */
|
||||
$user = \Yii::$app->user->identity;
|
||||
|
||||
if(!$user->validatePassword($this->password_old)){
|
||||
$this->addError($attribute, '旧密码错误');
|
||||
}
|
||||
}
|
||||
|
||||
public function updatePassword()
|
||||
{
|
||||
$t = \Yii::$app->db->beginTransaction();
|
||||
|
||||
try {
|
||||
/* @var ServiceUser $user */
|
||||
$user = \Yii::$app->user->identity;
|
||||
$user->setPassword($this->password_new);
|
||||
$user->saveOrFail();
|
||||
|
||||
$t->commit();
|
||||
return [];
|
||||
} catch (Exception $e) {
|
||||
$t->rollBack();
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user