seller.go 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. package controllers
  2. import (
  3. "eta/eta_mini_crm/models"
  4. "eta/eta_mini_crm/models/response"
  5. "eta/eta_mini_crm/utils"
  6. )
  7. type SellerController struct {
  8. BaseAuthController
  9. }
  10. // List
  11. // @Title 获取部门下销售
  12. // @Description 获取部门下销售接口
  13. // @Param AllEnabled query bool true "是否获取包含禁用的用户"
  14. // @Success 200 {object} company.DepartmentGroupSellersResp
  15. // @router /list [get]
  16. func (this *SellerController) List() {
  17. br := new(models.BaseResponse).Init()
  18. defer func() {
  19. this.Data["json"] = br
  20. this.ServeJSON()
  21. }()
  22. getAllEnabled, _ := this.GetBool("AllEnabled", false)
  23. enabled := true //默认只获取正常状态的用户
  24. if getAllEnabled { //获取所有状态的用户
  25. enabled = false
  26. }
  27. departmentList, err := models.GetSysDepartmentList()
  28. if err != nil {
  29. br.Msg = "获取部门失败"
  30. br.ErrMsg = "获取部门失败,系统异常,Err:" + err.Error()
  31. return
  32. }
  33. seller, err := models.GetSysUserListByIsEnabled(enabled)
  34. if err != nil {
  35. br.Msg = "获取销售失败"
  36. br.ErrMsg = "获取销售失败,系统异常,Err:" + err.Error()
  37. return
  38. }
  39. // 遍历获取销售的层级结构
  40. list := make([]*response.DepartmentSellers, 0)
  41. for _, dep1 := range departmentList {
  42. if dep1.ParentId == 0 {
  43. v1 := new(response.DepartmentSellers)
  44. v1.SysDepartmentId = dep1.SysDepartmentId
  45. v1.SysDepartmentName = dep1.SysDepartmentName
  46. for _, s := range seller {
  47. if s.SysDepartmentId1 == dep1.SysDepartmentId && s.SysDepartmentId2 == 0 {
  48. s1 := new(response.DepartmentSellers)
  49. s1.SysUserId = s.SysUserId
  50. s1.SysRealName = s.SysRealName
  51. v1.ChildrenList = append(v1.ChildrenList, s1)
  52. }
  53. }
  54. for _, dep2 := range departmentList {
  55. if dep2.ParentId == dep1.SysDepartmentId {
  56. v2 := new(response.DepartmentSellers)
  57. v2.SysDepartmentId = dep2.SysDepartmentId
  58. v2.SysDepartmentName = dep2.SysDepartmentName
  59. for _, s := range seller {
  60. if s.SysDepartmentId2 == dep2.SysDepartmentId && s.SysDepartmentId3 == 0 {
  61. s1 := new(response.DepartmentSellers)
  62. s1.SysUserId = s.SysUserId
  63. s1.SysRealName = s.SysRealName
  64. v2.ChildrenList = append(v2.ChildrenList, s1)
  65. }
  66. }
  67. v1.ChildrenList = append(v1.ChildrenList, v2)
  68. for _, dep3 := range departmentList {
  69. if dep3.ParentId == dep2.SysDepartmentId {
  70. v3 := new(response.DepartmentSellers)
  71. v3.SysDepartmentId = dep3.SysDepartmentId
  72. v3.SysDepartmentName = dep3.SysDepartmentName
  73. for _, s := range seller {
  74. if s.SysDepartmentId3 == dep3.SysDepartmentId {
  75. s1 := new(response.DepartmentSellers)
  76. s1.SysUserId = s.SysUserId
  77. s1.SysRealName = s.SysRealName
  78. v3.ChildrenList = append(v3.ChildrenList, s1)
  79. }
  80. }
  81. v2.ChildrenList = append(v2.ChildrenList, v3)
  82. }
  83. }
  84. }
  85. }
  86. list = append(list, v1)
  87. }
  88. }
  89. resp := new(response.DepartmentGroupSellersResp)
  90. resp.List = list
  91. br.Msg = "获取成功"
  92. br.Success = true
  93. br.Ret = 200
  94. br.Data = resp
  95. }
  96. // List
  97. // @Title 获取营业部下面的部门
  98. // @Description 获取营业部下面的部门
  99. // @Success 200 {object} []models.SysDepartmentList
  100. // @router /department/list [get]
  101. func (this *SellerController) DepartmentList() {
  102. br := new(models.BaseResponse).Init()
  103. defer func() {
  104. this.Data["json"] = br
  105. this.ServeJSON()
  106. }()
  107. parentDepartment, err := models.GetSysDepartmentByName("营业部")
  108. if err != nil {
  109. if err.Error() == utils.ErrNoRow() {
  110. br.Msg = "营业部不存在, 请添加营业部门"
  111. return
  112. }
  113. br.Msg = "获取营业部失败"
  114. br.ErrMsg = "获取营业部失败,系统异常,Err:" + err.Error()
  115. return
  116. }
  117. departmentList, err := models.GetChildSysDepartmentListById(parentDepartment.SysDepartmentId)
  118. if err != nil {
  119. br.Msg = "获取营业部失败"
  120. br.ErrMsg = "获取营业部失败,系统异常,Err:" + err.Error()
  121. return
  122. }
  123. if len(departmentList) == 0 {
  124. departmentList = make([]*models.SysDepartmentList, 0)
  125. }
  126. br.Msg = "获取成功"
  127. br.Ret = 200
  128. br.Success = true
  129. br.Data = departmentList
  130. }