dept.go 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. package admin
  2. import (
  3. "gfast/app/model/admin/sys_dept"
  4. "gfast/app/service/admin/dept_service"
  5. "gfast/library/response"
  6. "gfast/library/utils"
  7. "github.com/gogf/gf/frame/g"
  8. "github.com/gogf/gf/net/ghttp"
  9. "github.com/gogf/gf/util/gvalid"
  10. )
  11. //菜单用户组用户管理
  12. type Dept struct{}
  13. func (c *Dept) List(r *ghttp.Request) {
  14. var searchParams *sys_dept.SearchParams
  15. if err := r.Parse(&searchParams); err != nil {
  16. response.FailJson(true, r, err.(*gvalid.Error).FirstString())
  17. }
  18. if list, err := dept_service.GetList(searchParams); err != nil {
  19. response.FailJson(true, r, err.Error())
  20. } else {
  21. if list != nil {
  22. response.SusJson(true, r, "成功", list)
  23. } else {
  24. response.SusJson(true, r, "成功", g.Slice{})
  25. }
  26. }
  27. }
  28. /**
  29. 新增
  30. */
  31. func (c *Dept) AddDept(r *ghttp.Request) {
  32. if r.Method == "POST" {
  33. var addParams *sys_dept.AddParams
  34. if err := r.Parse(&addParams); err != nil {
  35. response.FailJson(true, r, err.(*gvalid.Error).FirstString())
  36. }
  37. //g.Log().Println(AddParams)
  38. if _, err := dept_service.AddDept(addParams); err != nil {
  39. response.FailJson(true, r, err.Error())
  40. }
  41. response.SusJson(true, r, "添加成功")
  42. }
  43. }
  44. /**
  45. 编辑
  46. */
  47. func (c *Dept) EditDept(r *ghttp.Request) {
  48. if r.Method == "POST" {
  49. var editParams *sys_dept.EditParams
  50. if err := r.Parse(&editParams); err != nil {
  51. response.FailJson(true, r, err.(*gvalid.Error).FirstString())
  52. }
  53. if err := dept_service.EditDept(editParams); err != nil {
  54. response.FailJson(true, r, err.Error())
  55. }
  56. response.SusJson(true, r, "编辑成功")
  57. }
  58. id := r.GetInt64("id")
  59. if id == 0 {
  60. response.FailJson(true, r, "参数错误")
  61. }
  62. if dept, err := dept_service.GetDeptById(id); err != nil {
  63. response.FailJson(true, r, err.Error())
  64. } else {
  65. response.SusJson(true, r, "success", dept)
  66. }
  67. }
  68. /**
  69. 查询部门排除节点
  70. */
  71. func (c *Dept) Exclude(r *ghttp.Request) {
  72. id := r.GetInt64("id")
  73. if id == 0 {
  74. response.FailJson(true, r, "参数错误")
  75. }
  76. if depts, err := dept_service.Exclude(id); err != nil {
  77. response.FailJson(true, r, err.Error())
  78. } else {
  79. response.SusJson(true, r, "success", depts)
  80. }
  81. }
  82. /**
  83. 删除
  84. */
  85. func (c *Dept) DelDept(r *ghttp.Request) {
  86. id := r.GetInt64("id")
  87. if id == 0 {
  88. response.FailJson(true, r, "删除失败")
  89. }
  90. err := dept_service.DelDept(id)
  91. if err != nil {
  92. response.FailJson(true, r, "删除失败")
  93. }
  94. response.SusJson(true, r, "删除信息成功")
  95. }
  96. func (c *Dept) TreeSelect(r *ghttp.Request) {
  97. //获取正常状态部门数据
  98. list, err := dept_service.GetList(&sys_dept.SearchParams{Status: "1"})
  99. if err != nil {
  100. response.FailJson(true, r, err.Error())
  101. }
  102. var dList g.ListStrAny
  103. for _, entity := range list {
  104. m := g.Map{
  105. "id": entity.DeptID,
  106. "pid": entity.ParentID,
  107. "label": entity.DeptName,
  108. }
  109. dList = append(dList, m)
  110. }
  111. dList = utils.PushSonToParent(dList, 0, "pid", "id", "children", "", nil, false)
  112. res := g.Map{
  113. "depts": dList,
  114. }
  115. response.SusJson(true, r, "ok", res)
  116. }
  117. //获取角色部门
  118. func (c *Dept) RoleDeptTreeSelect(r *ghttp.Request) {
  119. id := r.GetInt64("roleId")
  120. if id == 0 {
  121. response.FailJson(true, r, "参数错误")
  122. }
  123. //获取正常状态部门数据
  124. list, err := dept_service.GetList(&sys_dept.SearchParams{Status: "1"})
  125. if err != nil {
  126. response.FailJson(true, r, err.Error())
  127. }
  128. var dList g.ListStrAny
  129. for _, entity := range list {
  130. m := g.Map{
  131. "id": entity.DeptID,
  132. "pid": entity.ParentID,
  133. "label": entity.DeptName,
  134. }
  135. dList = append(dList, m)
  136. }
  137. //获取关联的角色数据权限
  138. checkedKeys, err := dept_service.GetRoleDepts(id)
  139. if err != nil {
  140. response.FailJson(true, r, err.Error())
  141. }
  142. dList = utils.PushSonToParent(dList)
  143. res := g.Map{
  144. "depts": dList,
  145. "checkedKeys": checkedKeys,
  146. }
  147. response.SusJson(true, r, "ok", res)
  148. }