dept.go 4.8 KB

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