| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- package api
- import (
- "gfast/app/common/global"
- CommService "gfast/app/common/service"
- "gfast/app/system/model"
- "gfast/app/system/service"
- "github.com/gogf/gf/frame/g"
- "github.com/gogf/gf/net/ghttp"
- "github.com/gogf/gf/util/gvalid"
- )
- type sysRole struct {
- systemBase
- }
- var SysRole = new(sysRole)
- // RoleList 角色列表
- func (c *sysRole) RoleList(r *ghttp.Request) {
- var req *model.SelectPageReq
- if err := r.Parse(&req); err != nil {
- c.FailJsonExit(r, err.(gvalid.Error).Current().Error())
- }
- total, page, list, err := service.SysRole.GetRoleListSearch(req)
- if err != nil {
- g.Log().Error(err)
- c.FailJsonExit(r, "获取数据失败")
- }
- c.SusJsonExit(r, g.Map{
- "currentPage": page,
- "total": total,
- "list": list,
- })
- }
- // GetRoleMenu GetRole 新增角色
- func (c *sysRole) GetRoleMenu(r *ghttp.Request) {
- mListEntities, err := service.Rule.GetMenuList()
- if err != nil {
- g.Log().Error(err)
- c.FailJsonExit(r, "获取数据失败")
- }
- mList := service.Rule.GetMenuListTree(0, mListEntities)
- res := g.Map{
- "menuList": mList,
- }
- c.SusJsonExit(r, res)
- }
- // AddRole 新增角色提交
- func (c *sysRole) AddRole(r *ghttp.Request) {
- res := r.GetFormMap()
- if err := service.SysRole.AddRolePost(res); err != nil {
- c.FailJsonExit(r, err.Error())
- }
- c.SusJsonExit(r, "添加角色成功")
- }
- // 获取修改的角色
- func (c *sysRole) GetRole(r *ghttp.Request) {
- id := r.GetRequestInt("roleId")
- //获取角色信息
- role, err := service.SysRole.One(id)
- if err != nil {
- g.Log().Error(err)
- c.FailJsonExit(r, "获取角色数据失败")
- }
- //获取菜单信息
- mListEntities, err := service.Rule.GetMenuList()
- if err != nil {
- g.Log().Error(err)
- c.FailJsonExit(r, "获取菜单数据失败")
- }
- mList := service.Rule.GetMenuListTree(0, mListEntities)
- //获取角色关联的菜单规则
- gpSlice, err := service.SysRole.GetFilteredNamedPolicy(id)
- if err != nil {
- c.FailJsonExit(r, err.Error())
- }
- c.SusJsonExit(r, g.Map{
- "menuList": mList,
- "role": role,
- "checkedRules": gpSlice,
- })
- }
- // EditRole 编辑角色提交
- func (c *sysRole) EditRole(r *ghttp.Request) {
- id := r.GetRequestInt("roleId")
- res := r.GetFormMap()
- if err := service.SysRole.EditRolePost(res, id); err != nil {
- c.FailJsonExit(r, err.Error())
- }
- c.SusJsonExit(r, "修改角色成功")
- }
- // StatusSetRole 设置角色状态
- func (c *sysRole) StatusSetRole(r *ghttp.Request) {
- var req *model.StatusSetReq
- if err := r.Parse(&req); err != nil {
- c.FailJsonExit(r, err.(gvalid.Error).Current().Error())
- }
- err := service.SysRole.StatusSetRole(req)
- if err != nil {
- c.FailJsonExit(r, err.Error())
- }
- c.SusJsonExit(r, "状态设置成功")
- }
- // RoleDataScope 角色数据权限分配
- func (c *sysRole) RoleDataScope(r *ghttp.Request) {
- var req *model.DataScopeReq
- if err := r.Parse(&req); err != nil {
- c.FailJsonExit(r, err.(gvalid.Error).Current().Error())
- }
- err := service.SysRole.RoleDataScope(req)
- if err != nil {
- c.FailJsonExit(r, err.Error())
- }
- CommService.Cache.New().RemoveByTag(global.SysAuthTag)
- c.SusJsonExit(r, req)
- }
- // DeleteRole 删除角色
- func (c *sysRole) DeleteRole(r *ghttp.Request) {
- ids := r.GetInts("ids")
- if len(ids) == 0 {
- c.FailJsonExit(r, "删除失败,参数错误")
- }
- err := service.SysRole.DeleteByIds(ids)
- if err != nil {
- c.FailJsonExit(r, err.Error())
- }
- CommService.Cache.New().RemoveByTag(global.SysAuthTag)
- c.SusJsonExit(r, "删除成功")
- }
|