admin_power.go 5.2 KB

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