初始化-安装依赖
This commit is contained in:
60
server/plugin/saiadmin/app/model/system/SystemAttachment.php
Normal file
60
server/plugin/saiadmin/app/model/system/SystemAttachment.php
Normal file
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | saiadmin [ saiadmin快速开发框架 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: sai <1430792918@qq.com>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace plugin\saiadmin\app\model\system;
|
||||
|
||||
use plugin\saiadmin\basic\think\BaseModel;
|
||||
|
||||
/**
|
||||
* 附件模型
|
||||
*
|
||||
* sa_system_attachment 附件信息表
|
||||
*
|
||||
* @property $id 主键
|
||||
* @property $category_id 文件分类
|
||||
* @property $storage_mode 存储模式
|
||||
* @property $origin_name 原文件名
|
||||
* @property $object_name 新文件名
|
||||
* @property $hash 文件hash
|
||||
* @property $mime_type 资源类型
|
||||
* @property $storage_path 存储目录
|
||||
* @property $suffix 文件后缀
|
||||
* @property $size_byte 字节数
|
||||
* @property $size_info 文件大小
|
||||
* @property $url url地址
|
||||
* @property $remark 备注
|
||||
* @property $created_by 创建者
|
||||
* @property $updated_by 更新者
|
||||
* @property $create_time 创建时间
|
||||
* @property $update_time 修改时间
|
||||
*/
|
||||
class SystemAttachment extends BaseModel
|
||||
{
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
protected $table = 'sa_system_attachment';
|
||||
|
||||
/**
|
||||
* 原文件名搜索
|
||||
*/
|
||||
public function searchOriginNameAttr($query, $value)
|
||||
{
|
||||
$query->where('origin_name', 'like', '%' . $value . '%');
|
||||
}
|
||||
|
||||
/**
|
||||
* 文件类型搜索
|
||||
*/
|
||||
public function searchMimeTypeAttr($query, $value)
|
||||
{
|
||||
$query->where('mime_type', 'like', $value . '/%');
|
||||
}
|
||||
|
||||
}
|
||||
46
server/plugin/saiadmin/app/model/system/SystemCategory.php
Normal file
46
server/plugin/saiadmin/app/model/system/SystemCategory.php
Normal file
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | saiadmin [ saiadmin快速开发框架 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: sai <1430792918@qq.com>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace plugin\saiadmin\app\model\system;
|
||||
|
||||
use plugin\saiadmin\basic\think\BaseModel;
|
||||
|
||||
/**
|
||||
* 附件分类模型
|
||||
*
|
||||
* sa_system_category 附件分类表
|
||||
*
|
||||
* @property $id 分类ID
|
||||
* @property $parent_id 父id
|
||||
* @property $level 组集关系
|
||||
* @property $category_name 分类名称
|
||||
* @property $sort 排序
|
||||
* @property $status 状态
|
||||
* @property $remark 备注
|
||||
* @property $created_by 创建者
|
||||
* @property $updated_by 更新者
|
||||
* @property $create_time 创建时间
|
||||
* @property $update_time 修改时间
|
||||
*/
|
||||
class SystemCategory extends BaseModel
|
||||
{
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
protected $table = 'sa_system_category';
|
||||
|
||||
/**
|
||||
* 分类名称搜索
|
||||
*/
|
||||
public function searchCategoryNameAttr($query, $value)
|
||||
{
|
||||
$query->where('category_name', 'like', '%' . $value . '%');
|
||||
}
|
||||
|
||||
}
|
||||
45
server/plugin/saiadmin/app/model/system/SystemConfig.php
Normal file
45
server/plugin/saiadmin/app/model/system/SystemConfig.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | saiadmin [ saiadmin快速开发框架 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: sai <1430792918@qq.com>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace plugin\saiadmin\app\model\system;
|
||||
|
||||
use plugin\saiadmin\basic\think\BaseModel;
|
||||
|
||||
/**
|
||||
* 参数配置模型
|
||||
*
|
||||
* sa_system_config 参数配置信息表
|
||||
*
|
||||
* @property $id 编号
|
||||
* @property $group_id 组id
|
||||
* @property $key 配置键名
|
||||
* @property $value 配置值
|
||||
* @property $name 配置名称
|
||||
* @property $input_type 数据输入类型
|
||||
* @property $config_select_data 配置选项数据
|
||||
* @property $sort 排序
|
||||
* @property $remark 备注
|
||||
* @property $created_by 创建人
|
||||
* @property $updated_by 更新人
|
||||
* @property $create_time 创建时间
|
||||
* @property $update_time 修改时间
|
||||
*/
|
||||
class SystemConfig extends BaseModel
|
||||
{
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
protected $table = 'sa_system_config';
|
||||
|
||||
public function getConfigSelectDataAttr($value)
|
||||
{
|
||||
return json_decode($value ?? '', true);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | saiadmin [ saiadmin快速开发框架 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: sai <1430792918@qq.com>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace plugin\saiadmin\app\model\system;
|
||||
|
||||
use plugin\saiadmin\basic\think\BaseModel;
|
||||
|
||||
/**
|
||||
* 参数配置分组模型
|
||||
*
|
||||
* sa_system_config_group 参数配置分组表
|
||||
*
|
||||
* @property $id 主键
|
||||
* @property $name 字典名称
|
||||
* @property $code 字典标示
|
||||
* @property $remark 备注
|
||||
* @property $created_by 创建人
|
||||
* @property $updated_by 更新人
|
||||
* @property $create_time 创建时间
|
||||
* @property $update_time 修改时间
|
||||
*/
|
||||
class SystemConfigGroup extends BaseModel
|
||||
{
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
protected $table = 'sa_system_config_group';
|
||||
|
||||
/**
|
||||
* 关联配置列表
|
||||
*/
|
||||
public function configs()
|
||||
{
|
||||
return $this->hasMany(SystemConfig::class, 'group_id', 'id');
|
||||
}
|
||||
|
||||
/**
|
||||
* 名称搜索
|
||||
*/
|
||||
public function searchNameAttr($query, $value)
|
||||
{
|
||||
return $query->where('name', 'like', '%' . $value . '%');
|
||||
}
|
||||
|
||||
/**
|
||||
* 编码搜索
|
||||
*/
|
||||
public function searchCodeAttr($query, $value)
|
||||
{
|
||||
return $query->where('code', 'like', '%' . $value . '%');
|
||||
}
|
||||
|
||||
}
|
||||
62
server/plugin/saiadmin/app/model/system/SystemDept.php
Normal file
62
server/plugin/saiadmin/app/model/system/SystemDept.php
Normal file
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | saiadmin [ saiadmin快速开发框架 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: sai <1430792918@qq.com>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace plugin\saiadmin\app\model\system;
|
||||
|
||||
use plugin\saiadmin\basic\think\BaseModel;
|
||||
|
||||
/**
|
||||
* 部门模型
|
||||
*
|
||||
* sa_system_dept 部门表
|
||||
*
|
||||
* @property $id 编号
|
||||
* @property $parent_id 父级ID,0为根节点
|
||||
* @property $name 部门名称
|
||||
* @property $code 部门编码
|
||||
* @property $leader_id 部门负责人ID
|
||||
* @property $level 祖级列表,格式: 0,1,5,
|
||||
* @property $sort 排序,数字越小越靠前
|
||||
* @property $status 状态: 1启用, 0禁用
|
||||
* @property $remark 备注
|
||||
* @property $created_by 创建者
|
||||
* @property $updated_by 更新者
|
||||
* @property $create_time 创建时间
|
||||
* @property $update_time 修改时间
|
||||
*/
|
||||
class SystemDept extends BaseModel
|
||||
{
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
protected $table = 'sa_system_dept';
|
||||
|
||||
/**
|
||||
* 权限范围
|
||||
*/
|
||||
public function scopeAuth($query, $value)
|
||||
{
|
||||
if (!empty($value)) {
|
||||
$deptIds = [$value['id']];
|
||||
$deptLevel = $value['level'] . $value['id'] . ',';
|
||||
$ids = static::whereLike('level', $deptLevel . '%')->column('id');
|
||||
$deptIds = array_merge($deptIds, $ids);
|
||||
$query->whereIn('id', $deptIds);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 部门领导
|
||||
*/
|
||||
public function leader()
|
||||
{
|
||||
return $this->hasOne(SystemUser::class, 'id', 'leader_id');
|
||||
}
|
||||
|
||||
}
|
||||
47
server/plugin/saiadmin/app/model/system/SystemDictData.php
Normal file
47
server/plugin/saiadmin/app/model/system/SystemDictData.php
Normal file
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | saiadmin [ saiadmin快速开发框架 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: sai <1430792918@qq.com>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace plugin\saiadmin\app\model\system;
|
||||
|
||||
use plugin\saiadmin\basic\think\BaseModel;
|
||||
|
||||
/**
|
||||
* 字典数据模型
|
||||
*
|
||||
* sa_system_dict_data 字典数据表
|
||||
*
|
||||
* @property $id 主键
|
||||
* @property $type_id 字典类型ID
|
||||
* @property $label 字典标签
|
||||
* @property $value 字典值
|
||||
* @property $color 字典颜色
|
||||
* @property $code 字典标示
|
||||
* @property $sort 排序
|
||||
* @property $status 状态
|
||||
* @property $remark 备注
|
||||
* @property $created_by 创建者
|
||||
* @property $updated_by 更新者
|
||||
* @property $create_time 创建时间
|
||||
* @property $update_time 修改时间
|
||||
*/
|
||||
class SystemDictData extends BaseModel
|
||||
{
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
protected $table = 'sa_system_dict_data';
|
||||
|
||||
/**
|
||||
* 关键字搜索
|
||||
*/
|
||||
public function searchKeywordsAttr($query, $value)
|
||||
{
|
||||
$query->where('label|code', 'LIKE', "%$value%");
|
||||
}
|
||||
}
|
||||
44
server/plugin/saiadmin/app/model/system/SystemDictType.php
Normal file
44
server/plugin/saiadmin/app/model/system/SystemDictType.php
Normal file
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | saiadmin [ saiadmin快速开发框架 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: sai <1430792918@qq.com>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace plugin\saiadmin\app\model\system;
|
||||
|
||||
use plugin\saiadmin\basic\think\BaseModel;
|
||||
|
||||
/**
|
||||
* 字典类型模型
|
||||
*
|
||||
* sa_system_dict_type 字典类型表
|
||||
*
|
||||
* @property $id 主键
|
||||
* @property $name 字典名称
|
||||
* @property $code 字典标示
|
||||
* @property $status 状态
|
||||
* @property $remark 备注
|
||||
* @property $created_by 创建者
|
||||
* @property $updated_by 更新者
|
||||
* @property $create_time 创建时间
|
||||
* @property $update_time 修改时间
|
||||
*/
|
||||
class SystemDictType extends BaseModel
|
||||
{
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
protected $table = 'sa_system_dict_type';
|
||||
|
||||
/**
|
||||
* 关联字典数据
|
||||
*/
|
||||
public function dicts()
|
||||
{
|
||||
return $this->hasMany(SystemDictData::class, 'type_id', 'id');
|
||||
}
|
||||
|
||||
}
|
||||
50
server/plugin/saiadmin/app/model/system/SystemLoginLog.php
Normal file
50
server/plugin/saiadmin/app/model/system/SystemLoginLog.php
Normal file
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
// +----------------------------------------------------------------------
|
||||
// | saiadmin [ saiadmin快速开发框架 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: sai <1430792918@qq.com>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace plugin\saiadmin\app\model\system;
|
||||
|
||||
use plugin\saiadmin\basic\think\BaseModel;
|
||||
|
||||
/**
|
||||
* 登录日志模型
|
||||
*
|
||||
* sa_system_login_log 登录日志表
|
||||
*
|
||||
* @property $id 主键
|
||||
* @property $username 用户名
|
||||
* @property $ip 登录IP地址
|
||||
* @property $ip_location IP所属地
|
||||
* @property $os 操作系统
|
||||
* @property $browser 浏览器
|
||||
* @property $status 登录状态
|
||||
* @property $message 提示消息
|
||||
* @property $login_time 登录时间
|
||||
* @property $remark 备注
|
||||
* @property $created_by 创建者
|
||||
* @property $updated_by 更新者
|
||||
* @property $create_time 创建时间
|
||||
* @property $update_time 更新时间
|
||||
*/
|
||||
class SystemLoginLog extends BaseModel
|
||||
{
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
protected $table = 'sa_system_login_log';
|
||||
|
||||
/**
|
||||
* 时间范围搜索
|
||||
*/
|
||||
public function searchLoginTimeAttr($query, $value)
|
||||
{
|
||||
$query->whereTime('login_time', 'between', $value);
|
||||
}
|
||||
|
||||
}
|
||||
52
server/plugin/saiadmin/app/model/system/SystemMail.php
Normal file
52
server/plugin/saiadmin/app/model/system/SystemMail.php
Normal file
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | saiadmin [ saiadmin快速开发框架 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: sai <1430792918@qq.com>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace plugin\saiadmin\app\model\system;
|
||||
|
||||
use plugin\saiadmin\basic\think\BaseModel;
|
||||
|
||||
/**
|
||||
* 邮件记录模型
|
||||
*
|
||||
* sa_system_mail 邮件记录
|
||||
*
|
||||
* @property $id 编号
|
||||
* @property $gateway 网关
|
||||
* @property $from 发送人
|
||||
* @property $email 接收人
|
||||
* @property $code 验证码
|
||||
* @property $content 邮箱内容
|
||||
* @property $status 发送状态
|
||||
* @property $response 返回结果
|
||||
* @property $create_time 创建时间
|
||||
* @property $update_time 修改时间
|
||||
*/
|
||||
class SystemMail extends BaseModel
|
||||
{
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
protected $table = 'sa_system_mail';
|
||||
|
||||
/**
|
||||
* 发送人搜索
|
||||
*/
|
||||
public function searchFromAttr($query, $value)
|
||||
{
|
||||
$query->where('from', 'like', '%' . $value . '%');
|
||||
}
|
||||
|
||||
/**
|
||||
* 接收人搜索
|
||||
*/
|
||||
public function searchEmailAttr($query, $value)
|
||||
{
|
||||
$query->where('email', 'like', '%' . $value . '%');
|
||||
}
|
||||
}
|
||||
86
server/plugin/saiadmin/app/model/system/SystemMenu.php
Normal file
86
server/plugin/saiadmin/app/model/system/SystemMenu.php
Normal file
@@ -0,0 +1,86 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | saiadmin [ saiadmin快速开发框架 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: sai <1430792918@qq.com>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace plugin\saiadmin\app\model\system;
|
||||
|
||||
use plugin\saiadmin\basic\think\BaseModel;
|
||||
|
||||
/**
|
||||
* 菜单模型
|
||||
*
|
||||
* sa_system_menu 菜单权限表
|
||||
*
|
||||
* @property $id
|
||||
* @property $parent_id 父级ID
|
||||
* @property $name 菜单名称
|
||||
* @property $code 组件名称
|
||||
* @property $slug 权限标识,如 user:list, user:add
|
||||
* @property $type 类型: 1目录, 2菜单, 3按钮/API
|
||||
* @property $path 路由地址或API路径
|
||||
* @property $component 前端组件路径,如 layout/User
|
||||
* @property $method 请求方式
|
||||
* @property $icon 图标
|
||||
* @property $sort 排序
|
||||
* @property $link_url 外部链接
|
||||
* @property $is_iframe 是否iframe
|
||||
* @property $is_keep_alive 是否缓存
|
||||
* @property $is_hidden 是否隐藏
|
||||
* @property $is_fixed_tab 是否固定标签页
|
||||
* @property $is_full_page 是否全屏
|
||||
* @property $generate_id 生成id
|
||||
* @property $generate_key 生成key
|
||||
* @property $status 状态
|
||||
* @property $remark
|
||||
* @property $created_by 创建者
|
||||
* @property $updated_by 更新者
|
||||
* @property $create_time 创建时间
|
||||
* @property $update_time 修改时间
|
||||
*/
|
||||
class SystemMenu extends BaseModel
|
||||
{
|
||||
// 完整数据库表名称
|
||||
protected $table = 'sa_system_menu';
|
||||
// 主键
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* Id搜索
|
||||
*/
|
||||
public function searchIdAttr($query, $value)
|
||||
{
|
||||
$query->whereIn('id', $value);
|
||||
}
|
||||
|
||||
public function searchNameAttr($query, $value)
|
||||
{
|
||||
$query->where('name', 'like', '%' . $value . '%');
|
||||
}
|
||||
|
||||
public function searchPathAttr($query, $value)
|
||||
{
|
||||
$query->where('path', 'like', '%' . $value . '%');
|
||||
}
|
||||
|
||||
public function searchMenuAttr($query, $value)
|
||||
{
|
||||
if (!empty($value)) {
|
||||
$query->whereIn('type', [1, 2]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Type搜索
|
||||
*/
|
||||
public function searchTypeAttr($query, $value)
|
||||
{
|
||||
if (is_array($value)) {
|
||||
$query->whereIn('type', $value);
|
||||
} else {
|
||||
$query->where('type', $value);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
42
server/plugin/saiadmin/app/model/system/SystemOperLog.php
Normal file
42
server/plugin/saiadmin/app/model/system/SystemOperLog.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
// +----------------------------------------------------------------------
|
||||
// | saiadmin [ saiadmin快速开发框架 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: sai <1430792918@qq.com>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace plugin\saiadmin\app\model\system;
|
||||
|
||||
use plugin\saiadmin\basic\think\BaseModel;
|
||||
|
||||
/**
|
||||
* 操作日志模型
|
||||
*
|
||||
* sa_system_oper_log 操作日志表
|
||||
*
|
||||
* @property $id 主键
|
||||
* @property $username 用户名
|
||||
* @property $app 应用名称
|
||||
* @property $method 请求方式
|
||||
* @property $router 请求路由
|
||||
* @property $service_name 业务名称
|
||||
* @property $ip 请求IP地址
|
||||
* @property $ip_location IP所属地
|
||||
* @property $request_data 请求数据
|
||||
* @property $remark 备注
|
||||
* @property $created_by 创建者
|
||||
* @property $updated_by 更新者
|
||||
* @property $create_time 创建时间
|
||||
* @property $update_time 更新时间
|
||||
*/
|
||||
class SystemOperLog extends BaseModel
|
||||
{
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
protected $table = 'sa_system_oper_log';
|
||||
|
||||
}
|
||||
37
server/plugin/saiadmin/app/model/system/SystemPost.php
Normal file
37
server/plugin/saiadmin/app/model/system/SystemPost.php
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | saiadmin [ saiadmin快速开发框架 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: sai <1430792918@qq.com>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace plugin\saiadmin\app\model\system;
|
||||
|
||||
use plugin\saiadmin\basic\think\BaseModel;
|
||||
|
||||
/**
|
||||
* 岗位模型
|
||||
*
|
||||
* sa_system_post 岗位信息表
|
||||
*
|
||||
* @property $id 主键
|
||||
* @property $name 岗位名称
|
||||
* @property $code 岗位代码
|
||||
* @property $sort 排序
|
||||
* @property $status 状态
|
||||
* @property $remark 备注
|
||||
* @property $created_by 创建者
|
||||
* @property $updated_by 更新者
|
||||
* @property $create_time 创建时间
|
||||
* @property $update_time 修改时间
|
||||
*/
|
||||
class SystemPost extends BaseModel
|
||||
{
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
protected $table = 'sa_system_post';
|
||||
|
||||
}
|
||||
78
server/plugin/saiadmin/app/model/system/SystemRole.php
Normal file
78
server/plugin/saiadmin/app/model/system/SystemRole.php
Normal file
@@ -0,0 +1,78 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | saiadmin [ saiadmin快速开发框架 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: sai <1430792918@qq.com>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace plugin\saiadmin\app\model\system;
|
||||
|
||||
use plugin\saiadmin\basic\think\BaseModel;
|
||||
|
||||
/**
|
||||
* 角色模型
|
||||
*
|
||||
* sa_system_role 角色表
|
||||
*
|
||||
* @property $id
|
||||
* @property $name 角色名称
|
||||
* @property $code 角色标识,如: hr_manager
|
||||
* @property $level 角色级别:用于行政控制,不可操作级别大于自己的角色
|
||||
* @property $data_scope 数据范围: 1全部, 2本部门及下属, 3本部门, 4仅本人, 5自定义
|
||||
* @property $remark 备注
|
||||
* @property $sort
|
||||
* @property $status 状态: 1启用, 0禁用
|
||||
* @property $created_by 创建者
|
||||
* @property $updated_by 更新者
|
||||
* @property $create_time 创建时间
|
||||
* @property $update_time 修改时间
|
||||
*/
|
||||
class SystemRole extends BaseModel
|
||||
{
|
||||
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 数据表完整名称
|
||||
* @var string
|
||||
*/
|
||||
protected $table = 'sa_system_role';
|
||||
|
||||
/**
|
||||
* 权限范围
|
||||
*/
|
||||
public function scopeAuth($query, $value)
|
||||
{
|
||||
$id = $value['id'];
|
||||
$roles = $value['roles'];
|
||||
if ($id > 1) {
|
||||
$ids = [];
|
||||
foreach ($roles as $item) {
|
||||
$ids[] = $item['id'];
|
||||
$temp = static::whereRaw('FIND_IN_SET("' . $item['id'] . '", level) > 0')->column('id');
|
||||
$ids = array_merge($ids, $temp);
|
||||
}
|
||||
$query->where('id', 'in', array_unique($ids));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过中间表获取菜单
|
||||
*/
|
||||
public function menus()
|
||||
{
|
||||
return $this->belongsToMany(SystemMenu::class, SystemRoleMenu::class, 'menu_id', 'role_id');
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过中间表获取部门
|
||||
*/
|
||||
public function depts()
|
||||
{
|
||||
return $this->belongsToMany(SystemDept::class, SystemRoleDept::class, 'dept_id', 'role_id');
|
||||
}
|
||||
|
||||
}
|
||||
25
server/plugin/saiadmin/app/model/system/SystemRoleDept.php
Normal file
25
server/plugin/saiadmin/app/model/system/SystemRoleDept.php
Normal file
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | saiadmin [ saiadmin快速开发框架 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: sai <1430792918@qq.com>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace plugin\saiadmin\app\model\system;
|
||||
|
||||
use think\model\Pivot;
|
||||
|
||||
/**
|
||||
* 角色部门关联模型
|
||||
*
|
||||
* sa_system_role_dept 角色-自定义数据权限关联
|
||||
*
|
||||
* @property $id
|
||||
* @property $role_id
|
||||
* @property $dept_id
|
||||
*/
|
||||
class SystemRoleDept extends Pivot
|
||||
{
|
||||
protected $pk = 'id';
|
||||
|
||||
protected $table = 'sa_system_role_dept';
|
||||
}
|
||||
25
server/plugin/saiadmin/app/model/system/SystemRoleMenu.php
Normal file
25
server/plugin/saiadmin/app/model/system/SystemRoleMenu.php
Normal file
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | saiadmin [ saiadmin快速开发框架 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: sai <1430792918@qq.com>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace plugin\saiadmin\app\model\system;
|
||||
|
||||
use think\model\Pivot;
|
||||
|
||||
/**
|
||||
* 角色菜单关联模型
|
||||
*
|
||||
* sa_system_role_menu 角色权限关联
|
||||
*
|
||||
* @property $id
|
||||
* @property $role_id
|
||||
* @property $menu_id
|
||||
*/
|
||||
class SystemRoleMenu extends Pivot
|
||||
{
|
||||
protected $pk = 'id';
|
||||
|
||||
protected $table = 'sa_system_role_menu';
|
||||
}
|
||||
96
server/plugin/saiadmin/app/model/system/SystemUser.php
Normal file
96
server/plugin/saiadmin/app/model/system/SystemUser.php
Normal file
@@ -0,0 +1,96 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | saiadmin [ saiadmin快速开发框架 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: sai <1430792918@qq.com>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace plugin\saiadmin\app\model\system;
|
||||
|
||||
use plugin\saiadmin\basic\think\BaseModel;
|
||||
|
||||
/**
|
||||
* 用户信息模型
|
||||
*
|
||||
* sa_system_user 用户表
|
||||
*
|
||||
* @property $id
|
||||
* @property $username 登录账号
|
||||
* @property $password 加密密码
|
||||
* @property $realname 真实姓名
|
||||
* @property $gender 性别
|
||||
* @property $avatar 头像
|
||||
* @property $email 邮箱
|
||||
* @property $phone 手机号
|
||||
* @property $signed 个性签名
|
||||
* @property $dashboard 工作台
|
||||
* @property $dept_id 主归属部门
|
||||
* @property $is_super 是否超级管理员: 1是
|
||||
* @property $status 状态: 1启用, 2禁用
|
||||
* @property $remark 备注
|
||||
* @property $login_time 最后登录时间
|
||||
* @property $login_ip 最后登录IP
|
||||
* @property $created_by 创建者
|
||||
* @property $updated_by 更新者
|
||||
* @property $create_time 创建时间
|
||||
* @property $update_time 修改时间
|
||||
*/
|
||||
class SystemUser extends BaseModel
|
||||
{
|
||||
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 数据表完整名称
|
||||
* @var string
|
||||
*/
|
||||
protected $table = 'sa_system_user';
|
||||
|
||||
public function searchKeywordAttr($query, $value)
|
||||
{
|
||||
if ($value) {
|
||||
$query->where('username|realname|phone', 'like', '%' . $value . '%');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 权限范围 - 过滤部门用户
|
||||
*/
|
||||
public function scopeAuth($query, $value)
|
||||
{
|
||||
if (!empty($value)) {
|
||||
$deptIds = [$value['id']];
|
||||
$deptLevel = $value['level'] . $value['id'] . ',';
|
||||
$dept_ids = SystemDept::whereLike('level', $deptLevel . '%')->column('id');
|
||||
$deptIds = array_merge($deptIds, $dept_ids);
|
||||
$query->whereIn('dept_id', $deptIds);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过中间表关联角色
|
||||
*/
|
||||
public function roles()
|
||||
{
|
||||
return $this->belongsToMany(SystemRole::class, SystemUserRole::class, 'role_id', 'user_id');
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过中间表关联岗位
|
||||
*/
|
||||
public function posts()
|
||||
{
|
||||
return $this->belongsToMany(SystemPost::class, SystemUserPost::class, 'post_id', 'user_id');
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过中间表关联部门
|
||||
*/
|
||||
public function depts()
|
||||
{
|
||||
return $this->belongsTo(SystemDept::class, 'dept_id', 'id');
|
||||
}
|
||||
}
|
||||
25
server/plugin/saiadmin/app/model/system/SystemUserPost.php
Normal file
25
server/plugin/saiadmin/app/model/system/SystemUserPost.php
Normal file
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | saiadmin [ saiadmin快速开发框架 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: sai <1430792918@qq.com>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace plugin\saiadmin\app\model\system;
|
||||
|
||||
use think\model\Pivot;
|
||||
|
||||
/**
|
||||
* 用户岗位关联模型
|
||||
*
|
||||
* sa_system_user_post 用户与岗位关联表
|
||||
*
|
||||
* @property $id 主键
|
||||
* @property $user_id 用户主键
|
||||
* @property $post_id 岗位主键
|
||||
*/
|
||||
class SystemUserPost extends Pivot
|
||||
{
|
||||
protected $pk = 'id';
|
||||
|
||||
protected $table = 'sa_system_user_post';
|
||||
}
|
||||
35
server/plugin/saiadmin/app/model/system/SystemUserRole.php
Normal file
35
server/plugin/saiadmin/app/model/system/SystemUserRole.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | saiadmin [ saiadmin快速开发框架 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: sai <1430792918@qq.com>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace plugin\saiadmin\app\model\system;
|
||||
|
||||
use think\model\Pivot;
|
||||
|
||||
/**
|
||||
* 用户角色关联模型
|
||||
*
|
||||
* sa_system_user_role 用户角色关联
|
||||
*
|
||||
* @property $id
|
||||
* @property $user_id
|
||||
* @property $role_id
|
||||
*/
|
||||
class SystemUserRole extends Pivot
|
||||
{
|
||||
protected $pk = 'id';
|
||||
|
||||
protected $table = 'sa_system_user_role';
|
||||
|
||||
/**
|
||||
* 获取角色id
|
||||
* @param mixed $user_id
|
||||
* @return array
|
||||
*/
|
||||
public static function getRoleIds($user_id): array
|
||||
{
|
||||
return static::where('user_id', $user_id)->column('role_id');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user