|
@@ -6,6 +6,7 @@ import (
|
|
|
"eta_gn/eta_api/models"
|
|
|
"eta_gn/eta_api/models/data_manage"
|
|
|
"eta_gn/eta_api/models/system"
|
|
|
+ "eta_gn/eta_api/services"
|
|
|
"eta_gn/eta_api/utils"
|
|
|
"fmt"
|
|
|
"strconv"
|
|
@@ -43,6 +44,125 @@ func (this *ManualController) ManualSysUserSearch() {
|
|
|
// return
|
|
|
//}
|
|
|
|
|
|
+ resp := make([]*data_manage.ManualSysUser, 0)
|
|
|
+ departments, e := system.GetSysDepartmentAll()
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = fmt.Sprintf("获取部门失败, %v", e)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ groups, e := system.GetFullGroup()
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = fmt.Sprintf("获取分组失败, %v", e)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ users := make([]*system.AdminItem, 0)
|
|
|
+ {
|
|
|
+ var cond string
|
|
|
+ var pars []interface{}
|
|
|
+ if keyWord != "" {
|
|
|
+ cond += ` AND (real_name LIKE ? OR admin_name LIKE ? OR mobile LIKE ? ) `
|
|
|
+ pars = utils.GetLikeKeywordPars(pars, keyWord, 3)
|
|
|
+ }
|
|
|
+ sysUsers, e := system.GetSysUserItems(cond, pars)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = fmt.Sprintf("获取用户失败, %v", e)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ users = sysUsers
|
|
|
+ }
|
|
|
+
|
|
|
+ // 用户map
|
|
|
+ departmentAdmins := make(map[int][]*system.DepartmentUserTree, 0)
|
|
|
+ groupAdmins := make(map[int][]*system.DepartmentUserTree, 0)
|
|
|
+ for _, v := range users {
|
|
|
+ t := new(system.DepartmentUserTree)
|
|
|
+ t.NodeId = v.AdminId
|
|
|
+ t.NodeType = 3
|
|
|
+ t.NodeName = v.RealName
|
|
|
+ t.Children = make([]*system.DepartmentUserTree, 0)
|
|
|
+ if groupAdmins[v.GroupId] == nil {
|
|
|
+ groupAdmins[v.GroupId] = make([]*system.DepartmentUserTree, 0)
|
|
|
+ }
|
|
|
+ groupAdmins[v.GroupId] = append(groupAdmins[v.GroupId], t)
|
|
|
+
|
|
|
+ // 直属于部门
|
|
|
+ if v.GroupId == 0 {
|
|
|
+ if departmentAdmins[v.DepartmentId] == nil {
|
|
|
+ departmentAdmins[v.DepartmentId] = make([]*system.DepartmentUserTree, 0)
|
|
|
+ }
|
|
|
+ departmentAdmins[v.DepartmentId] = append(departmentAdmins[v.DepartmentId], t)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 构建分组树(以前这里还有个keyword匹配,不知道用作干嘛的,先去掉吧)
|
|
|
+ groupTree := services.BuildGroupTree(groups, groupAdmins)
|
|
|
+
|
|
|
+ // 部门
|
|
|
+ list := make([]*system.DepartmentUserTree, 0)
|
|
|
+ for _, v := range departments {
|
|
|
+ // 关键词查询时不显示空部门
|
|
|
+ if keyWord != "" && groupTree[v.DepartmentId] == nil && departmentAdmins[v.DepartmentId] == nil {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ t := new(system.DepartmentUserTree)
|
|
|
+ t.NodeId = v.DepartmentId
|
|
|
+ t.NodeType = 1
|
|
|
+ t.NodeName = v.DepartmentName
|
|
|
+ t.Children = make([]*system.DepartmentUserTree, 0)
|
|
|
+ if groupTree[v.DepartmentId] != nil {
|
|
|
+ t.Children = append(t.Children, groupTree[v.DepartmentId]...)
|
|
|
+ }
|
|
|
+ if departmentAdmins[v.DepartmentId] != nil {
|
|
|
+ t.Children = append(t.Children, departmentAdmins[v.DepartmentId]...)
|
|
|
+ }
|
|
|
+ list = append(list, t)
|
|
|
+ }
|
|
|
+ resp = ConvertDepartmentUserTree(list)
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|
|
|
+
|
|
|
+func ConvertDepartmentUserTree(users []*system.DepartmentUserTree) []*data_manage.ManualSysUser {
|
|
|
+ result := make([]*data_manage.ManualSysUser, 0, len(users))
|
|
|
+ if users == nil || len(users) == 0 {
|
|
|
+ return result
|
|
|
+ }
|
|
|
+ for _, user := range users {
|
|
|
+ result = append(result, &data_manage.ManualSysUser{
|
|
|
+ ItemId: user.NodeId,
|
|
|
+ ItemName: user.NodeName,
|
|
|
+ Children: ConvertDepartmentUserTree(user.Children),
|
|
|
+ })
|
|
|
+ }
|
|
|
+ return result
|
|
|
+}
|
|
|
+
|
|
|
+func (this *ManualController) ManualSysUserSearchBak() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ sysUser := this.SysUser
|
|
|
+ if sysUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+ keyWord := this.GetString("KeyWord")
|
|
|
+ //list, err := data.GetManualSysUser(keyWord)
|
|
|
+ //if err != nil {
|
|
|
+ // br.Msg = "获取失败"
|
|
|
+ // br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+
|
|
|
resp := make([]*data_manage.ManualSysUser, 0)
|
|
|
departments, e := system.GetSysDepartmentAll()
|
|
|
if e != nil {
|