auth_rule.go 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package auth_service
  2. import (
  3. "gfast/app/model/auth_rule"
  4. "gfast/app/model/role"
  5. "github.com/gogf/gf/frame/g"
  6. "github.com/gogf/gf/os/gtime"
  7. "github.com/gogf/gf/util/gconv"
  8. )
  9. //菜单对象
  10. type MenuReq struct {
  11. IsMenu int `p:"ismenu" c:"ismenu" v:"min:0|max:1#菜单类型最小值为:min|菜单类型最大值为:max"`
  12. Pid int `p:"pid" c:"pid" v:"min:0"`
  13. Name string `p:"name" c:"name" v:"required#请填写规则名称"`
  14. Title string `p:"title" c:"title" v:"required|length:1,100#请填写标题|标题长度在:min到:max位"`
  15. Icon string `p:"icon" c:"icon"`
  16. Weigh int `p:"weigh" c:"weigh"`
  17. Condition string `p:"condition" c:"condition"`
  18. Remark string `p:"remark" c:"remark"`
  19. Status int `p:"status" c:"status"`
  20. }
  21. //获取菜单列表
  22. func GetMenuList(where string, params ...interface{}) (error, g.List) {
  23. var err error
  24. var list []*auth_rule.Entity
  25. if where != "" {
  26. list, err = auth_rule.Model.Where(where, params...).Order("weigh desc,id asc").FindAll()
  27. } else {
  28. list, err = auth_rule.Model.Order("weigh desc,id asc").FindAll()
  29. }
  30. if err != nil {
  31. g.Log().Error(err)
  32. return err, nil
  33. }
  34. var gList = make(g.List, len(list))
  35. for k, v := range list {
  36. tMap := gconv.Map(v)
  37. gList[k] = tMap
  38. }
  39. return nil, gList
  40. }
  41. // 添加菜单操作
  42. func AddMenu(req *MenuReq) (err error, insertId int64) {
  43. menuMap := gconv.Map(req)
  44. now := gtime.Timestamp()
  45. menuMap["createtime"] = now
  46. menuMap["updatetime"] = now
  47. res, e := auth_rule.Model.Insert(menuMap)
  48. err = e
  49. insertId, _ = res.LastInsertId()
  50. return
  51. }
  52. //修改菜单操作
  53. func EditMenu(req *MenuReq, id int) (err error, rows int64) {
  54. menuMap := gconv.Map(req)
  55. now := gtime.Timestamp()
  56. menuMap["updatetime"] = now
  57. res, e := auth_rule.Model.Where("id=?", id).Update(menuMap)
  58. err = e
  59. rows, _ = res.RowsAffected()
  60. return
  61. }
  62. //获取用户组列表
  63. func GetRoleList(where string, params ...interface{}) (err error, list g.List) {
  64. var rl []*role.Entity
  65. if where != "" {
  66. rl, err = role.Model.Where(where, params).OrderBy("list_order asc,id asc").All()
  67. } else {
  68. rl, err = role.Model.OrderBy("list_order asc,id asc").All()
  69. }
  70. if err != nil {
  71. g.Log().Error(err)
  72. return err, nil
  73. }
  74. list = make(g.List, len(rl))
  75. for k, v := range rl {
  76. tMap := gconv.Map(v)
  77. list[k] = tMap
  78. }
  79. return
  80. }