cxhxy/app/admin/model/User.php
test_service d3170b4d1c 1
2023-12-01 15:43:29 +08:00

83 lines
2.3 KiB
PHP
Executable File

<?php
namespace app\admin\model;
use app\common\model\User as UserModel;
use think\facade\Session;
use think\facade\Db;
/**
* 用户模型
*/
class User extends UserModel
{
/**
* 管理员用户登录
*/
public function login(array $data)
{
if(!captcha_check($data['captcha'])){
$this->error = '验证码错误';
return false;
}
$filter = [
'user_name' => $data['user_name'],
'status' => 10
];
// 验证用户名密码是否正确
if (!$user = $this->where($filter)->find()){
$this->error = '账号错误';
return false;
}
if($user['password'] != hema_hash($data['password'])){
$this->error = '密码错误';
return false;
}
// 保存登录状态
Session::set('hema_admin', [
'user' => $user,
'is_login' => true,
]);
return true;
}
/**
* 更新当前管理员信息
*/
public function renew(array $data)
{
if ($data['password'] != $data['password_confirm']) {
$this->error = '确认密码不正确';
return false;
}
$data['password'] = hema_hash($data['password']);
// 更新管理员信息
return $this->save($data) !== false;
}
/**
* 代理操作
*/
public function agentAction()
{
if($this->status['value'] == 20){
return $this->save(['status' => 30]) !== false;//设置为代理
}
Db::startTrans();// 开启事务
try {
$this->save(['status' => 20]);//取消代理
Applet::where('agent_id',$this->user_id)->update(['agent_id' => 0]);
User::where('agent_id',$this->user_id)->update(['agent_id' => 0]);
DivideAccount::where('agent_id',$this->user_id)->delete();
Template::where('agent_id',$this->user_id)->delete();
Apply::where('agent_id',$this->user_id)->delete();
Record::where('user_id',$this->user_id)->delete();
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
}
return false;
}
}