143 lines
3.7 KiB
PHP
143 lines
3.7 KiB
PHP
<?php
|
||
// +----------------------------------------------------------------------
|
||
// | likeadmin快速开发前后端分离管理后台(PHP版)
|
||
// +----------------------------------------------------------------------
|
||
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||
// | 开源版本可自由商用,可去除界面版权logo
|
||
// | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
|
||
// | github下载:https://github.com/likeshop-github/likeadmin
|
||
// | 访问官网:https://www.likeadmin.cn
|
||
// | likeadmin团队 版权所有 拥有最终解释权
|
||
// +----------------------------------------------------------------------
|
||
// | author: likeadminTeam
|
||
// +----------------------------------------------------------------------
|
||
|
||
namespace app\common\model\auth;
|
||
|
||
use app\common\enum\YesNoEnum;
|
||
use app\common\model\BaseModel;
|
||
use app\common\model\Company;
|
||
use app\common\model\dept\Dept;
|
||
use think\facade\Db;
|
||
use think\model\concern\SoftDelete;
|
||
use app\common\service\FileService;
|
||
|
||
class Admin extends BaseModel
|
||
{
|
||
use SoftDelete;
|
||
|
||
protected $deleteTime = 'delete_time';
|
||
|
||
protected $append = [
|
||
'role_id',
|
||
'dept_id',
|
||
'jobs_id',
|
||
];
|
||
|
||
|
||
/**
|
||
* @notes 关联角色id
|
||
* @param $value
|
||
* @param $data
|
||
* @return array
|
||
* @author 段誉
|
||
* @date 2022/11/25 15:00
|
||
*/
|
||
public function getRoleIdAttr($value, $data)
|
||
{
|
||
return AdminRole::where('admin_id', $data['id'])->column('role_id');
|
||
}
|
||
|
||
|
||
/**
|
||
* @notes 关联部门id
|
||
* @param $value
|
||
* @param $data
|
||
* @return array
|
||
* @author 段誉
|
||
* @date 2022/11/25 15:00
|
||
*/
|
||
public function getDeptIdAttr($value, $data)
|
||
{
|
||
return AdminDept::where('admin_id', $data['id'])->column('dept_id');
|
||
}
|
||
|
||
|
||
/**
|
||
* @notes 关联岗位id
|
||
* @param $value
|
||
* @param $data
|
||
* @return array
|
||
* @author 段誉
|
||
* @date 2022/11/25 15:01\
|
||
*/
|
||
public function getJobsIdAttr($value, $data)
|
||
{
|
||
return AdminJobs::where('admin_id', $data['id'])->column('jobs_id');
|
||
}
|
||
|
||
|
||
|
||
/**
|
||
* @notes 获取禁用状态
|
||
* @param $value
|
||
* @param $data
|
||
* @return string|string[]
|
||
* @author 令狐冲
|
||
* @date 2021/7/7 01:25
|
||
*/
|
||
public function getDisableDescAttr($value, $data)
|
||
{
|
||
return YesNoEnum::getDisableDesc($data['disable']);
|
||
}
|
||
|
||
/**
|
||
* @notes 最后登录时间获取器 - 格式化:年-月-日 时:分:秒
|
||
* @param $value
|
||
* @return string
|
||
* @author Tab
|
||
* @date 2021/7/13 11:35
|
||
*/
|
||
public function getLoginTimeAttr($value)
|
||
{
|
||
return empty($value) ? '' : date('Y-m-d H:i:s', $value);
|
||
}
|
||
|
||
/**
|
||
* @notes 头像获取器 - 头像路径添加域名
|
||
* @param $value
|
||
* @return string
|
||
* @author Tab
|
||
* @date 2021/7/13 11:35
|
||
*/
|
||
public function getAvatarAttr($value)
|
||
{
|
||
return empty($value) ? FileService::getFileUrl(config('project.default_image.admin_avatar')) : FileService::getFileUrl(trim($value, '/'));
|
||
}
|
||
|
||
public function company()
|
||
{
|
||
return $this->hasOne(Company::class, 'id', 'company_id');
|
||
}
|
||
|
||
public function getProvinceNameAttr($value)
|
||
{
|
||
return Db::name('geo_province')->where(['province_code' => $this->province])->value('province_name');
|
||
}
|
||
|
||
public function getCityNameAttr($value)
|
||
{
|
||
return Db::name('geo_city')->where(['city_code' => $this->city])->value('city_name');
|
||
}
|
||
|
||
public function getAreaNameAttr($value)
|
||
{
|
||
return Db::name('geo_area')->where(['area_code' => $this->area])->value('area_name');
|
||
}
|
||
|
||
public function getStreetNameAttr($value)
|
||
{
|
||
return Db::name('geo_street')->where(['street_code' => $this->street])->value('street_name');
|
||
}
|
||
|
||
} |