sys_dept.go 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. package api
  2. import (
  3. "gfast/app/common/global"
  4. CommService "gfast/app/common/service"
  5. "gfast/app/system/dao"
  6. "gfast/app/system/model"
  7. "gfast/app/system/service"
  8. "github.com/gogf/gf/frame/g"
  9. "github.com/gogf/gf/net/ghttp"
  10. "github.com/gogf/gf/util/gvalid"
  11. )
  12. type dept struct {
  13. SystemBase
  14. }
  15. var Dept = new(dept)
  16. // List 部门列表
  17. func (c *dept) List(r *ghttp.Request) {
  18. var searchParams *dao.SysDeptSearchParams
  19. if err := r.Parse(&searchParams); err != nil {
  20. c.FailJsonExit(r, err.(gvalid.Error).FirstString())
  21. }
  22. if list, err := service.Dept.GetList(searchParams); err != nil {
  23. c.FailJsonExit(r, err.Error())
  24. } else {
  25. if list != nil {
  26. c.SusJsonExit(r, list)
  27. } else {
  28. c.SusJsonExit(r, []*model.SysDept{})
  29. }
  30. }
  31. }
  32. func (c *dept) Add(r *ghttp.Request) {
  33. var addParams *dao.SysDeptAddParams
  34. if err := r.Parse(&addParams); err != nil {
  35. c.FailJsonExit(r, err.(gvalid.Error).FirstString())
  36. }
  37. addParams.CreatedBy = c.GetCurrentUser(r.GetCtx()).GetUserId()
  38. if err := service.Dept.AddDept(addParams); err != nil {
  39. c.FailJsonExit(r, err.Error())
  40. }
  41. CommService.Cache.New().RemoveByTag(global.SysAuthTag)
  42. c.SusJsonExit(r, "添加成功")
  43. }
  44. func (c *dept) Get(r *ghttp.Request) {
  45. id := r.GetUint64("id")
  46. if id == 0 {
  47. c.FailJsonExit(r, "参数错误")
  48. }
  49. if dept, err := service.Dept.GetDeptById(id); err != nil {
  50. c.FailJsonExit(r, err.Error())
  51. } else {
  52. c.SusJsonExit(r, dept)
  53. }
  54. }
  55. func (c *dept) Edit(r *ghttp.Request) {
  56. var editParams *dao.EditParams
  57. if err := r.Parse(&editParams); err != nil {
  58. c.FailJsonExit(r, err.(gvalid.Error).FirstString())
  59. }
  60. editParams.UpdatedBy = c.GetCurrentUser(r.GetCtx()).GetUserId()
  61. if err := service.Dept.EditDept(editParams); err != nil {
  62. c.FailJsonExit(r, err.Error())
  63. }
  64. CommService.Cache.New().RemoveByTag(global.SysAuthTag)
  65. c.SusJsonExit(r, "编辑成功")
  66. }
  67. func (c *dept) Delete(r *ghttp.Request) {
  68. id := r.GetInt64("id")
  69. if id == 0 {
  70. c.FailJsonExit(r, "删除失败")
  71. }
  72. err := service.Dept.DelDept(id)
  73. if err != nil {
  74. c.FailJsonExit(r, "删除失败")
  75. }
  76. CommService.Cache.New().RemoveByTag(global.SysAuthTag)
  77. c.SusJsonExit(r, "删除成功")
  78. }
  79. func (c *dept) RoleDeptTreeSelect(r *ghttp.Request) {
  80. id := r.GetInt64("roleId")
  81. if id == 0 {
  82. c.FailJsonExit(r, "参数错误")
  83. }
  84. list, err := service.Dept.GetList(&dao.SysDeptSearchParams{
  85. Status: "1",
  86. })
  87. if err != nil {
  88. c.FailJsonExit(r, err.Error())
  89. }
  90. //获取关联的角色数据权限
  91. checkedKeys, err := service.Dept.GetRoleDepts(id)
  92. if err != nil {
  93. c.FailJsonExit(r, err.Error())
  94. }
  95. dList := service.Dept.GetDeptListTree(0, list)
  96. res := g.Map{
  97. "depts": dList,
  98. "checkedKeys": checkedKeys,
  99. }
  100. c.SusJsonExit(r, res)
  101. }
  102. func (c *dept) TreeSelect(r *ghttp.Request) {
  103. //获取正常状态部门数据
  104. list, err := service.Dept.GetList(&dao.SysDeptSearchParams{Status: "1"})
  105. if err != nil {
  106. c.FailJsonExit(r, err.Error())
  107. }
  108. dList := service.Dept.GetDeptListTree(0, list)
  109. res := g.Map{
  110. "depts": dList,
  111. }
  112. c.SusJsonExit(r, res)
  113. }