2025-03-16 17:43:30 +08:00
|
|
|
<?php
|
|
|
|
|
namespace app\common\model;
|
|
|
|
|
|
|
|
|
|
use think\Model;
|
2025-03-16 19:24:37 +08:00
|
|
|
use think\model\concern\SoftDelete;
|
2025-03-16 17:43:30 +08:00
|
|
|
|
|
|
|
|
class User extends Model
|
|
|
|
|
{
|
2025-03-16 19:24:37 +08:00
|
|
|
use SoftDelete;
|
|
|
|
|
|
2025-03-16 17:43:30 +08:00
|
|
|
/**
|
|
|
|
|
* 数据表名
|
|
|
|
|
* @var string
|
|
|
|
|
*/
|
2025-04-12 15:08:21 +08:00
|
|
|
protected $table = 'ck_users';
|
2025-03-16 19:24:37 +08:00
|
|
|
|
2025-04-16 17:14:48 +08:00
|
|
|
// 自动写入时间戳
|
|
|
|
|
protected $autoWriteTimestamp = true;
|
|
|
|
|
protected $createTime = 'createTime';
|
|
|
|
|
protected $updateTime = 'updateTime';
|
2025-04-29 11:04:41 +08:00
|
|
|
protected $defaultSoftDelete = 0;
|
2025-04-16 17:14:48 +08:00
|
|
|
|
2025-03-16 19:24:37 +08:00
|
|
|
/**
|
|
|
|
|
* 主键
|
|
|
|
|
* @var string
|
|
|
|
|
*/
|
|
|
|
|
protected $pk = 'id';
|
2025-03-16 17:43:30 +08:00
|
|
|
|
2025-03-16 19:24:37 +08:00
|
|
|
/**
|
|
|
|
|
* 软删除字段
|
|
|
|
|
* @var string
|
|
|
|
|
*/
|
2025-03-27 15:28:38 +08:00
|
|
|
protected $deleteTime = 'deleteTime';
|
2025-03-16 17:43:30 +08:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 隐藏属性
|
|
|
|
|
* @var array
|
|
|
|
|
*/
|
2025-03-27 15:28:38 +08:00
|
|
|
protected $hidden = ['passwordMd5', 'passwordLocal', 'deleteTime'];
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 字段类型
|
|
|
|
|
* @var array
|
|
|
|
|
*/
|
|
|
|
|
protected $type = [
|
|
|
|
|
'id' => 'integer',
|
|
|
|
|
'isAdmin' => 'integer',
|
|
|
|
|
'companyId' => 'integer',
|
|
|
|
|
'typeId' => 'integer',
|
|
|
|
|
'lastLoginTime' => 'integer',
|
|
|
|
|
'status' => 'integer',
|
|
|
|
|
'createTime' => 'integer',
|
|
|
|
|
'updateTime' => 'integer',
|
|
|
|
|
'deleteTime' => 'integer'
|
|
|
|
|
];
|
2025-03-16 17:43:30 +08:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 通过手机号获取用户信息
|
2025-03-27 15:28:38 +08:00
|
|
|
* @param string $account 手机号
|
2025-03-16 17:43:30 +08:00
|
|
|
* @return array|null
|
|
|
|
|
*/
|
2025-03-27 15:28:38 +08:00
|
|
|
public static function getUserByMobile($account)
|
2025-03-16 17:43:30 +08:00
|
|
|
{
|
2025-03-16 19:24:37 +08:00
|
|
|
// 查询用户
|
2025-03-27 15:28:38 +08:00
|
|
|
$user = self::where('account', $account)
|
|
|
|
|
->where('status', 1)
|
|
|
|
|
->find();
|
2025-03-16 19:24:37 +08:00
|
|
|
|
|
|
|
|
if (!$user) {
|
|
|
|
|
return null;
|
2025-03-16 17:43:30 +08:00
|
|
|
}
|
2025-03-16 19:24:37 +08:00
|
|
|
|
2025-03-27 16:01:29 +08:00
|
|
|
// 用手机号当做默认用户名(如果没有设置用户名)
|
|
|
|
|
$username = $user->username ?: $user->account;
|
|
|
|
|
// 默认头像地址
|
|
|
|
|
$avatar = $user->avatar ?: '';
|
|
|
|
|
|
2025-03-16 19:24:37 +08:00
|
|
|
return [
|
|
|
|
|
'id' => $user->id,
|
2025-03-27 16:01:29 +08:00
|
|
|
'username' => $username,
|
2025-03-27 15:28:38 +08:00
|
|
|
'account' => $user->account,
|
2025-03-27 16:01:29 +08:00
|
|
|
'avatar' => $avatar,
|
2025-03-27 15:28:38 +08:00
|
|
|
'isAdmin' => $user->isAdmin,
|
|
|
|
|
'companyId' => $user->companyId,
|
|
|
|
|
'typeId' => $user->typeId,
|
2025-03-27 16:01:29 +08:00
|
|
|
'lastLoginIp' => $user->lastLoginIp,
|
|
|
|
|
'lastLoginTime' => $user->lastLoginTime
|
2025-03-16 19:24:37 +08:00
|
|
|
];
|
2025-03-16 17:43:30 +08:00
|
|
|
}
|
|
|
|
|
}
|