package services import ( "errors" "hongze/hongze_cygx/models" "hongze/hongze_cygx/utils" "strings" ) var ( UserPermissionOperationModeApply = "Apply" UserPermissionOperationModeCall = "Call" UserPermissionPopupMsgApplyActivity = "您暂无权限参加此活动,若想参加可以申请开通对应的试用权限" UserPermissionPopupMsgCallActivity = "您暂无权限参加此活动,若想参加可以联系对口销售" UserPermissionPopupMsgApplyMicroVideo = "您暂无权限查看此视频,若想查看可以申请开通对应的试用权限" UserPermissionPopupMsgCallMicroVideo = "您暂无权限查看此视频若想查看可以联系对口销售" ) // GetUserRaiPermissionInfo 获取权限类型及信息 // HasPermission 是否有权限:1-有权限; 2-无权限; 3-潜在客户未提交申请; 4-潜在客户已提交申请 5-仅有FICC权限 func GetUserRaiPermissionInfo(userId, companyId int) (authInfo models.UserPermissionAuthInfo, permissionArr []string, err error) { // 用户申请记录 applyCount, e := models.GetApplyRecordCount(userId) if e != nil && e.Error() != utils.ErrNoRow() { err = errors.New("获取用户申请信息失败, Err: " + e.Error()) return } // 潜在用户 if companyId <= 1 { authInfo.HasPermission = 3 if applyCount > 0 { authInfo.HasPermission = 4 } authInfo.OperationMode = UserPermissionOperationModeApply authInfo.PopupMsg = UserPermissionPopupMsgApplyActivity return } // 销售信息 ficcSeller, e := models.GetSellerByCompanyIdCheckFicc(companyId, utils.COMPANY_PRODUCT_FICC_ID) if e != nil && e.Error() != utils.ErrNoRow() { err = errors.New("获取FICC销售信息失败, Err: " + e.Error()) return } raiSeller, e := models.GetSellerByCompanyIdCheckFicc(companyId, utils.COMPANY_PRODUCT_RAI_ID) if e != nil && e.Error() != utils.ErrNoRow() { err = errors.New("获取权益销售信息失败, Err: " + e.Error()) return } if raiSeller != nil { authInfo.SellerMobile = raiSeller.Mobile authInfo.SellerName = raiSeller.RealName } // 仅有FICC权限 if ficcSeller != nil && raiSeller == nil { authInfo.HasPermission = 5 authInfo.OperationMode = UserPermissionOperationModeApply authInfo.PopupMsg = UserPermissionPopupMsgApplyActivity return } // permissions示例: 医药,消费,科技,智造,策略,专家,买方研选 permissions, e := models.GetCompanyPermissionName(companyId) if e != nil { err = errors.New("获取客户权限失败, Err: " + e.Error()) return } if permissions == "" { // 无权益权限 if raiSeller != nil { // 有销售信息 authInfo.HasPermission = 2 authInfo.OperationMode = UserPermissionOperationModeCall authInfo.PopupMsg = UserPermissionPopupMsgCallActivity return } // 无销售信息, 无申请, 视作潜在用户 authInfo.HasPermission = 3 authInfo.OperationMode = UserPermissionOperationModeApply return } // 有基本的权益权限 authInfo.HasPermission = 1 permissionArr = strings.Split(permissions, ",") return }