user_permission.go 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package services
  2. import (
  3. "errors"
  4. "hongze/hongze_cygx/models"
  5. "hongze/hongze_cygx/utils"
  6. "strings"
  7. )
  8. var (
  9. UserPermissionOperationModeApply = "Apply"
  10. UserPermissionOperationModeCall = "Call"
  11. UserPermissionPopupMsgApplyActivity = "您暂无权限参加此活动,若想参加可以申请开通对应的试用权限"
  12. UserPermissionPopupMsgCallActivity = "您暂无权限参加此活动,若想参加可以联系对口销售"
  13. UserPermissionPopupMsgApplyMicroVideo = "您暂无权限查看此视频,若想查看可以申请开通对应的试用权限"
  14. UserPermissionPopupMsgCallMicroVideo = "您暂无权限查看此视频若想查看可以联系对口销售"
  15. )
  16. // GetUserRaiPermissionInfo 获取权限类型及信息
  17. func GetUserRaiPermissionInfo(userId, companyId int) (authInfo models.UserPermissionAuthInfo, permissionArr []string, err error) {
  18. // 用户申请记录
  19. applyCount, e := models.GetApplyRecordCount(userId)
  20. if e != nil && e.Error() != utils.ErrNoRow() {
  21. err = errors.New("获取用户申请信息失败, Err: " + e.Error())
  22. return
  23. }
  24. // 潜在用户
  25. if companyId <= 1 {
  26. authInfo.HasPermission = 3
  27. if applyCount > 0 {
  28. authInfo.HasPermission = 4
  29. }
  30. authInfo.OperationMode = UserPermissionOperationModeApply
  31. authInfo.PopupMsg = UserPermissionPopupMsgApplyActivity
  32. return
  33. }
  34. // 销售信息
  35. ficcSeller, e := models.GetSellerByCompanyIdCheckFicc(companyId, utils.COMPANY_PRODUCT_FICC_ID)
  36. if e != nil && e.Error() != utils.ErrNoRow() {
  37. err = errors.New("获取FICC销售信息失败, Err: " + e.Error())
  38. return
  39. }
  40. raiSeller, e := models.GetSellerByCompanyIdCheckFicc(companyId, utils.COMPANY_PRODUCT_RAI_ID)
  41. if e != nil && e.Error() != utils.ErrNoRow() {
  42. err = errors.New("获取权益销售信息失败, Err: " + e.Error())
  43. return
  44. }
  45. // permissions示例: 医药,消费,科技,智造,策略,专家,买方研选
  46. permissions, e := models.GetCompanyPermission(companyId)
  47. if e != nil {
  48. err = errors.New("获取客户权限失败, Err: " + e.Error())
  49. return
  50. }
  51. if permissions == "" {
  52. // 试用已申请过
  53. if applyCount > 0 {
  54. authInfo.HasPermission = 4
  55. return
  56. }
  57. // 仅有FICC权限
  58. if ficcSeller != nil && raiSeller == nil {
  59. authInfo.HasPermission = 5
  60. return
  61. }
  62. // 无权益权限
  63. if raiSeller != nil {
  64. // 有销售信息
  65. authInfo.HasPermission = 2
  66. authInfo.SellerMobile = raiSeller.Mobile
  67. authInfo.SellerName = raiSeller.RealName
  68. authInfo.OperationMode = UserPermissionOperationModeCall
  69. authInfo.PopupMsg = UserPermissionPopupMsgCallActivity
  70. return
  71. }
  72. // 无销售信息, 无申请
  73. authInfo.HasPermission = 3
  74. return
  75. }
  76. // 有基本的权益权限
  77. authInfo.HasPermission = 1
  78. permissionArr = strings.Split(permissions, ",")
  79. return
  80. }