admin_power.go 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  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 GetAdminLookUserUserId(adminInfo *system.Admin) (userIds []int, err error) {
  35. var conditionMobile string
  36. if adminInfo.RoleTypeCode == "rai_group" {
  37. //组长查看本组所有组员
  38. conditionMobile = ` SELECT user_id 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) + ` )) `
  39. } else {
  40. //组员查看自己
  41. conditionMobile = ` SELECT user_id FROM user_seller_relation WHERE seller_id = ` + strconv.Itoa(adminInfo.AdminId)
  42. }
  43. conditionMobile += " LIMIT 10"
  44. userList, e := cygx.GetSellerUserMobile(conditionMobile)
  45. if e != nil {
  46. err = errors.New("GetSellerUserMobile 获取这个销售所能查看的手机号权限失败, Err: " + e.Error())
  47. return
  48. }
  49. userIds = make([]int, 0)
  50. for _, v := range userList {
  51. userIds = append(userIds, v.UserId)
  52. }
  53. return
  54. }
  55. // 获取这个销售所能查看的手机号权限
  56. func GetAdminLookUserCompanyIds(sysUser *system.Admin) (companyIds []int, err error) {
  57. //如果不是管理员,权益管理员那么就对可见权限范围做处理
  58. adminIds := make([]int, 0)
  59. if sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_ADMIN && sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_RAI_ADMIN {
  60. if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_RAI_GROUP {
  61. //如果是权益的组长就获取下面的组员
  62. adminList, e := system.GetAdminListByGroupId(sysUser.GroupId)
  63. if e != nil {
  64. err = errors.New("GetAdminListByGroupId , Err: " + e.Error())
  65. return
  66. }
  67. for _, v := range adminList {
  68. adminIds = append(adminIds, v.AdminId)
  69. }
  70. } else {
  71. adminIds = append(adminIds, sysUser.AdminId)
  72. }
  73. //adminIds = append(adminIds, sysUser.AdminId)
  74. var adminIdGroup string
  75. for _, v := range adminIds {
  76. adminIdGroup += strconv.Itoa(v) + ","
  77. }
  78. adminIdGroup = strings.TrimRight(adminIdGroup, ",")
  79. companyProductList, e := company.GetCompanyProductsBySellerId(adminIdGroup)
  80. if e != nil {
  81. err = errors.New("GetCompanyProductsBySellerId , Err: " + e.Error())
  82. return
  83. }
  84. for _, v := range companyProductList {
  85. companyIds = append(companyIds, v.CompanyId)
  86. }
  87. }
  88. companyIds = append(companyIds, 0) //添加潜在客户
  89. return
  90. }
  91. // 获取这个销售所能查看的公司权限
  92. func GetAdminLookUserCompanyIdsBySelf(sysUser *system.Admin) (companyIds []int, err error) {
  93. //如果不是管理员,权益管理员那么就对可见权限范围做处理
  94. adminIds := make([]int, 0)
  95. if sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_ADMIN && sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_RAI_ADMIN {
  96. //if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_RAI_GROUP {
  97. // //如果是权益的组长就获取下面的组员
  98. // adminList, e := system.GetAdminListByGroupId(sysUser.GroupId)
  99. // if e != nil {
  100. // err = errors.New("GetAdminListByGroupId , Err: " + e.Error())
  101. // return
  102. // }
  103. // for _, v := range adminList {
  104. // adminIds = append(adminIds, v.AdminId)
  105. // }
  106. //} else {
  107. // adminIds = append(adminIds, sysUser.AdminId)
  108. //}
  109. adminIds = append(adminIds, sysUser.AdminId)
  110. var adminIdGroup string
  111. for _, v := range adminIds {
  112. adminIdGroup += strconv.Itoa(v) + ","
  113. }
  114. adminIdGroup = strings.TrimRight(adminIdGroup, ",")
  115. companyProductList, e := company.GetCompanyProductsBySellerId(adminIdGroup)
  116. if e != nil {
  117. err = errors.New("GetCompanyProductsBySellerId , Err: " + e.Error())
  118. return
  119. }
  120. for _, v := range companyProductList {
  121. companyIds = append(companyIds, v.CompanyId)
  122. }
  123. companyIds = append(companyIds, 0) //添加潜在客户
  124. }
  125. return
  126. }