// Package adminin // @Link https://github.com/bufanyun/hotgo // @Copyright Copyright (c) 2023 HotGo CLI // @Author Ms <133814250@qq.com> // @License https://github.com/bufanyun/hotgo/blob/master/LICENSE package adminin import ( "context" "github.com/gogf/gf/v2/encoding/gjson" "github.com/gogf/gf/v2/errors/gerror" "hotgo/internal/model" "hotgo/internal/model/entity" "hotgo/internal/model/input/form" ) // GetPermissionsInp 获取指定角色的菜单权限 type GetPermissionsInp struct { RoleId int64 `json:"id"` } type GetPermissionsModel struct { MenuIds []int64 `json:"menuIds"` } // UpdatePermissionsInp 更新指定角色的菜单权限 type UpdatePermissionsInp struct { RoleId int64 `json:"id"` MenuIds []int64 `json:"menuIds"` } // RoleDeleteInp 删除角色 type RoleDeleteInp struct { Id int64 `json:"id" v:"required"` } func (in *RoleDeleteInp) Filter(ctx context.Context) (err error) { if in.Id <= 0 { err = gerror.New("ID不能为空") return } return } // RoleEditInp 获取列表 type RoleEditInp struct { entity.AdminRole } func (in *RoleEditInp) Filter(ctx context.Context) (err error) { if in.Name == "" { err = gerror.New("名称不能为空") return } if in.Key == "" { err = gerror.New("编码不能为空") return } if in.Id > 0 && in.Id == in.Pid { err = gerror.New("上级角色不能是自己") return } return } // RoleUpdateFields 修改数据字段过滤 type RoleUpdateFields struct { Id int64 `json:"id" description:"角色ID"` Name string `json:"name" description:"角色名称"` Key string `json:"key" description:"角色权限字符串"` DataScope int `json:"dataScope" description:"数据范围"` CustomDept *gjson.Json `json:"customDept" description:"自定义部门权限"` Pid int64 `json:"pid" description:"上级角色ID"` Level int `json:"level" description:"关系树等级"` Tree string `json:"tree" description:"关系树"` Remark string `json:"remark" description:"备注"` Sort int `json:"sort" description:"排序"` Status int `json:"status" description:"角色状态"` } // RoleInsertFields 新增数据字段过滤 type RoleInsertFields struct { Name string `json:"name" description:"角色名称"` Key string `json:"key" description:"角色权限字符串"` DataScope int `json:"dataScope" description:"数据范围"` CustomDept *gjson.Json `json:"customDept" description:"自定义部门权限"` Pid int64 `json:"pid" description:"上级角色ID"` Level int `json:"level" description:"关系树等级"` Tree string `json:"tree" description:"关系树"` Remark string `json:"remark" description:"备注"` Sort int `json:"sort" description:"排序"` Status int `json:"status" description:"角色状态"` } // RoleListInp 获取列表 type RoleListInp struct { form.PageReq } type RoleTree struct { entity.AdminRole Label string `json:"label" dc:"标签"` Value int64 `json:"value" dc:"键值"` Children []*RoleTree `json:"children" dc:"子级"` } type RoleListModel struct { List []*RoleTree `json:"list"` } // RoleMemberListInp 查询列表 type RoleMemberListInp struct { form.PageReq form.StatusReq Role int `json:"role" dc:"角色ID"` DeptId int `json:"deptId" dc:"部门ID"` Mobile int `json:"mobile" dc:"手机号"` Username string `json:"username" dc:"用户名"` RealName string `json:"realName" dc:"真实姓名"` StartTime string `json:"start_time" dc:"开始时间"` EndTime string `json:"end_time" dc:"结束时间"` Name string `json:"name" dc:"岗位名称"` Code string `json:"code" dc:"岗位编码"` } type RoleMemberListModel []*MemberListModel // MenuRoleListInp 查询角色菜单列表 type MenuRoleListInp struct { RoleId int64 } type MenuRoleListModel struct { Menus []*model.LabelTreeMenu `json:"menus" dc:"菜单列表"` CheckedKeys []int64 `json:"checkedKeys" dc:"选择的菜单ID"` } // DataScopeEditInp 获取数据权限选项 type DataScopeEditInp struct { Id int64 `json:"id" v:"required" dc:"角色ID"` DataScope int `json:"dataScope" v:"required" dc:"数据范围"` CustomDept []int64 `json:"customDept" dc:"自定义部门权限"` } func (in *DataScopeEditInp) Filter(ctx context.Context) (err error) { if in.Id <= 0 { return gerror.New("角色ID不正确!") } return }