admin_power.go 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. package cygx
  2. import (
  3. "errors"
  4. "hongze/hz_crm_api/models/company"
  5. "hongze/hz_crm_api/models/cygx"
  6. "hongze/hz_crm_api/models/system"
  7. "hongze/hz_crm_api/utils"
  8. "strconv"
  9. "strings"
  10. )
  11. // 获取这个销售所能查看的手机号权限
  12. func GetAdminLookUserMobile(adminInfo *system.Admin) (mapMobile map[string]string, err error) {
  13. var conditionMobile string
  14. if adminInfo.RoleTypeCode == "rai_group" {
  15. //组长查看本组所有组员
  16. conditionMobile = ` SELECT mobile FROM user_seller_relation WHERE seller_id IN (SELECT admin_id FROM admin WHERE group_id = (SELECT group_id FROM admin WHERE admin_id = ` + strconv.Itoa(adminInfo.AdminId) + ` )) `
  17. } else {
  18. //组员查看自己
  19. conditionMobile = ` SELECT mobile FROM user_seller_relation WHERE seller_id = ` + strconv.Itoa(adminInfo.AdminId)
  20. }
  21. mobileList, e := cygx.GetSellerUserMobile(conditionMobile)
  22. if e != nil {
  23. err = errors.New("GetSellerUserMobile 获取这个销售所能查看的手机号权限失败, Err: " + e.Error())
  24. return
  25. }
  26. mapUserMobile := make(map[string]string)
  27. for _, v := range mobileList {
  28. mapUserMobile[v.Mobile] = v.Mobile
  29. }
  30. mapMobile = mapUserMobile
  31. return
  32. }
  33. // 获取这个销售所能查看的手机号权限
  34. func GetAdminLookUserCompanyIds(sysUser *system.Admin) (companyIds []int, err error) {
  35. //如果不是管理员,权益管理员那么就对可见权限范围做处理
  36. adminIds := make([]int, 0)
  37. if sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_ADMIN && sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_RAI_ADMIN {
  38. if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_RAI_GROUP {
  39. //如果是权益的组长就获取下面的组员
  40. adminList, e := system.GetAdminListByGroupId(sysUser.GroupId)
  41. if e != nil {
  42. err = errors.New("GetAdminListByGroupId , Err: " + e.Error())
  43. return
  44. }
  45. for _, v := range adminList {
  46. adminIds = append(adminIds, v.AdminId)
  47. }
  48. } else {
  49. adminIds = append(adminIds, sysUser.AdminId)
  50. }
  51. //adminIds = append(adminIds, sysUser.AdminId)
  52. var adminIdGroup string
  53. for _, v := range adminIds {
  54. adminIdGroup += strconv.Itoa(v) + ","
  55. }
  56. adminIdGroup = strings.TrimRight(adminIdGroup, ",")
  57. companyProductList, e := company.GetCompanyProductsBySellerId(adminIdGroup)
  58. if e != nil {
  59. err = errors.New("GetCompanyProductsBySellerId , Err: " + e.Error())
  60. return
  61. }
  62. for _, v := range companyProductList {
  63. companyIds = append(companyIds, v.CompanyId)
  64. }
  65. }
  66. companyIds = append(companyIds, 0) //添加潜在客户
  67. return
  68. }
  69. // 获取这个销售所能查看的公司权限
  70. func GetAdminLookUserCompanyIdsBySelf(sysUser *system.Admin) (companyIds []int, err error) {
  71. //如果不是管理员,权益管理员那么就对可见权限范围做处理
  72. adminIds := make([]int, 0)
  73. if sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_ADMIN && sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_RAI_ADMIN {
  74. //if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_RAI_GROUP {
  75. // //如果是权益的组长就获取下面的组员
  76. // adminList, e := system.GetAdminListByGroupId(sysUser.GroupId)
  77. // if e != nil {
  78. // err = errors.New("GetAdminListByGroupId , Err: " + e.Error())
  79. // return
  80. // }
  81. // for _, v := range adminList {
  82. // adminIds = append(adminIds, v.AdminId)
  83. // }
  84. //} else {
  85. // adminIds = append(adminIds, sysUser.AdminId)
  86. //}
  87. adminIds = append(adminIds, sysUser.AdminId)
  88. var adminIdGroup string
  89. for _, v := range adminIds {
  90. adminIdGroup += strconv.Itoa(v) + ","
  91. }
  92. adminIdGroup = strings.TrimRight(adminIdGroup, ",")
  93. companyProductList, e := company.GetCompanyProductsBySellerId(adminIdGroup)
  94. if e != nil {
  95. err = errors.New("GetCompanyProductsBySellerId , Err: " + e.Error())
  96. return
  97. }
  98. for _, v := range companyProductList {
  99. companyIds = append(companyIds, v.CompanyId)
  100. }
  101. companyIds = append(companyIds, 0) //添加潜在客户
  102. }
  103. return
  104. }