package controllers import ( "eta/eta_mini_crm/models" "eta/eta_mini_crm/models/response" "eta/eta_mini_crm/utils" ) type SellerController struct { BaseAuthController } // List // @Title 获取部门下销售 // @Description 获取部门下销售接口 // @Param AllEnabled query bool true "是否获取包含禁用的用户" // @Success 200 {object} company.DepartmentGroupSellersResp // @router /list [get] func (this *SellerController) List() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() getAllEnabled, _ := this.GetBool("AllEnabled", false) enabled := true //默认只获取正常状态的用户 if getAllEnabled { //获取所有状态的用户 enabled = false } departmentList, err := models.GetSysDepartmentList() if err != nil { br.Msg = "获取部门失败" br.ErrMsg = "获取部门失败,系统异常,Err:" + err.Error() return } seller, err := models.GetSysUserListByIsEnabled(enabled) if err != nil { br.Msg = "获取销售失败" br.ErrMsg = "获取销售失败,系统异常,Err:" + err.Error() return } // 遍历获取销售的层级结构 list := make([]*response.DepartmentSellers, 0) for _, dep1 := range departmentList { if dep1.ParentId == 0 { v1 := new(response.DepartmentSellers) v1.SysDepartmentId = dep1.SysDepartmentId v1.SysDepartmentName = dep1.SysDepartmentName for _, s := range seller { if s.SysDepartmentId1 == dep1.SysDepartmentId && s.SysDepartmentId2 == 0 { s1 := new(response.DepartmentSellers) s1.SysUserId = s.SysUserId s1.SysRealName = s.SysRealName v1.ChildrenList = append(v1.ChildrenList, s1) } } for _, dep2 := range departmentList { if dep2.ParentId == dep1.SysDepartmentId { v2 := new(response.DepartmentSellers) v2.SysDepartmentId = dep2.SysDepartmentId v2.SysDepartmentName = dep2.SysDepartmentName for _, s := range seller { if s.SysDepartmentId2 == dep2.SysDepartmentId && s.SysDepartmentId3 == 0 { s1 := new(response.DepartmentSellers) s1.SysUserId = s.SysUserId s1.SysRealName = s.SysRealName v2.ChildrenList = append(v2.ChildrenList, s1) } } v1.ChildrenList = append(v1.ChildrenList, v2) for _, dep3 := range departmentList { if dep3.ParentId == dep2.SysDepartmentId { v3 := new(response.DepartmentSellers) v3.SysDepartmentId = dep3.SysDepartmentId v3.SysDepartmentName = dep3.SysDepartmentName for _, s := range seller { if s.SysDepartmentId3 == dep3.SysDepartmentId { s1 := new(response.DepartmentSellers) s1.SysUserId = s.SysUserId s1.SysRealName = s.SysRealName v3.ChildrenList = append(v3.ChildrenList, s1) } } v2.ChildrenList = append(v2.ChildrenList, v3) } } } } list = append(list, v1) } } resp := new(response.DepartmentGroupSellersResp) resp.List = list br.Msg = "获取成功" br.Success = true br.Ret = 200 br.Data = resp } // List // @Title 获取营业部下面的部门 // @Description 获取营业部下面的部门 // @Success 200 {object} []models.SysDepartmentList // @router /department/list [get] func (this *SellerController) DepartmentList() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() parentDepartment, err := models.GetSysDepartmentByName("营业部") if err != nil { if err.Error() == utils.ErrNoRow() { br.Msg = "营业部不存在, 请添加营业部门" return } br.Msg = "获取营业部失败" br.ErrMsg = "获取营业部失败,系统异常,Err:" + err.Error() return } departmentList, err := models.GetChildSysDepartmentListById(parentDepartment.SysDepartmentId) if err != nil { br.Msg = "获取营业部失败" br.ErrMsg = "获取营业部失败,系统异常,Err:" + err.Error() return } if len(departmentList) == 0 { departmentList = make([]*models.SysDepartmentList, 0) } br.Msg = "获取成功" br.Ret = 200 br.Success = true br.Data = departmentList }