sys_department.go 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. package controllers
  2. import (
  3. "encoding/json"
  4. "hongze/hz_eta_api/models"
  5. "hongze/hz_eta_api/models/system"
  6. "hongze/hz_eta_api/utils"
  7. "time"
  8. )
  9. // 系统设置
  10. type SysDepartmentController struct {
  11. BaseAuthController
  12. }
  13. // @Title 新增部门
  14. // @Description 新增部门接口
  15. // @Param request body system.SysDepartmentAddReq true "type json string"
  16. // @Success 200 新增成功
  17. // @router /department/add [post]
  18. func (this *SysDepartmentController) Add() {
  19. br := new(models.BaseResponse).Init()
  20. defer func() {
  21. this.Data["json"] = br
  22. this.ServeJSON()
  23. }()
  24. var req system.SysDepartmentAddReq
  25. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  26. if err != nil {
  27. br.Msg = "参数解析异常!"
  28. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  29. return
  30. }
  31. if req.DepartmentName == "" {
  32. br.Msg = "部门名称不能为空"
  33. return
  34. }
  35. count, err := system.GetSysDepartmentCount(req.DepartmentName)
  36. if err != nil {
  37. br.Msg = "获取数据失败"
  38. br.ErrMsg = "获取数据失败"
  39. return
  40. }
  41. if count > 0 {
  42. br.Msg = "部门名称已存在,请重新输入"
  43. return
  44. }
  45. item := new(system.SysDepartment)
  46. item.DepartmentName = req.DepartmentName
  47. item.CreateTime = time.Now()
  48. _, err = system.AddSysDepartment(item)
  49. if err != nil {
  50. br.Msg = "新增失败"
  51. br.ErrMsg = "新增失败,Err:" + err.Error()
  52. return
  53. }
  54. br.Ret = 200
  55. br.Success = true
  56. br.Msg = "新增成功"
  57. }
  58. // @Title 修改部门
  59. // @Description 修改部门接口
  60. // @Param request body system.SysDepartmentEditReq true "type json string"
  61. // @Success 200 修改成功
  62. // @router /department/edit [post]
  63. func (this *SysDepartmentController) Edit() {
  64. br := new(models.BaseResponse).Init()
  65. defer func() {
  66. this.Data["json"] = br
  67. this.ServeJSON()
  68. }()
  69. var req system.SysDepartmentEditReq
  70. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  71. if err != nil {
  72. br.Msg = "参数解析异常!"
  73. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  74. return
  75. }
  76. if req.DepartmentId <= 0 {
  77. br.Msg = "参数错误"
  78. br.ErrMsg = "参数错误,DepartmentId 小于等于0 "
  79. return
  80. }
  81. if req.DepartmentName == "" {
  82. br.Msg = "部门名称不能为空"
  83. return
  84. }
  85. item, err := system.GetSysDepartmentByName(req.DepartmentName)
  86. if err != nil && err.Error() != utils.ErrNoRow() {
  87. br.Msg = "获取数据失败"
  88. br.ErrMsg = "获取数据失败,Err:" + err.Error()
  89. return
  90. }
  91. if item != nil {
  92. if item.DepartmentId != req.DepartmentId {
  93. br.Msg = "名称已存在,请重新输入"
  94. return
  95. }
  96. }
  97. err = system.ModifySysDepartment(req.DepartmentName, req.DepartmentId)
  98. if err != nil {
  99. br.Msg = "修改失败"
  100. br.ErrMsg = "修改失败,Err:" + err.Error()
  101. return
  102. }
  103. br.Ret = 200
  104. br.Success = true
  105. br.Msg = "修改成功"
  106. }
  107. // @Title 删除部门
  108. // @Description 删除部门接口
  109. // @Param request body system.SysDepartmentDeleteReq true "type json string"
  110. // @Success 200 删除成功
  111. // @router /department/delete [post]
  112. func (this *SysDepartmentController) Delete() {
  113. br := new(models.BaseResponse).Init()
  114. defer func() {
  115. this.Data["json"] = br
  116. this.ServeJSON()
  117. }()
  118. var req system.SysDepartmentDeleteReq
  119. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  120. if err != nil {
  121. br.Msg = "参数解析异常!"
  122. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  123. return
  124. }
  125. if req.DepartmentId <= 0 {
  126. br.Msg = "参数错误"
  127. br.ErrMsg = "参数错误,DepartmentId 小于等于0 "
  128. return
  129. }
  130. err = system.DeleteSysDepartment(req.DepartmentId)
  131. if err != nil {
  132. br.Msg = "删除失败"
  133. br.ErrMsg = "删除失败,Err:" + err.Error()
  134. return
  135. }
  136. br.Ret = 200
  137. br.Success = true
  138. br.Msg = "删除成功"
  139. }
  140. // @Title 获取部门列表
  141. // @Description 获取部门列表接口
  142. // @Success 200 {object} system.SysDepartmentListResp
  143. // @router /department/list [get]
  144. func (this *SysDepartmentController) ListDepartment() {
  145. br := new(models.BaseResponse).Init()
  146. defer func() {
  147. this.Data["json"] = br
  148. this.ServeJSON()
  149. }()
  150. sysUser := this.SysUser
  151. if sysUser == nil {
  152. br.Msg = "请登录"
  153. br.ErrMsg = "请登录,SysUser Is Empty"
  154. return
  155. }
  156. list, err := system.GetDepartmentList()
  157. if err != nil {
  158. br.Msg = "获取失败"
  159. br.ErrMsg = "获取失败,Err:" + err.Error()
  160. return
  161. }
  162. lenList := len(list)
  163. for i := 0; i < lenList; i++ {
  164. departmentId := list[i].DepartmentId
  165. groupList, err := system.GetSysGroupByDepartmentId(departmentId)
  166. if err != nil {
  167. br.Msg = "获取数据失败"
  168. br.ErrMsg = "获取数据失败,Err:" + err.Error()
  169. return
  170. }
  171. list[i].Child = groupList
  172. list[i].IsDepartment = true
  173. for i2, sysGroup := range groupList {
  174. teamList, err := system.GetSysTeamByDepartmentId(sysGroup.GroupId)
  175. if err != nil {
  176. br.Msg = "获取数据失败"
  177. br.ErrMsg = "获取数据失败,Err:" + err.Error()
  178. return
  179. }
  180. groupList[i2].Child = teamList
  181. groupList[i2].IsGroup = true
  182. }
  183. }
  184. resp := new(system.SysDepartmentListResp)
  185. resp.List = list
  186. br.Ret = 200
  187. br.Success = true
  188. br.Msg = "获取成功"
  189. br.Data = resp
  190. }