dept.go 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  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. // @Summary 分页部门列表数据
  14. // @Description 分页列表
  15. // @Tags 部门
  16. // @Param data body sys_dept.SearchParams true "data"
  17. // @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
  18. // @Router /system/dept/list [get]
  19. // @Security
  20. func (c *Dept) List(r *ghttp.Request) {
  21. var searchParams *sys_dept.SearchParams
  22. if err := r.Parse(&searchParams); err != nil {
  23. response.FailJson(true, r, err.(*gvalid.Error).FirstString())
  24. }
  25. if list, err := dept_service.GetList(searchParams); err != nil {
  26. response.FailJson(true, r, err.Error())
  27. } else {
  28. if list != nil {
  29. response.SusJson(true, r, "成功", list)
  30. } else {
  31. response.SusJson(true, r, "成功", g.Slice{})
  32. }
  33. }
  34. }
  35. // @Summary 添加部门
  36. // @Description 获取JSON
  37. // @Tags 部门
  38. // @Accept application/json
  39. // @Product application/json
  40. // @Param data body sys_dept.AddParams true "data"
  41. // @Success 200 {object} response.Response "{"code": 0, "message": "添加成功"}"
  42. // @Router /system/dept/addDept [post]
  43. // @Security Bearer
  44. func (c *Dept) AddDept(r *ghttp.Request) {
  45. if r.Method == "POST" {
  46. var addParams *sys_dept.AddParams
  47. if err := r.Parse(&addParams); err != nil {
  48. response.FailJson(true, r, err.(*gvalid.Error).FirstString())
  49. }
  50. //g.Log().Println(AddParams)
  51. if _, err := dept_service.AddDept(addParams); err != nil {
  52. response.FailJson(true, r, err.Error())
  53. }
  54. response.SusJson(true, r, "添加成功")
  55. }
  56. }
  57. // @Summary 修改部门
  58. // @Description 获取JSON
  59. // @Tags 部门
  60. // @Accept application/json
  61. // @Product application/json
  62. // @Param data body sys_dept.EditParams true "data"
  63. // @Success 200 {object} response.Response "{"code": 0, "message": "修改成功"}"
  64. // @Router /system/dept/editDept [post]
  65. // @Security Bearer
  66. func (c *Dept) EditDept(r *ghttp.Request) {
  67. if r.Method == "POST" {
  68. var editParams *sys_dept.EditParams
  69. if err := r.Parse(&editParams); err != nil {
  70. response.FailJson(true, r, err.(*gvalid.Error).FirstString())
  71. }
  72. if err := dept_service.EditDept(editParams); err != nil {
  73. response.FailJson(true, r, err.Error())
  74. }
  75. response.SusJson(true, r, "编辑成功")
  76. }
  77. id := r.GetUint64("id")
  78. if id == 0 {
  79. response.FailJson(true, r, "参数错误")
  80. }
  81. if dept, err := dept_service.GetDeptById(id); err != nil {
  82. response.FailJson(true, r, err.Error())
  83. } else {
  84. response.SusJson(true, r, "success", dept)
  85. }
  86. }
  87. /**
  88. 查询部门排除节点
  89. */
  90. func (c *Dept) Exclude(r *ghttp.Request) {
  91. id := r.GetInt64("id")
  92. if id == 0 {
  93. response.FailJson(true, r, "参数错误")
  94. }
  95. if depts, err := dept_service.Exclude(id); err != nil {
  96. response.FailJson(true, r, err.Error())
  97. } else {
  98. response.SusJson(true, r, "success", depts)
  99. }
  100. }
  101. // @Summary 删除部门
  102. // @Description 删除数据
  103. // @Tags 部门
  104. // @Param id path int true "id"
  105. // @Success 200 {object} response.Response "{"code": 0, "message": "删除成功"}"
  106. // @Router /system/dept/delDept/{id} [delete]
  107. func (c *Dept) DelDept(r *ghttp.Request) {
  108. id := r.GetInt64("id")
  109. if id == 0 {
  110. response.FailJson(true, r, "删除失败")
  111. }
  112. err := dept_service.DelDept(id)
  113. if err != nil {
  114. response.FailJson(true, r, "删除失败")
  115. }
  116. response.SusJson(true, r, "删除信息成功")
  117. }
  118. func (c *Dept) TreeSelect(r *ghttp.Request) {
  119. //获取正常状态部门数据
  120. list, err := dept_service.GetList(&sys_dept.SearchParams{Status: "1"})
  121. if err != nil {
  122. response.FailJson(true, r, err.Error())
  123. }
  124. var dList g.ListStrAny
  125. for _, entity := range list {
  126. m := g.Map{
  127. "id": entity.DeptID,
  128. "pid": entity.ParentID,
  129. "label": entity.DeptName,
  130. }
  131. dList = append(dList, m)
  132. }
  133. dList = utils.PushSonToParent(dList, 0, "pid", "id", "children", "", nil, false)
  134. res := g.Map{
  135. "depts": dList,
  136. }
  137. response.SusJson(true, r, "ok", res)
  138. }
  139. //获取角色部门
  140. func (c *Dept) RoleDeptTreeSelect(r *ghttp.Request) {
  141. id := r.GetInt64("roleId")
  142. if id == 0 {
  143. response.FailJson(true, r, "参数错误")
  144. }
  145. //获取正常状态部门数据
  146. list, err := dept_service.GetList(&sys_dept.SearchParams{Status: "1"})
  147. if err != nil {
  148. response.FailJson(true, r, err.Error())
  149. }
  150. var dList g.ListStrAny
  151. for _, entity := range list {
  152. m := g.Map{
  153. "id": entity.DeptID,
  154. "pid": entity.ParentID,
  155. "label": entity.DeptName,
  156. }
  157. dList = append(dList, m)
  158. }
  159. //获取关联的角色数据权限
  160. checkedKeys, err := dept_service.GetRoleDepts(id)
  161. if err != nil {
  162. response.FailJson(true, r, err.Error())
  163. }
  164. dList = utils.PushSonToParent(dList)
  165. res := g.Map{
  166. "depts": dList,
  167. "checkedKeys": checkedKeys,
  168. }
  169. response.SusJson(true, r, "ok", res)
  170. }