123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190 |
- package controllers
- import (
- "eta/eta_forum_admin/models"
- "eta/eta_forum_admin/models/company"
- "eta/eta_forum_admin/models/system"
- "eta/eta_forum_admin/services"
- "eta/eta_forum_admin/utils"
- "fmt"
- "strconv"
- )
- // 销售管理
- type CompanySellerController struct {
- BaseAuthController
- }
- // RoadshowFiccList
- // @Title 路演FICC销售列表
- // @Description 路演FICC销售列表
- // @Success 200 {object} system.RoadshowGroupResp
- // @router /seller/roadshow_ficc/list [get]
- func (this *CompanySellerController) RoadshowFiccList() {
- br := new(models.BaseResponse).Init()
- defer func() {
- if br.ErrMsg == "" {
- br.IsSendEmail = false
- }
- this.Data["json"] = br
- this.ServeJSON()
- }()
- sysUser := this.SysUser
- if sysUser == nil {
- br.Msg = "请登录"
- br.ErrMsg = "请登录,SysUser Is Empty"
- br.Ret = 408
- return
- }
- resp := new(system.RoadshowGroupResp)
- productId := services.GetProductId(sysUser.RoleTypeCode)
- if productId == utils.COMPANY_PRODUCT_RAI_ID {
- br.Ret = 200
- br.Success = true
- br.Msg = "获取成功"
- br.Data = resp
- return
- }
- // 分组
- departmentId := 2
- groups, e := system.GetGroupByDepartmentId(departmentId)
- if e != nil {
- br.Msg = "获取失败"
- br.ErrMsg = "获取FICC分组失败, Err: " + e.Error()
- return
- }
- teamGroupId := make(map[int]int, 0) // 小组ID对应的大组ID
- var list []system.RoadshowGroups
- for _, g := range groups {
- if g.ParentId > 0 {
- teamGroupId[g.GroupId] = g.ParentId
- continue
- }
- // 大组
- list = append(list, system.RoadshowGroups{
- GroupId: g.GroupId,
- GroupName: g.GroupName,
- })
- }
- // 销售
- roleArr := []string{
- utils.ROLE_TYPE_CODE_FICC_ADMIN, utils.ROLE_TYPE_CODE_FICC_DEPARTMENT, utils.ROLE_TYPE_CODE_FICC_GROUP,
- utils.ROLE_TYPE_CODE_FICC_TEAM, utils.ROLE_TYPE_CODE_FICC_SELLER,
- }
- cond := fmt.Sprintf(` AND role_type_code IN (%s) AND enabled = 1`, utils.GetOrmInReplace(len(roleArr)))
- pars := make([]interface{}, 0)
- pars = append(pars, roleArr)
- sellers, e := system.GetSysUserItemsOrderByCreated(cond, pars)
- if e != nil {
- br.Msg = "获取失败"
- br.ErrMsg = "获取FICC销售失败, Err: " + e.Error()
- return
- }
- groupIdChild := make(map[int][]system.RoadshowGroupSellers) // 大组ID对应的销售
- for _, s := range sellers {
- var seller system.RoadshowGroupSellers
- seller.AdminId = s.AdminId
- seller.AdminName = s.RealName
- gid := teamGroupId[s.GroupId]
- if gid > 0 {
- // 小组
- seller.GroupId = gid
- seller.TeamId = s.GroupId
- } else {
- // 大组
- seller.GroupId = s.GroupId
- }
- groupIdChild[seller.GroupId] = append(groupIdChild[seller.GroupId], seller)
- }
- // 根据当前角色过滤可选项
- for _, v := range list {
- // 如果是销售、组长、主管, 那么过滤掉自己大组外的其他组
- if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_FICC_GROUP || sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_FICC_TEAM || sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_FICC_SELLER {
- if sysUser.GroupId != v.GroupId && teamGroupId[sysUser.GroupId] != v.GroupId {
- continue
- }
- }
- child := groupIdChild[v.GroupId]
- // 如果是小组长, 那么只能看到自己小组的信息
- if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_FICC_TEAM {
- var team []system.RoadshowGroupSellers
- for _, c := range child {
- if c.TeamId == sysUser.GroupId {
- team = append(team, c)
- }
- }
- v.Child = team
- resp.List = append(resp.List, v)
- continue
- }
- // 如果是普通销售, 那么只能看到分组中的自己
- if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_FICC_SELLER {
- var self []system.RoadshowGroupSellers
- for _, c := range child {
- if c.AdminId == sysUser.AdminId {
- self = append(self, c)
- break
- }
- }
- v.Child = self
- resp.List = append(resp.List, v)
- continue
- }
- // 非以上两种情况, 可见该大组所有销售
- v.Child = child
- resp.List = append(resp.List, v)
- }
- br.Ret = 200
- br.Success = true
- br.Msg = "获取成功"
- br.Data = resp
- }
- // @Title 企查查模糊查询客户接口
- // @Description 企查查模糊查询客户
- // @Param KeyWord query string true "搜索关键词"
- // @Success 200 {object} services.Result
- // @router /potential/company/qccSearch [get]
- func (this *CompanySellerController) CompanyQCCSearch() {
- br := new(models.BaseResponse).Init()
- defer func() {
- this.Data["json"] = br
- this.ServeJSON()
- }()
- sysUser := this.SysUser
- if sysUser == nil {
- br.Msg = "请登录"
- br.ErrMsg = "请登录,SysUser Is Empty"
- br.Ret = 408
- return
- }
- var err error
- var results []services.Result
- keyWord := this.GetString("KeyWord")
- if keyWord != "" {
- results, err = services.QCCFuzzySearch(keyWord)
- if err != nil {
- br.Data = results
- br.Msg = "获取数据失败," + err.Error()
- br.Ret = 200
- br.Success = true
- return
- }
- }
- br.Data = results
- br.Ret = 200
- br.Success = true
- br.Msg = "获取成功"
- }
- // CheckListV2
- // @Title 获取组长/组员下销售(根据部门、分组)
- // @Description 获取组长/组员下销售(根据部门、分组)接口
- // @Param AllSeller query bool true "是否获取部门所有的销售信息"
- // @Param Status query int true "客户状态 1:流失 0:非流失"
- // @Param AllEnabled query bool true "是否获取包含禁用的用户"
- // @Success 200 {object} company.DepartmentGroupSellersResp
- // @router /seller/check/listV2 [get]
- func (this *CompanySellerController) CheckListV2() {
- br := new(models.BaseResponse).Init()
- defer func() {
- this.Data["json"] = br
- this.ServeJSON()
- }()
- sysUser := this.SysUser
- if sysUser == nil {
- br.Msg = "请登录"
- br.ErrMsg = "请登录,SysUser Is Empty"
- br.Ret = 408
- return
- }
- roleCodeTypeStr := ``
- productId := services.GetProductId(sysUser.RoleTypeCode)
- switch productId {
- case 1:
- roleCodeTypeStr = `"` + utils.ROLE_TYPE_CODE_FICC_SELLER + `","` + utils.ROLE_TYPE_CODE_FICC_GROUP + `","` + utils.ROLE_TYPE_CODE_FICC_TEAM + `"`
- case 2:
- roleCodeTypeStr = `"` + utils.ROLE_TYPE_CODE_RAI_SELLER + `","` + utils.ROLE_TYPE_CODE_RAI_GROUP + `"`
- }
- // ficc管理员,不要只查销售
- if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_FICC_ADMIN {
- roleCodeTypeStr = ``
- } else if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_RAI_ADMIN {
- // 权益管理员,查看所有权益的账号
- roleCodeTypeStr = `"` + utils.ROLE_TYPE_CODE_RAI_SELLER + `","` + utils.ROLE_TYPE_CODE_RAI_GROUP + `","` + utils.ROLE_TYPE_CODE_RAI_RESEARCHR + `","` + utils.ROLE_TYPE_CODE_RAI_ADMIN + `"`
- }
- getAllSeller, _ := this.GetBool("AllSeller", false)
- getAllUser, _ := this.GetBool("AllUser", false)
- status, _ := this.GetInt("Status", 0)
- getAllEnabled, _ := this.GetBool("AllEnabled", false)
- enabled := -1 //默认只获取正常状态的用户
- if getAllEnabled { //获取所有状态的用户
- enabled = -1
- }
- list := make([]company.DepartmentGroupSellers, 0)
- if getAllUser {
- departmentList, err := system.GetDepartmentList()
- if err != nil {
- br.Msg = "获取失败"
- br.ErrMsg = "获取部门失败,Err:" + err.Error()
- return
- }
- for _, department := range departmentList {
- departmentGroupSellerList := make([]company.DepartmentGroupSellers, 0)
- item := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("department_", department.DepartmentId),
- //AdminName string `description:"系统用户名称"`
- RealName: department.DepartmentName,
- ChildrenList: departmentGroupSellerList,
- }
- groupList, err := system.GetSysGroupByDepartmentId(department.DepartmentId)
- if err != nil {
- br.Msg = "获取失败"
- br.ErrMsg = "获取分组失败,Err:" + err.Error()
- return
- }
- for _, group := range groupList {
- groupSellerList := make([]company.DepartmentGroupSellers, 0)
- groupItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("group_", group.DepartmentId),
- //AdminName string `description:"系统用户名称"`
- RealName: group.GroupName,
- ChildrenList: groupSellerList,
- }
- teamList, err := system.GetSysTeamByDepartmentId(group.GroupId)
- if err != nil {
- br.Msg = "获取小组失败"
- br.ErrMsg = "获取小组失败,Err:" + err.Error()
- return
- }
- for _, team := range teamList {
- teamSellerList := make([]company.DepartmentGroupSellers, 0)
- teamItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("team_", team.GroupId),
- //AdminName string `description:"系统用户名称"`
- RealName: team.GroupName,
- ChildrenList: teamSellerList,
- }
- sellerList, err := system.GetTeamSysUserList(team.GroupId, enabled)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- for _, seller := range sellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- //fmt.Println("seller.RealName:", seller.RealName)
- teamSellerList = append(teamSellerList, sellerItem)
- }
- teamSellerList = sortDepartmentGroupSellers(teamSellerList)
- teamItem.ChildrenList = teamSellerList
- if len(teamSellerList) > 0 {
- groupSellerList = append(groupSellerList, teamItem)
- }
- }
- //分组为0的销售(直属分组)
- groupTeamSellerList, err := system.GetGrooupsysUserList(group.GroupId, roleCodeTypeStr, enabled)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- if len(groupTeamSellerList) > 0 {
- tmpDepartmentGroupSellersList := make([]company.DepartmentGroupSellers, 0)
- for _, seller := range groupTeamSellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- tmpDepartmentGroupSellersList = append(tmpDepartmentGroupSellersList, sellerItem)
- }
- //排个序
- tmpDepartmentGroupSellersList = sortDepartmentGroupSellers(tmpDepartmentGroupSellersList)
- groupSellerList = append(groupSellerList, tmpDepartmentGroupSellersList...)
- }
- //groupItem.ChildrenList = groupSellerList
- //if len(groupSellerList) > 0 {
- // list = append(list, item)
- //}
- //sellerList, err := system.GetGroupSysUserList(group.DepartmentId)
- //if err != nil {
- // br.Msg = "获取销售失败"
- // br.ErrMsg = "获取销售失败,Err:" + err.Error()
- // return
- //}
- //for _, seller := range sellerList {
- // sellerItem := company.DepartmentGroupSellers{
- // AdminId: fmt.Sprint(seller.AdminId),
- // //AdminName string `description:"系统用户名称"`
- // RealName: seller.RealName,
- // Authority: seller.Authority,
- // RoleTypeCode: seller.RoleTypeCode,
- // }
- // groupSellerList = append(groupSellerList, sellerItem)
- //}
- //groupSellerList = sortDepartmentGroupSellers(groupSellerList)
- groupItem.ChildrenList = groupSellerList
- if len(groupSellerList) > 0 {
- departmentGroupSellerList = append(departmentGroupSellerList, groupItem)
- }
- }
- //分组为0的销售(直属部门)
- departmentSellerList, err := system.GetDepartmentGroupSysUserList(department.DepartmentId, 0, roleCodeTypeStr)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- if len(departmentSellerList) > 0 {
- tmpDepartmentGroupSellersList := make([]company.DepartmentGroupSellers, 0)
- for _, seller := range departmentSellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- tmpDepartmentGroupSellersList = append(tmpDepartmentGroupSellersList, sellerItem)
- }
- //排个序
- tmpDepartmentGroupSellersList = sortDepartmentGroupSellers(tmpDepartmentGroupSellersList)
- departmentGroupSellerList = append(departmentGroupSellerList, tmpDepartmentGroupSellersList...)
- }
- item.ChildrenList = departmentGroupSellerList
- if len(departmentGroupSellerList) > 0 {
- list = append(list, item)
- }
- }
- br.Ret = 200
- br.Success = true
- br.Msg = "获取成功"
- br.Data = company.DepartmentGroupSellersResp{
- List: list,
- }
- return
- }
- if getAllSeller == false {
- //超管看部门、小组、销售
- if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_ADMIN {
- departmentList, err := system.GetDepartmentList()
- if err != nil {
- br.Msg = "获取失败"
- br.ErrMsg = "获取部门失败,Err:" + err.Error()
- return
- }
- for _, department := range departmentList {
- departmentGroupSellerList := make([]company.DepartmentGroupSellers, 0)
- item := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("department_", department.DepartmentId),
- //AdminName string `description:"系统用户名称"`
- RealName: department.DepartmentName,
- ChildrenList: departmentGroupSellerList,
- }
- groupList, err := system.GetSysGroupByDepartmentId(department.DepartmentId)
- if err != nil {
- br.Msg = "获取失败"
- br.ErrMsg = "获取分组失败,Err:" + err.Error()
- return
- }
- for _, group := range groupList {
- groupSellerList := make([]company.DepartmentGroupSellers, 0)
- groupItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("group_", group.DepartmentId),
- //AdminName string `description:"系统用户名称"`
- RealName: group.GroupName,
- ChildrenList: groupSellerList,
- }
- teamList, err := system.GetSysTeamByDepartmentId(group.GroupId)
- if err != nil {
- br.Msg = "获取小组失败"
- br.ErrMsg = "获取小组失败,Err:" + err.Error()
- return
- }
- for _, team := range teamList {
- teamSellerList := make([]company.DepartmentGroupSellers, 0)
- teamItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("team_", team.GroupId),
- //AdminName string `description:"系统用户名称"`
- RealName: team.GroupName,
- ChildrenList: teamSellerList,
- }
- sellerList, err := system.GetTeamSysUserList(team.GroupId, enabled)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- for _, seller := range sellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- //fmt.Println("seller.RealName:", seller.RealName)
- teamSellerList = append(teamSellerList, sellerItem)
- }
- teamSellerList = sortDepartmentGroupSellers(teamSellerList)
- teamItem.ChildrenList = teamSellerList
- if len(teamSellerList) > 0 {
- groupSellerList = append(groupSellerList, teamItem)
- }
- }
- //分组为0的销售(直属分组)
- groupTeamSellerList, err := system.GetGrooupsysUserList(group.GroupId, roleCodeTypeStr, enabled)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- if len(groupTeamSellerList) > 0 {
- tmpDepartmentGroupSellersList := make([]company.DepartmentGroupSellers, 0)
- for _, seller := range groupTeamSellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- tmpDepartmentGroupSellersList = append(tmpDepartmentGroupSellersList, sellerItem)
- }
- //排个序
- tmpDepartmentGroupSellersList = sortDepartmentGroupSellers(tmpDepartmentGroupSellersList)
- groupSellerList = append(groupSellerList, tmpDepartmentGroupSellersList...)
- }
- //groupItem.ChildrenList = groupSellerList
- //if len(groupSellerList) > 0 {
- // list = append(list, item)
- //}
- //sellerList, err := system.GetGroupSysUserList(group.DepartmentId)
- //if err != nil {
- // br.Msg = "获取销售失败"
- // br.ErrMsg = "获取销售失败,Err:" + err.Error()
- // return
- //}
- //for _, seller := range sellerList {
- // sellerItem := company.DepartmentGroupSellers{
- // AdminId: fmt.Sprint(seller.AdminId),
- // //AdminName string `description:"系统用户名称"`
- // RealName: seller.RealName,
- // Authority: seller.Authority,
- // RoleTypeCode: seller.RoleTypeCode,
- // }
- // groupSellerList = append(groupSellerList, sellerItem)
- //}
- //groupSellerList = sortDepartmentGroupSellers(groupSellerList)
- groupItem.ChildrenList = groupSellerList
- if len(groupSellerList) > 0 {
- departmentGroupSellerList = append(departmentGroupSellerList, groupItem)
- }
- }
- //分组为0的销售(直属部门)
- departmentSellerList, err := system.GetDepartmentGroupSysUserList(department.DepartmentId, 0, roleCodeTypeStr)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- if len(departmentSellerList) > 0 {
- tmpDepartmentGroupSellersList := make([]company.DepartmentGroupSellers, 0)
- for _, seller := range departmentSellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- tmpDepartmentGroupSellersList = append(tmpDepartmentGroupSellersList, sellerItem)
- }
- //排个序
- tmpDepartmentGroupSellersList = sortDepartmentGroupSellers(tmpDepartmentGroupSellersList)
- departmentGroupSellerList = append(departmentGroupSellerList, tmpDepartmentGroupSellersList...)
- }
- item.ChildrenList = departmentGroupSellerList
- if len(departmentGroupSellerList) > 0 {
- list = append(list, item)
- }
- }
- } else if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_FICC_TEAM || sysUser.Authority == 4 {
- //销售组长看销售
- if status == 0 {
- directorId := sysUser.GroupId
- fmt.Println("directorId:", directorId)
- groupList, err := system.GetSysGroupByDirectorId(directorId)
- if err != nil {
- br.Msg = "获取失败"
- br.ErrMsg = "获取分组失败,Err:" + err.Error()
- return
- }
- for _, group := range groupList {
- groupSellerList := make([]company.DepartmentGroupSellers, 0)
- groupItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("group_", group.DepartmentId),
- //AdminName string `description:"系统用户名称"`
- RealName: group.GroupName,
- ChildrenList: groupSellerList,
- }
- teamList, err := system.GetSysTeamByDepartmentId(group.GroupId)
- if err != nil {
- br.Msg = "获取小组失败"
- br.ErrMsg = "获取小组失败,Err:" + err.Error()
- return
- }
- for _, team := range teamList {
- teamSellerList := make([]company.DepartmentGroupSellers, 0)
- teamItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("team_", team.GroupId),
- //AdminName string `description:"系统用户名称"`
- RealName: team.GroupName,
- ChildrenList: teamSellerList,
- }
- sellerList, err := system.GetTeamSysUserList(team.GroupId, enabled)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- for _, seller := range sellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- //fmt.Println("seller.RealName:", seller.RealName)
- teamSellerList = append(teamSellerList, sellerItem)
- }
- teamSellerList = sortDepartmentGroupSellers(teamSellerList)
- teamItem.ChildrenList = teamSellerList
- if len(teamSellerList) > 0 {
- groupSellerList = append(groupSellerList, teamItem)
- }
- }
- //分组为0的销售(直属分组)
- groupTeamSellerList, err := system.GetGrooupsysUserList(group.GroupId, roleCodeTypeStr, enabled)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- if len(groupTeamSellerList) > 0 {
- tmpDepartmentGroupSellersList := make([]company.DepartmentGroupSellers, 0)
- for _, seller := range groupTeamSellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- tmpDepartmentGroupSellersList = append(tmpDepartmentGroupSellersList, sellerItem)
- }
- //排个序
- tmpDepartmentGroupSellersList = sortDepartmentGroupSellers(tmpDepartmentGroupSellersList)
- groupSellerList = append(groupSellerList, tmpDepartmentGroupSellersList...)
- }
- groupItem.ChildrenList = groupSellerList
- if len(groupSellerList) > 0 {
- list = append(list, groupItem)
- }
- }
- } else {
- departmentStr := `1,2`
- departmentList, err := system.GetDepartmentListByIds(departmentStr)
- if err != nil {
- br.Msg = "获取失败"
- br.ErrMsg = "获取部门失败,Err:" + err.Error()
- return
- }
- for _, department := range departmentList {
- departmentGroupSellerList := make([]company.DepartmentGroupSellers, 0)
- item := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("department_", department.DepartmentId),
- //AdminName string `description:"系统用户名称"`
- RealName: department.DepartmentName,
- ChildrenList: departmentGroupSellerList,
- }
- groupList, err := system.GetSysGroupByDepartmentId(department.DepartmentId)
- if err != nil {
- br.Msg = "获取失败"
- br.ErrMsg = "获取分组失败,Err:" + err.Error()
- return
- }
- for _, group := range groupList {
- groupSellerList := make([]company.DepartmentGroupSellers, 0)
- groupItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("group_", group.DepartmentId),
- //AdminName string `description:"系统用户名称"`
- RealName: group.GroupName,
- ChildrenList: groupSellerList,
- }
- teamList, err := system.GetSysTeamByDepartmentId(group.GroupId)
- if err != nil {
- br.Msg = "获取小组失败"
- br.ErrMsg = "获取小组失败,Err:" + err.Error()
- return
- }
- for _, team := range teamList {
- teamSellerList := make([]company.DepartmentGroupSellers, 0)
- teamItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("team_", team.GroupId),
- //AdminName string `description:"系统用户名称"`
- RealName: team.GroupName,
- ChildrenList: teamSellerList,
- }
- sellerList, err := system.GetTeamSysUserList(team.GroupId, enabled)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- for _, seller := range sellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- //fmt.Println("seller.RealName:", seller.RealName)
- teamSellerList = append(teamSellerList, sellerItem)
- }
- teamSellerList = sortDepartmentGroupSellers(teamSellerList)
- teamItem.ChildrenList = teamSellerList
- if len(teamSellerList) > 0 {
- groupSellerList = append(groupSellerList, teamItem)
- }
- }
- //分组为0的人,不光是销售(直属分组)
- groupTeamSellerList, err := system.GetGroupSysUserList(group.GroupId)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- if len(groupTeamSellerList) > 0 {
- tmpDepartmentGroupSellersList := make([]company.DepartmentGroupSellers, 0)
- for _, seller := range groupTeamSellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- tmpDepartmentGroupSellersList = append(tmpDepartmentGroupSellersList, sellerItem)
- }
- //排个序
- tmpDepartmentGroupSellersList = sortDepartmentGroupSellers(tmpDepartmentGroupSellersList)
- groupSellerList = append(groupSellerList, tmpDepartmentGroupSellersList...)
- }
- //groupItem.ChildrenList = groupSellerList
- //if len(groupSellerList) > 0 {
- // list = append(list, item)
- //}
- //sellerList, err := system.GetGroupSysUserList(group.DepartmentId)
- //if err != nil {
- // br.Msg = "获取销售失败"
- // br.ErrMsg = "获取销售失败,Err:" + err.Error()
- // return
- //}
- //for _, seller := range sellerList {
- // sellerItem := company.DepartmentGroupSellers{
- // AdminId: fmt.Sprint(seller.AdminId),
- // //AdminName string `description:"系统用户名称"`
- // RealName: seller.RealName,
- // Authority: seller.Authority,
- // RoleTypeCode: seller.RoleTypeCode,
- // }
- // groupSellerList = append(groupSellerList, sellerItem)
- //}
- //groupSellerList = sortDepartmentGroupSellers(groupSellerList)
- groupItem.ChildrenList = groupSellerList
- if len(groupSellerList) > 0 {
- departmentGroupSellerList = append(departmentGroupSellerList, groupItem)
- }
- }
- //分组为0的人,不光是销售(直属部门)
- departmentSellerList, err := system.GetDepartmentGroupSysUserList(department.DepartmentId, 0, "")
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- if len(departmentSellerList) > 0 {
- tmpDepartmentGroupSellersList := make([]company.DepartmentGroupSellers, 0)
- for _, seller := range departmentSellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- tmpDepartmentGroupSellersList = append(tmpDepartmentGroupSellersList, sellerItem)
- }
- //排个序
- tmpDepartmentGroupSellersList = sortDepartmentGroupSellers(tmpDepartmentGroupSellersList)
- departmentGroupSellerList = append(departmentGroupSellerList, tmpDepartmentGroupSellersList...)
- }
- item.ChildrenList = departmentGroupSellerList
- if len(departmentGroupSellerList) > 0 {
- list = append(list, item)
- }
- }
- }
- } else if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_COMPLIANCE || sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_FINANCE || sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_FICC_ADMIN { //合规或财务或ficc管理员
- departmentStr := `2,5,7` //合规
- switch sysUser.RoleTypeCode {
- case utils.ROLE_TYPE_CODE_FINANCE: //财务
- departmentStr = `2,5,8`
- case utils.ROLE_TYPE_CODE_FICC_ADMIN: //ficc管理员
- departmentStr = utils.GetFiccAdminDepartmentIds()
- }
- departmentList, err := system.GetDepartmentListByIds(departmentStr)
- if err != nil {
- br.Msg = "获取失败"
- br.ErrMsg = "获取部门失败,Err:" + err.Error()
- return
- }
- for _, department := range departmentList {
- fmt.Println(department)
- departmentGroupSellerList := make([]company.DepartmentGroupSellers, 0)
- item := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("department_", department.DepartmentId),
- //AdminName string `description:"系统用户名称"`
- RealName: department.DepartmentName,
- ChildrenList: departmentGroupSellerList,
- }
- groupList, err := system.GetSysGroupByDepartmentId(department.DepartmentId)
- if err != nil {
- br.Msg = "获取失败"
- br.ErrMsg = "获取分组失败,Err:" + err.Error()
- return
- }
- for _, group := range groupList {
- groupSellerList := make([]company.DepartmentGroupSellers, 0)
- groupItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("group_", group.DepartmentId),
- //AdminName string `description:"系统用户名称"`
- RealName: group.GroupName,
- ChildrenList: groupSellerList,
- }
- teamList, err := system.GetSysTeamByDepartmentId(group.GroupId)
- if err != nil {
- br.Msg = "获取小组失败"
- br.ErrMsg = "获取小组失败,Err:" + err.Error()
- return
- }
- for _, team := range teamList {
- teamSellerList := make([]company.DepartmentGroupSellers, 0)
- teamItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("team_", team.GroupId),
- //AdminName string `description:"系统用户名称"`
- RealName: team.GroupName,
- ChildrenList: teamSellerList,
- }
- sellerList, err := system.GetTeamSysUserList(team.GroupId, enabled)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- for _, seller := range sellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- //fmt.Println("seller.RealName:", seller.RealName)
- teamSellerList = append(teamSellerList, sellerItem)
- }
- teamSellerList = sortDepartmentGroupSellers(teamSellerList)
- teamItem.ChildrenList = teamSellerList
- if len(teamSellerList) > 0 {
- groupSellerList = append(groupSellerList, teamItem)
- }
- }
- //分组为0的销售(直属分组)
- groupTeamSellerList, err := system.GetGrooupsysUserList(group.GroupId, roleCodeTypeStr, enabled)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- if len(groupTeamSellerList) > 0 {
- tmpDepartmentGroupSellersList := make([]company.DepartmentGroupSellers, 0)
- for _, seller := range groupTeamSellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- tmpDepartmentGroupSellersList = append(tmpDepartmentGroupSellersList, sellerItem)
- }
- //排个序
- tmpDepartmentGroupSellersList = sortDepartmentGroupSellers(tmpDepartmentGroupSellersList)
- groupSellerList = append(groupSellerList, tmpDepartmentGroupSellersList...)
- }
- //groupItem.ChildrenList = groupSellerList
- //if len(groupSellerList) > 0 {
- // list = append(list, item)
- //}
- //sellerList, err := system.GetGroupSysUserList(group.DepartmentId)
- //if err != nil {
- // br.Msg = "获取销售失败"
- // br.ErrMsg = "获取销售失败,Err:" + err.Error()
- // return
- //}
- //for _, seller := range sellerList {
- // sellerItem := company.DepartmentGroupSellers{
- // AdminId: fmt.Sprint(seller.AdminId),
- // //AdminName string `description:"系统用户名称"`
- // RealName: seller.RealName,
- // Authority: seller.Authority,
- // RoleTypeCode: seller.RoleTypeCode,
- // }
- // groupSellerList = append(groupSellerList, sellerItem)
- //}
- //groupSellerList = sortDepartmentGroupSellers(groupSellerList)
- groupItem.ChildrenList = groupSellerList
- if len(groupSellerList) > 0 {
- departmentGroupSellerList = append(departmentGroupSellerList, groupItem)
- }
- }
- //分组为0的销售(直属部门)
- departmentSellerList, err := system.GetDepartmentGroupSysUserList(department.DepartmentId, 0, roleCodeTypeStr)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- if len(departmentSellerList) > 0 {
- tmpDepartmentGroupSellerList := make([]company.DepartmentGroupSellers, 0)
- for _, seller := range departmentSellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- tmpDepartmentGroupSellerList = append(tmpDepartmentGroupSellerList, sellerItem)
- }
- //排个序
- tmpDepartmentGroupSellerList = sortDepartmentGroupSellers(tmpDepartmentGroupSellerList)
- departmentGroupSellerList = append(departmentGroupSellerList, tmpDepartmentGroupSellerList...)
- }
- item.ChildrenList = departmentGroupSellerList
- if len(departmentGroupSellerList) > 0 {
- list = append(list, item)
- }
- }
- } else if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_RAI_ADMIN || sysUser.Authority == 1 {
- //部门管理员看小组、销售
- departmentId := sysUser.DepartmentId
- switch sysUser.RoleTypeCode {
- case utils.ROLE_TYPE_CODE_RAI_ADMIN: //权益管理员
- departmentId = 5
- case utils.ROLE_TYPE_CODE_FICC_ADMIN: //ficc管理员
- departmentId = 2
- }
- groupList, err := system.GetSysGroupByDepartmentId(departmentId)
- if err != nil {
- br.Msg = "获取失败"
- br.ErrMsg = "获取分组失败,Err:" + err.Error()
- return
- }
- for _, group := range groupList {
- groupSellerList := make([]company.DepartmentGroupSellers, 0)
- groupItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("group_", group.DepartmentId),
- //AdminName string `description:"系统用户名称"`
- RealName: group.GroupName,
- ChildrenList: groupSellerList,
- }
- teamList, err := system.GetSysTeamByDepartmentId(group.GroupId)
- if err != nil {
- br.Msg = "获取小组失败"
- br.ErrMsg = "获取小组失败,Err:" + err.Error()
- return
- }
- for _, team := range teamList {
- teamSellerList := make([]company.DepartmentGroupSellers, 0)
- teamItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("team_", team.GroupId),
- //AdminName string `description:"系统用户名称"`
- RealName: team.GroupName,
- ChildrenList: teamSellerList,
- }
- sellerList, err := system.GetTeamSysUserList(team.GroupId, enabled)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- for _, seller := range sellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- //fmt.Println("seller.RealName:", seller.RealName)
- teamSellerList = append(teamSellerList, sellerItem)
- }
- teamSellerList = sortDepartmentGroupSellers(teamSellerList)
- teamItem.ChildrenList = teamSellerList
- if len(teamSellerList) > 0 {
- groupSellerList = append(groupSellerList, teamItem)
- }
- }
- //分组为0的销售(直属分组)
- groupTeamSellerList, err := system.GetGrooupsysUserList(group.GroupId, roleCodeTypeStr, enabled)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- if len(groupTeamSellerList) > 0 {
- tmpDepartmentGroupSellersList := make([]company.DepartmentGroupSellers, 0)
- for _, seller := range groupTeamSellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- tmpDepartmentGroupSellersList = append(tmpDepartmentGroupSellersList, sellerItem)
- }
- //排个序
- tmpDepartmentGroupSellersList = sortDepartmentGroupSellers(tmpDepartmentGroupSellersList)
- groupSellerList = append(groupSellerList, tmpDepartmentGroupSellersList...)
- }
- //groupItem.ChildrenList = groupSellerList
- //if len(groupSellerList) > 0 {
- // list = append(list, item)
- //}
- //sellerList, err := system.GetGroupSysUserList(group.DepartmentId)
- //if err != nil {
- // br.Msg = "获取销售失败"
- // br.ErrMsg = "获取销售失败,Err:" + err.Error()
- // return
- //}
- //for _, seller := range sellerList {
- // sellerItem := company.DepartmentGroupSellers{
- // AdminId: fmt.Sprint(seller.AdminId),
- // //AdminName string `description:"系统用户名称"`
- // RealName: seller.RealName,
- // Authority: seller.Authority,
- // RoleTypeCode: seller.RoleTypeCode,
- // }
- // groupSellerList = append(groupSellerList, sellerItem)
- //}
- //groupSellerList = sortDepartmentGroupSellers(groupSellerList)
- groupItem.ChildrenList = groupSellerList
- if len(groupSellerList) > 0 {
- list = append(list, groupItem)
- }
- }
- //分组为0的销售(直属部门)
- departmentSellerList, err := system.GetDepartmentGroupSysUserList(departmentId, 0, roleCodeTypeStr)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- if len(departmentSellerList) > 0 {
- tmpDepartmentGroupSeller := make([]company.DepartmentGroupSellers, 0)
- for _, seller := range departmentSellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- tmpDepartmentGroupSeller = append(tmpDepartmentGroupSeller, sellerItem)
- }
- tmpDepartmentGroupSeller = sortDepartmentGroupSellers(tmpDepartmentGroupSeller)
- list = append(list, tmpDepartmentGroupSeller...)
- }
- } else if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_RAI_GROUP || (sysUser.Authority == 2 && sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_FICC_GROUP) {
- // 权益组长看小组
- if status == 0 {
- sellerList, err := system.GetTeamSysUserList(sysUser.GroupId, enabled)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- for _, seller := range sellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- //fmt.Println("seller.RealName:", seller.RealName)
- list = append(list, sellerItem)
- }
- list = sortDepartmentGroupSellers(list)
- //正常来说没有所有人都应该在某个小组下,要不就是小组名为 无 的小组
- //分组为0的销售(直属分组)
- //groupTeamSellerList, err := system.GetGrooupsysUserList(sysUser.GroupId, 0, roleCodeTypeStr)
- //if err != nil {
- // br.Msg = "获取销售失败"
- // br.ErrMsg = "获取销售失败,Err:" + err.Error()
- // return
- //}
- //if len(groupTeamSellerList) > 0 {
- // tmpDepartmentGroupSellersList := make([]company.DepartmentGroupSellers, 0)
- // for _, seller := range groupTeamSellerList {
- // sellerItem := company.DepartmentGroupSellers{
- // AdminId: fmt.Sprint(seller.AdminId),
- // //AdminName string `description:"系统用户名称"`
- // RealName: seller.RealName,
- // Authority: seller.Authority,
- // RoleTypeCode: seller.RoleTypeCode,
- // }
- // tmpDepartmentGroupSellersList = append(tmpDepartmentGroupSellersList, sellerItem)
- // }
- // //排个序
- // tmpDepartmentGroupSellersList = sortDepartmentGroupSellers(tmpDepartmentGroupSellersList)
- // list = append(list, tmpDepartmentGroupSellersList...)
- //}
- //sellerList, err := system.GetDepartmentGroupSysUserList(sysUser.DepartmentId, sysUser.GroupId, roleCodeTypeStr)
- //if err != nil {
- // br.Msg = "获取销售失败"
- // br.ErrMsg = "获取销售失败,Err:" + err.Error()
- // return
- //}
- //for _, seller := range sellerList {
- // sellerItem := company.DepartmentGroupSellers{
- // AdminId: fmt.Sprint(seller.AdminId),
- // //AdminName string `description:"系统用户名称"`
- // RealName: seller.RealName,
- // Authority: seller.Authority,
- // RoleTypeCode: seller.RoleTypeCode,
- // }
- // list = append(list, sellerItem)
- // list = sortDepartmentGroupSellers(list)
- //}
- } else {
- departmentId := 5
- groupList, err := system.GetSysGroupByDepartmentId(departmentId)
- if err != nil {
- br.Msg = "获取失败"
- br.ErrMsg = "获取分组失败,Err:" + err.Error()
- return
- }
- for _, group := range groupList {
- groupSellerList := make([]company.DepartmentGroupSellers, 0)
- groupItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("group_", group.DepartmentId),
- //AdminName string `description:"系统用户名称"`
- RealName: group.GroupName,
- ChildrenList: groupSellerList,
- }
- teamList, err := system.GetSysTeamByDepartmentId(group.GroupId)
- if err != nil {
- br.Msg = "获取小组失败"
- br.ErrMsg = "获取小组失败,Err:" + err.Error()
- return
- }
- for _, team := range teamList {
- teamSellerList := make([]company.DepartmentGroupSellers, 0)
- teamItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("team_", team.GroupId),
- //AdminName string `description:"系统用户名称"`
- RealName: team.GroupName,
- ChildrenList: teamSellerList,
- }
- sellerList, err := system.GetTeamSysUserList(team.GroupId, enabled)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- for _, seller := range sellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- //fmt.Println("seller.RealName:", seller.RealName)
- teamSellerList = append(teamSellerList, sellerItem)
- }
- teamSellerList = sortDepartmentGroupSellers(teamSellerList)
- teamItem.ChildrenList = teamSellerList
- if len(teamSellerList) > 0 {
- groupSellerList = append(groupSellerList, teamItem)
- }
- }
- //分组为0的销售(直属分组)
- groupTeamSellerList, err := system.GetGrooupsysUserList(group.GroupId, roleCodeTypeStr, enabled)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- if len(groupTeamSellerList) > 0 {
- tmpDepartmentGroupSellersList := make([]company.DepartmentGroupSellers, 0)
- for _, seller := range groupTeamSellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- tmpDepartmentGroupSellersList = append(tmpDepartmentGroupSellersList, sellerItem)
- }
- //排个序
- tmpDepartmentGroupSellersList = sortDepartmentGroupSellers(tmpDepartmentGroupSellersList)
- groupSellerList = append(groupSellerList, tmpDepartmentGroupSellersList...)
- }
- //groupItem.ChildrenList = groupSellerList
- //if len(groupSellerList) > 0 {
- // list = append(list, item)
- //}
- //sellerList, err := system.GetGroupSysUserList(group.DepartmentId)
- //if err != nil {
- // br.Msg = "获取销售失败"
- // br.ErrMsg = "获取销售失败,Err:" + err.Error()
- // return
- //}
- //for _, seller := range sellerList {
- // sellerItem := company.DepartmentGroupSellers{
- // AdminId: fmt.Sprint(seller.AdminId),
- // //AdminName string `description:"系统用户名称"`
- // RealName: seller.RealName,
- // Authority: seller.Authority,
- // RoleTypeCode: seller.RoleTypeCode,
- // }
- // groupSellerList = append(groupSellerList, sellerItem)
- //}
- //groupSellerList = sortDepartmentGroupSellers(groupSellerList)
- groupItem.ChildrenList = groupSellerList
- if len(groupSellerList) > 0 {
- list = append(list, groupItem)
- }
- }
- //分组为0的销售(直属部门)
- departmentSellerList, err := system.GetDepartmentGroupSysUserList(departmentId, 0, roleCodeTypeStr)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- if len(departmentSellerList) > 0 {
- tmpDepartmentGroupSeller := make([]company.DepartmentGroupSellers, 0)
- for _, seller := range departmentSellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- tmpDepartmentGroupSeller = append(tmpDepartmentGroupSeller, sellerItem)
- }
- tmpDepartmentGroupSeller = sortDepartmentGroupSellers(tmpDepartmentGroupSeller)
- list = append(list, tmpDepartmentGroupSeller...)
- }
- }
- } else if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_FICC_GROUP || sysUser.Authority == 2 {
- // 销售主管看小组
- if status == 0 {
- pid, err := system.GetParentIdFromGroup(sysUser.GroupId)
- if err != nil {
- br.Msg = "获取失败"
- br.ErrMsg = "查询父级id异常" + err.Error()
- return
- }
- var realGroupId int
- if pid != nil && *pid > 0 {
- //主管角色放在了三级分组下
- realGroupId = *pid
- } else {
- //主管角色放在了二级分组下
- realGroupId = sysUser.GroupId
- }
- groupList, err := system.GetSysGroupByGroupId(realGroupId)
- if err != nil {
- br.Msg = "获取失败"
- br.ErrMsg = "获取分组失败,Err:" + err.Error()
- return
- }
- for _, group := range groupList {
- groupSellerList := make([]company.DepartmentGroupSellers, 0)
- //groupItem := company.DepartmentGroupSellers{
- // AdminId: fmt.Sprint("group_", group.DepartmentId),
- // //AdminName string `description:"系统用户名称"`
- // RealName: group.GroupName,
- // ChildrenList: groupSellerList,
- //}
- teamList, err := system.GetSysTeamByDepartmentId(group.GroupId)
- if err != nil {
- br.Msg = "获取小组失败"
- br.ErrMsg = "获取小组失败,Err:" + err.Error()
- return
- }
- for _, team := range teamList {
- teamSellerList := make([]company.DepartmentGroupSellers, 0)
- teamItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("team_", team.GroupId),
- //AdminName string `description:"系统用户名称"`
- RealName: team.GroupName,
- ChildrenList: teamSellerList,
- }
- sellerList, err := system.GetTeamSysUserList(team.GroupId, enabled)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- for _, seller := range sellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- //fmt.Println("seller.RealName:", seller.RealName)
- teamSellerList = append(teamSellerList, sellerItem)
- }
- teamSellerList = sortDepartmentGroupSellers(teamSellerList)
- teamItem.ChildrenList = teamSellerList
- if len(teamSellerList) > 0 {
- groupSellerList = append(groupSellerList, teamItem)
- }
- }
- //分组为0的销售(直属分组)
- groupTeamSellerList, err := system.GetGrooupsysUserList(realGroupId, roleCodeTypeStr, enabled)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- if len(groupTeamSellerList) > 0 {
- tmpDepartmentGroupSellersList := make([]company.DepartmentGroupSellers, 0)
- for _, seller := range groupTeamSellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- tmpDepartmentGroupSellersList = append(tmpDepartmentGroupSellersList, sellerItem)
- }
- //排个序
- tmpDepartmentGroupSellersList = sortDepartmentGroupSellers(tmpDepartmentGroupSellersList)
- groupSellerList = append(groupSellerList, tmpDepartmentGroupSellersList...)
- }
- list = groupSellerList
- //groupItem.ChildrenList = groupSellerList
- //if len(groupSellerList) > 0 {
- // list = append(list, item)
- //}
- //sellerList, err := system.GetGroupSysUserList(group.DepartmentId)
- //if err != nil {
- // br.Msg = "获取销售失败"
- // br.ErrMsg = "获取销售失败,Err:" + err.Error()
- // return
- //}
- //for _, seller := range sellerList {
- // sellerItem := company.DepartmentGroupSellers{
- // AdminId: fmt.Sprint(seller.AdminId),
- // //AdminName string `description:"系统用户名称"`
- // RealName: seller.RealName,
- // Authority: seller.Authority,
- // RoleTypeCode: seller.RoleTypeCode,
- // }
- // groupSellerList = append(groupSellerList, sellerItem)
- //}
- //groupSellerList = sortDepartmentGroupSellers(groupSellerList)
- //groupItem.ChildrenList = groupSellerList
- //if len(groupSellerList) > 0 {
- // list = append(list, groupItem)
- //}
- }
- //分组为0的销售(直属二级分组)
- //departmentSellerList, err := system.GetDepartmentGroupSysUserList(2, realGroupId, roleCodeTypeStr)
- //if err != nil {
- // br.Msg = "获取销售失败"
- // br.ErrMsg = "获取销售失败,Err:" + err.Error()
- // return
- //}
- //if len(departmentSellerList) > 0 {
- // tmpDepartmentGroupSeller := make([]company.DepartmentGroupSellers, 0)
- // for _, seller := range departmentSellerList {
- // sellerItem := company.DepartmentGroupSellers{
- // AdminId: fmt.Sprint(seller.AdminId),
- // //AdminName string `description:"系统用户名称"`
- // RealName: seller.RealName,
- // Authority: seller.Authority,
- // RoleTypeCode: seller.RoleTypeCode,
- // }
- // tmpDepartmentGroupSeller = append(tmpDepartmentGroupSeller, sellerItem)
- // }
- // tmpDepartmentGroupSeller = sortDepartmentGroupSellers(tmpDepartmentGroupSeller)
- // list = append(list, tmpDepartmentGroupSeller...)
- //}
- //pid, err := company.GetParentIdFromGroup(sysUser.GroupId)
- //if err != nil {
- // br.Msg = "获取失败"
- // br.ErrMsg = "查询父级id异常" + err.Error()
- // return
- //}
- //if pid != nil && *pid > 0 {
- // //主管角色放在了三级分组下
- // //
- //
- //
- //} else {
- // //主管角色放在了二级分组下
- //
- //}
- //ids, err := company.GetGroupIdsByParentId(*pid)
- //if err != nil {
- // br.Msg = "获取失败"
- // br.ErrMsg = "查询父级id异常" + err.Error()
- // return
- //}
- //var idSlice []string
- //var sid string
- //for _, id := range ids {
- // idSlice = append(idSlice, *id)
- //}
- //sid = strings.Join(idSlice, ",")
- //sellerList, err := system.GetTeamSysUserListByIds(sid)
- //if err != nil {
- // br.Msg = "获取销售失败"
- // br.ErrMsg = "获取销售失败,Err:" + err.Error()
- // return
- //}
- //for _, seller := range sellerList {
- // sellerItem := company.DepartmentGroupSellers{
- // AdminId: fmt.Sprint(seller.AdminId),
- // //AdminName string `description:"系统用户名称"`
- // RealName: seller.RealName,
- // Authority: seller.Authority,
- // RoleTypeCode: seller.RoleTypeCode,
- // }
- // fmt.Println("seller.RealName:", seller.RealName)
- // list = append(list, sellerItem)
- //}
- //list = sortDepartmentGroupSellers(list)
- //
- ////分组为0的销售(直属分组)
- //groupTeamSellerList, err := system.GetGrooupsysUserList(sysUser.GroupId, roleCodeTypeStr)
- //if err != nil {
- // br.Msg = "获取销售失败"
- // br.ErrMsg = "获取销售失败,Err:" + err.Error()
- // return
- //}
- //if len(groupTeamSellerList) > 0 {
- // tmpDepartmentGroupSellersList := make([]company.DepartmentGroupSellers, 0)
- // for _, seller := range groupTeamSellerList {
- // sellerItem := company.DepartmentGroupSellers{
- // AdminId: fmt.Sprint(seller.AdminId),
- // //AdminName string `description:"系统用户名称"`
- // RealName: seller.RealName,
- // Authority: seller.Authority,
- // RoleTypeCode: seller.RoleTypeCode,
- // }
- // tmpDepartmentGroupSellersList = append(tmpDepartmentGroupSellersList, sellerItem)
- // }
- // //排个序
- // tmpDepartmentGroupSellersList = sortDepartmentGroupSellers(tmpDepartmentGroupSellersList)
- // list = append(list, tmpDepartmentGroupSellersList...)
- //}
- //sellerList, err := system.GetDepartmentGroupSysUserList(sysUser.DepartmentId, sysUser.GroupId, roleCodeTypeStr)
- //if err != nil {
- // br.Msg = "获取销售失败"
- // br.ErrMsg = "获取销售失败,Err:" + err.Error()
- // return
- //}
- //for _, seller := range sellerList {
- // sellerItem := company.DepartmentGroupSellers{
- // AdminId: fmt.Sprint(seller.AdminId),
- // //AdminName string `description:"系统用户名称"`
- // RealName: seller.RealName,
- // Authority: seller.Authority,
- // RoleTypeCode: seller.RoleTypeCode,
- // }
- // list = append(list, sellerItem)
- // list = sortDepartmentGroupSellers(list)
- //}
- //正常来说没有所有人都应该在某个小组下,要不就是小组名为 无 的小组
- } else {
- //var departmentStr string
- //if utils.RunMode == "release" {
- // departmentStr = `1,2`
- //} else {
- // departmentStr = `1,2`
- //}
- departmentStr := `1,2`
- departmentList, err := system.GetDepartmentListByIds(departmentStr)
- if err != nil {
- br.Msg = "获取失败"
- br.ErrMsg = "获取部门失败,Err:" + err.Error()
- return
- }
- for _, department := range departmentList {
- departmentGroupSellerList := make([]company.DepartmentGroupSellers, 0)
- item := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("department_", department.DepartmentId),
- //AdminName string `description:"系统用户名称"`
- RealName: department.DepartmentName,
- ChildrenList: departmentGroupSellerList,
- }
- groupList, err := system.GetSysGroupByDepartmentId(department.DepartmentId)
- if err != nil {
- br.Msg = "获取失败"
- br.ErrMsg = "获取分组失败,Err:" + err.Error()
- return
- }
- for _, group := range groupList {
- groupSellerList := make([]company.DepartmentGroupSellers, 0)
- groupItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("group_", group.DepartmentId),
- //AdminName string `description:"系统用户名称"`
- RealName: group.GroupName,
- ChildrenList: groupSellerList,
- }
- teamList, err := system.GetSysTeamByDepartmentId(group.GroupId)
- if err != nil {
- br.Msg = "获取小组失败"
- br.ErrMsg = "获取小组失败,Err:" + err.Error()
- return
- }
- for _, team := range teamList {
- teamSellerList := make([]company.DepartmentGroupSellers, 0)
- teamItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("team_", team.GroupId),
- //AdminName string `description:"系统用户名称"`
- RealName: team.GroupName,
- ChildrenList: teamSellerList,
- }
- sellerList, err := system.GetTeamSysUserList(team.GroupId, enabled)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- for _, seller := range sellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- //fmt.Println("seller.RealName:", seller.RealName)
- teamSellerList = append(teamSellerList, sellerItem)
- }
- teamSellerList = sortDepartmentGroupSellers(teamSellerList)
- teamItem.ChildrenList = teamSellerList
- if len(teamSellerList) > 0 {
- groupSellerList = append(groupSellerList, teamItem)
- }
- }
- //分组为0的人,不光是销售(直属分组)
- groupTeamSellerList, err := system.GetGroupSysUserList(group.GroupId)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- if len(groupTeamSellerList) > 0 {
- tmpDepartmentGroupSellersList := make([]company.DepartmentGroupSellers, 0)
- for _, seller := range groupTeamSellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- tmpDepartmentGroupSellersList = append(tmpDepartmentGroupSellersList, sellerItem)
- }
- //排个序
- tmpDepartmentGroupSellersList = sortDepartmentGroupSellers(tmpDepartmentGroupSellersList)
- groupSellerList = append(groupSellerList, tmpDepartmentGroupSellersList...)
- }
- //groupItem.ChildrenList = groupSellerList
- //if len(groupSellerList) > 0 {
- // list = append(list, item)
- //}
- //sellerList, err := system.GetGroupSysUserList(group.DepartmentId)
- //if err != nil {
- // br.Msg = "获取销售失败"
- // br.ErrMsg = "获取销售失败,Err:" + err.Error()
- // return
- //}
- //for _, seller := range sellerList {
- // sellerItem := company.DepartmentGroupSellers{
- // AdminId: fmt.Sprint(seller.AdminId),
- // //AdminName string `description:"系统用户名称"`
- // RealName: seller.RealName,
- // Authority: seller.Authority,
- // RoleTypeCode: seller.RoleTypeCode,
- // }
- // groupSellerList = append(groupSellerList, sellerItem)
- //}
- //groupSellerList = sortDepartmentGroupSellers(groupSellerList)
- groupItem.ChildrenList = groupSellerList
- if len(groupSellerList) > 0 {
- departmentGroupSellerList = append(departmentGroupSellerList, groupItem)
- }
- }
- //分组为0的人,不光是销售(直属部门)
- departmentSellerList, err := system.GetDepartmentGroupSysUserList(department.DepartmentId, 0, "")
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- if len(departmentSellerList) > 0 {
- tmpDepartmentGroupSellersList := make([]company.DepartmentGroupSellers, 0)
- for _, seller := range departmentSellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- tmpDepartmentGroupSellersList = append(tmpDepartmentGroupSellersList, sellerItem)
- }
- //排个序
- tmpDepartmentGroupSellersList = sortDepartmentGroupSellers(tmpDepartmentGroupSellersList)
- departmentGroupSellerList = append(departmentGroupSellerList, tmpDepartmentGroupSellersList...)
- }
- item.ChildrenList = departmentGroupSellerList
- if len(departmentGroupSellerList) > 0 {
- list = append(list, item)
- }
- }
- }
- } else if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_FICC_SELLER && status == 1 {
- //var departmentStr string
- //if utils.RunMode == "release" {
- // departmentStr = `1,2`
- //} else {
- // departmentStr = `1,2`
- //}
- departmentStr := `1,2`
- departmentList, err := system.GetDepartmentListByIds(departmentStr)
- if err != nil {
- br.Msg = "获取失败"
- br.ErrMsg = "获取部门失败,Err:" + err.Error()
- return
- }
- for _, department := range departmentList {
- departmentGroupSellerList := make([]company.DepartmentGroupSellers, 0)
- item := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("department_", department.DepartmentId),
- //AdminName string `description:"系统用户名称"`
- RealName: department.DepartmentName,
- ChildrenList: departmentGroupSellerList,
- }
- groupList, err := system.GetSysGroupByDepartmentId(department.DepartmentId)
- if err != nil {
- br.Msg = "获取失败"
- br.ErrMsg = "获取分组失败,Err:" + err.Error()
- return
- }
- for _, group := range groupList {
- groupSellerList := make([]company.DepartmentGroupSellers, 0)
- groupItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("group_", group.DepartmentId),
- //AdminName string `description:"系统用户名称"`
- RealName: group.GroupName,
- ChildrenList: groupSellerList,
- }
- teamList, err := system.GetSysTeamByDepartmentId(group.GroupId)
- if err != nil {
- br.Msg = "获取小组失败"
- br.ErrMsg = "获取小组失败,Err:" + err.Error()
- return
- }
- for _, team := range teamList {
- teamSellerList := make([]company.DepartmentGroupSellers, 0)
- teamItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("team_", team.GroupId),
- //AdminName string `description:"系统用户名称"`
- RealName: team.GroupName,
- ChildrenList: teamSellerList,
- }
- sellerList, err := system.GetTeamSysUserList(team.GroupId, enabled)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- for _, seller := range sellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- //fmt.Println("seller.RealName:", seller.RealName)
- teamSellerList = append(teamSellerList, sellerItem)
- }
- teamSellerList = sortDepartmentGroupSellers(teamSellerList)
- teamItem.ChildrenList = teamSellerList
- if len(teamSellerList) > 0 {
- groupSellerList = append(groupSellerList, teamItem)
- }
- }
- //分组为0的人,不光是销售(直属分组)
- groupTeamSellerList, err := system.GetGroupSysUserList(group.GroupId)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- if len(groupTeamSellerList) > 0 {
- tmpDepartmentGroupSellersList := make([]company.DepartmentGroupSellers, 0)
- for _, seller := range groupTeamSellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- tmpDepartmentGroupSellersList = append(tmpDepartmentGroupSellersList, sellerItem)
- }
- //排个序
- tmpDepartmentGroupSellersList = sortDepartmentGroupSellers(tmpDepartmentGroupSellersList)
- groupSellerList = append(groupSellerList, tmpDepartmentGroupSellersList...)
- }
- //groupItem.ChildrenList = groupSellerList
- //if len(groupSellerList) > 0 {
- // list = append(list, item)
- //}
- //sellerList, err := system.GetGroupSysUserList(group.DepartmentId)
- //if err != nil {
- // br.Msg = "获取销售失败"
- // br.ErrMsg = "获取销售失败,Err:" + err.Error()
- // return
- //}
- //for _, seller := range sellerList {
- // sellerItem := company.DepartmentGroupSellers{
- // AdminId: fmt.Sprint(seller.AdminId),
- // //AdminName string `description:"系统用户名称"`
- // RealName: seller.RealName,
- // Authority: seller.Authority,
- // RoleTypeCode: seller.RoleTypeCode,
- // }
- // groupSellerList = append(groupSellerList, sellerItem)
- //}
- //groupSellerList = sortDepartmentGroupSellers(groupSellerList)
- groupItem.ChildrenList = groupSellerList
- if len(groupSellerList) > 0 {
- departmentGroupSellerList = append(departmentGroupSellerList, groupItem)
- }
- }
- //分组为0的人,不光是销售(直属部门)
- departmentSellerList, err := system.GetDepartmentGroupSysUserList(department.DepartmentId, 0, "")
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- if len(departmentSellerList) > 0 {
- tmpDepartmentGroupSellersList := make([]company.DepartmentGroupSellers, 0)
- for _, seller := range departmentSellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- tmpDepartmentGroupSellersList = append(tmpDepartmentGroupSellersList, sellerItem)
- }
- //排个序
- tmpDepartmentGroupSellersList = sortDepartmentGroupSellers(tmpDepartmentGroupSellersList)
- departmentGroupSellerList = append(departmentGroupSellerList, tmpDepartmentGroupSellersList...)
- }
- item.ChildrenList = departmentGroupSellerList
- if len(departmentGroupSellerList) > 0 {
- list = append(list, item)
- }
- }
- } else if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_RAI_SELLER && status == 1 {
- // 权益销售可以看到权益销售部的所有人
- departmentId := 5
- groupList, err := system.GetSysGroupByDepartmentId(departmentId)
- if err != nil {
- br.Msg = "获取失败"
- br.ErrMsg = "获取分组失败,Err:" + err.Error()
- return
- }
- for _, group := range groupList {
- groupSellerList := make([]company.DepartmentGroupSellers, 0)
- groupItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("group_", group.DepartmentId),
- //AdminName string `description:"系统用户名称"`
- RealName: group.GroupName,
- ChildrenList: groupSellerList,
- }
- teamList, err := system.GetSysTeamByDepartmentId(group.GroupId)
- if err != nil {
- br.Msg = "获取小组失败"
- br.ErrMsg = "获取小组失败,Err:" + err.Error()
- return
- }
- for _, team := range teamList {
- teamSellerList := make([]company.DepartmentGroupSellers, 0)
- teamItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("team_", team.GroupId),
- //AdminName string `description:"系统用户名称"`
- RealName: team.GroupName,
- ChildrenList: teamSellerList,
- }
- sellerList, err := system.GetTeamSysUserList(team.GroupId, enabled)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- for _, seller := range sellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- //fmt.Println("seller.RealName:", seller.RealName)
- teamSellerList = append(teamSellerList, sellerItem)
- }
- teamSellerList = sortDepartmentGroupSellers(teamSellerList)
- teamItem.ChildrenList = teamSellerList
- if len(teamSellerList) > 0 {
- groupSellerList = append(groupSellerList, teamItem)
- }
- }
- //分组为0的销售(直属分组)
- groupTeamSellerList, err := system.GetGrooupsysUserList(group.GroupId, roleCodeTypeStr, enabled)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- if len(groupTeamSellerList) > 0 {
- tmpDepartmentGroupSellersList := make([]company.DepartmentGroupSellers, 0)
- for _, seller := range groupTeamSellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- tmpDepartmentGroupSellersList = append(tmpDepartmentGroupSellersList, sellerItem)
- }
- //排个序
- tmpDepartmentGroupSellersList = sortDepartmentGroupSellers(tmpDepartmentGroupSellersList)
- groupSellerList = append(groupSellerList, tmpDepartmentGroupSellersList...)
- }
- //groupItem.ChildrenList = groupSellerList
- //if len(groupSellerList) > 0 {
- // list = append(list, item)
- //}
- //sellerList, err := system.GetGroupSysUserList(group.DepartmentId)
- //if err != nil {
- // br.Msg = "获取销售失败"
- // br.ErrMsg = "获取销售失败,Err:" + err.Error()
- // return
- //}
- //for _, seller := range sellerList {
- // sellerItem := company.DepartmentGroupSellers{
- // AdminId: fmt.Sprint(seller.AdminId),
- // //AdminName string `description:"系统用户名称"`
- // RealName: seller.RealName,
- // Authority: seller.Authority,
- // RoleTypeCode: seller.RoleTypeCode,
- // }
- // groupSellerList = append(groupSellerList, sellerItem)
- //}
- //groupSellerList = sortDepartmentGroupSellers(groupSellerList)
- groupItem.ChildrenList = groupSellerList
- if len(groupSellerList) > 0 {
- list = append(list, groupItem)
- }
- }
- //分组为0的销售(直属部门)
- departmentSellerList, err := system.GetDepartmentGroupSysUserList(departmentId, 0, roleCodeTypeStr)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- if len(departmentSellerList) > 0 {
- tmpDepartmentGroupSeller := make([]company.DepartmentGroupSellers, 0)
- for _, seller := range departmentSellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- tmpDepartmentGroupSeller = append(tmpDepartmentGroupSeller, sellerItem)
- }
- tmpDepartmentGroupSeller = sortDepartmentGroupSellers(tmpDepartmentGroupSeller)
- list = append(list, tmpDepartmentGroupSeller...)
- }
- } else {
- //看自己
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(sysUser.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: sysUser.RealName,
- }
- list = append(list, sellerItem)
- }
- } else {
- departmentId := sysUser.DepartmentId
- switch productId {
- case 1:
- departmentId = 2
- case 5:
- departmentId = 5
- }
- //查询整个部门的小组、销售
- groupList, err := system.GetSysGroupByDepartmentId(departmentId)
- if err != nil {
- br.Msg = "获取失败"
- br.ErrMsg = "获取分组失败,Err:" + err.Error()
- return
- }
- for _, group := range groupList {
- groupSellerList := make([]company.DepartmentGroupSellers, 0)
- groupItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("group_", group.DepartmentId),
- //AdminName string `description:"系统用户名称"`
- RealName: group.GroupName,
- ChildrenList: groupSellerList,
- }
- teamList, err := system.GetSysTeamByDepartmentId(group.GroupId)
- if err != nil {
- br.Msg = "获取小组失败"
- br.ErrMsg = "获取小组失败,Err:" + err.Error()
- return
- }
- for _, team := range teamList {
- teamSellerList := make([]company.DepartmentGroupSellers, 0)
- teamItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint("team_", team.GroupId),
- //AdminName string `description:"系统用户名称"`
- RealName: team.GroupName,
- ChildrenList: teamSellerList,
- }
- sellerList, err := system.GetTeamSysUserList(team.GroupId, enabled)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- for _, seller := range sellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- //fmt.Println("seller.RealName:", seller.RealName)
- teamSellerList = append(teamSellerList, sellerItem)
- }
- teamSellerList = sortDepartmentGroupSellers(teamSellerList)
- teamItem.ChildrenList = teamSellerList
- if len(teamSellerList) > 0 {
- groupSellerList = append(groupSellerList, teamItem)
- }
- }
- //分组为0的销售(直属分组)
- groupTeamSellerList, err := system.GetGrooupsysUserList(group.GroupId, roleCodeTypeStr, enabled)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- if len(groupTeamSellerList) > 0 {
- tmpDepartmentGroupSellersList := make([]company.DepartmentGroupSellers, 0)
- for _, seller := range groupTeamSellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- tmpDepartmentGroupSellersList = append(tmpDepartmentGroupSellersList, sellerItem)
- }
- //排个序
- tmpDepartmentGroupSellersList = sortDepartmentGroupSellers(tmpDepartmentGroupSellersList)
- groupSellerList = append(groupSellerList, tmpDepartmentGroupSellersList...)
- }
- groupItem.ChildrenList = groupSellerList
- if len(groupSellerList) > 0 {
- list = append(list, groupItem)
- }
- }
- //分组为0的销售(直属部门)
- departmentSellerList, err := system.GetDepartmentGroupSysUserList(departmentId, 0, roleCodeTypeStr)
- if err != nil {
- br.Msg = "获取销售失败"
- br.ErrMsg = "获取销售失败,Err:" + err.Error()
- return
- }
- if len(departmentSellerList) > 0 {
- tmpDepartmentGroupSeller := make([]company.DepartmentGroupSellers, 0)
- for _, seller := range departmentSellerList {
- sellerItem := company.DepartmentGroupSellers{
- AdminId: fmt.Sprint(seller.AdminId),
- //AdminName string `description:"系统用户名称"`
- RealName: seller.RealName,
- Authority: seller.Authority,
- RoleTypeCode: seller.RoleTypeCode,
- }
- tmpDepartmentGroupSeller = append(tmpDepartmentGroupSeller, sellerItem)
- }
- //排个序
- tmpDepartmentGroupSeller = sortDepartmentGroupSellers(tmpDepartmentGroupSeller)
- list = append(list, tmpDepartmentGroupSeller...)
- }
- }
- // 海外销售部-目前无权限, 均可见
- seaDepartment, e := system.GetSysDepartmentByName("海外销售部")
- if e != nil && e.Error() != utils.ErrNoRow() {
- br.Msg = "获取失败"
- br.ErrMsg = "获取海外销售部失败, Err: " + e.Error()
- return
- }
- if e == nil {
- // 获取部门下的销售人员
- seaSellers, e := system.GetDepartmentGroupSysUserList(seaDepartment.DepartmentId, 0, "")
- if e != nil {
- br.Msg = "获取失败"
- br.ErrMsg = "获取海外销售失败, Err: " + e.Error()
- return
- }
- // 获取分组
- seaGroups, e := system.GetSysGroupListByDepartmentId(seaDepartment.DepartmentId)
- if e != nil {
- br.Msg = "获取失败"
- br.ErrMsg = "获取海外销售部分组失败, Err: " + e.Error()
- return
- }
- var d company.DepartmentGroupSellers
- d.AdminId = fmt.Sprintf("department_%d", seaDepartment.DepartmentId)
- d.RealName = seaDepartment.DepartmentName
- children := make([]company.DepartmentGroupSellers, 0)
- // 无分组
- if len(seaGroups) == 0 {
- for _, s := range seaSellers {
- children = append(children, company.DepartmentGroupSellers{
- AdminId: strconv.Itoa(s.AdminId),
- RealName: s.RealName,
- RoleTypeCode: s.RoleTypeCode,
- Authority: s.Authority,
- })
- }
- }
- // 有分组
- if len(seaGroups) > 0 {
- // 销售map
- sellerMap := make(map[int][]company.DepartmentGroupSellers)
- for _, s := range seaSellers {
- sellerMap[s.GroupId] = append(sellerMap[s.GroupId], company.DepartmentGroupSellers{
- AdminId: strconv.Itoa(s.AdminId),
- RealName: s.RealName,
- RoleTypeCode: s.RoleTypeCode,
- Authority: s.Authority,
- })
- }
- // 小组map
- childrenMap := make(map[int][]company.DepartmentGroupSellers)
- for _, g := range seaGroups {
- if g.ParentId == 0 {
- continue
- }
- childrenMap[g.ParentId] = append(childrenMap[g.ParentId], company.DepartmentGroupSellers{
- AdminId: fmt.Sprintf("team_%d", g.GroupId),
- RealName: g.GroupName,
- ChildrenList: sellerMap[g.GroupId],
- })
- }
- // 大组
- for _, g := range seaGroups {
- if g.ParentId > 0 {
- continue
- }
- c := childrenMap[g.GroupId]
- if len(sellerMap[g.GroupId]) > 0 {
- c = append(c, sellerMap[g.GroupId]...)
- }
- children = append(children, company.DepartmentGroupSellers{
- AdminId: fmt.Sprintf("group_%d", g.GroupId),
- RealName: g.GroupName,
- ChildrenList: c,
- })
- }
- }
- d.ChildrenList = children
- list = append(list, d)
- }
- br.Ret = 200
- br.Success = true
- br.Msg = "获取成功"
- br.Data = company.DepartmentGroupSellersResp{
- List: list,
- }
- }
- // sortDepartmentGroupSellers 部门用户排序
- func sortDepartmentGroupSellers(adminList []company.DepartmentGroupSellers) (list []company.DepartmentGroupSellers) {
- sellerMap := make(map[int][]company.DepartmentGroupSellers)
- for _, admin := range adminList {
- index := 0 //0:超管,1:部门管理员,2:组长,3:普通人
- switch admin.RoleTypeCode {
- //case utils.ROLE_TYPE_CODE_ADMIN:
- // index = 0
- //case utils.ROLE_TYPE_CODE_FICC_ADMIN, utils.ROLE_TYPE_CODE_RAI_ADMIN:
- // index = 1
- //case utils.ROLE_TYPE_CODE_FICC_GROUP, utils.ROLE_TYPE_CODE_RAI_GROUP:
- // index = 2
- default:
- //0:无,1:部门负责人,2:小组负责人,3:超级管理员
- switch admin.Authority {
- //case 1:
- // index = 1
- case 2:
- index = 2
- //case 3:
- // index = 0
- default:
- index = 3
- }
- }
- sellerList, ok := sellerMap[index]
- if !ok {
- sellerList = make([]company.DepartmentGroupSellers, 0)
- }
- sellerList = append(sellerList, admin)
- sellerMap[index] = sellerList
- }
- var indexList = []int{0, 1, 2, 3}
- for _, index := range indexList {
- sellerList, ok := sellerMap[index]
- if ok {
- list = append(list, sellerList...)
- }
- }
- return
- }
|