<?php
|
|
namespace app\operations\model\shop;
|
|
use app\common\model\shop\LoginLog as LoginLogModel;
|
use app\common\model\shop\User as UserModel;
|
/**
|
* 区域代理后台管理员登录模型
|
*/
|
class User extends UserModel
|
{
|
/**
|
*检查登录
|
*/
|
public function checkLogin($user)
|
{
|
$where['user_name'] = $user['username'];
|
$where['password'] = $user['password'];
|
$where['is_delete'] = 0;
|
|
if (!$user = $this->where($where)->with(['app'])->find()) {
|
return false;
|
}
|
if (empty($user['app'])) {
|
$this->error = '登录失败, 未找到应用信息';
|
return false;
|
}
|
if ($user['app']['is_recycle']) {
|
$this->error = '登录失败, 当前应用已禁用';
|
return false;
|
}
|
if ($user['app']['is_delete']) {
|
$this->error = '登录失败, 当前应用已删除';
|
return false;
|
}
|
// 保存登录状态
|
$this->loginState($user);
|
// 写入登录日志
|
LoginLogModel::add($where['user_name'], \request()->ip(), '登录成功');
|
return true;
|
}
|
|
/**
|
* 保存登录状态
|
*/
|
public function loginState($user)
|
{
|
$app = $user['app'];
|
// 保存登录状态
|
$session = array(
|
'user' => [
|
'shop_user_id' => $user['shop_user_id'],
|
'user_name' => $user['user_name'],
|
],
|
'app' => $app->toArray(),
|
'is_login' => true,
|
);
|
session('jjjshop_operations', $session);
|
}
|
|
/*
|
* 修改密码
|
*/
|
public function editPass($data, $user)
|
{
|
$user_info = User::detail($user['shop_user_id']);
|
if ($data['password'] != $data['confirmPass']) {
|
$this->error = '密码错误';
|
return false;
|
}
|
if ($user_info['password'] != salt_hash($data['oldpass'])) {
|
$this->error = '两次密码不相同';
|
return false;
|
}
|
$date['password'] = salt_hash($data['password']);
|
$user_info->save($date);
|
return true;
|
}
|
|
}
|