package services import ( "errors" "hongze/hongze_cygx/models" "hongze/hongze_cygx/utils" "strings" ) // GetCompanyPermission 获取公司对应的权限名称 func GetCompanyPermission(companyId int) (permissionStr string, err error) { permissionStr, err = models.GetCompanyPermission(companyId) if err != nil { return } permissionStr = strings.Replace(permissionStr, "(主观)", "", -1) permissionStr = strings.Replace(permissionStr, "(客观)", "", -1) return } // GetCompanyPermissionUpgrade 获取公司对应的升级权限名称 func GetCompanyPermissionUpgrade(companyId int) (permissionStr string, err error) { permissionStr, err = models.GetCompanyPermissionByUserTrip(companyId) if err != nil { return } permissionStr = strings.Replace(permissionStr, "(主观)", "", -1) permissionStr = strings.Replace(permissionStr, "(客观)", "", -1) return } // 获取用户对应的权限申请状态 func GetUserHasPermission(user *models.WxUserItem) (hasPermission int, sellerName, sellerMobile, popupMsg string, err error) { //HasPermission int `description:"操作方式,1:有该行业权限,正常展示,2:无该行业权限,3:潜在客户,未提交过申请,4:潜在客户,已提交过申请,5:有IFCC、无权益"` uid := user.UserId applyCount, e := models.GetApplyRecordCount(uid) if e != nil { err = errors.New("GetCompanyPermissionUpgrade, Err: " + e.Error()) return } if user.CompanyId <= 1 { if applyCount == 0 { hasPermission = 3 } else { hasPermission = 4 } } else { companyPermission, e := models.GetCompanyPermission(user.CompanyId) if e != nil { err = errors.New("GetCompanyPermission, Err: " + e.Error()) return } if companyPermission != "" { if applyCount > 0 { hasPermission = 4 } else { //获取权益销售信息 如果是FICC的客户类型,则默认他申请过 sellerItemQy, e := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 2) if e != nil && e.Error() != utils.ErrNoRow() { err = errors.New("GetSellerByCompanyIdCheckFicc, Err: " + e.Error()) return } if sellerItemQy != nil { hasPermission = 2 sellerName = sellerItemQy.Mobile sellerMobile = sellerItemQy.RealName } else { hasPermission = 5 } } } else { sellerItemQy, e := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 2) if e != nil && e.Error() != utils.ErrNoRow() { err = errors.New("GetSellerByCompanyIdCheckFicc_Qy, Err: " + e.Error()) return } if sellerItemQy != nil { hasPermission = 2 sellerMobile = sellerItemQy.Mobile sellerName = sellerItemQy.RealName } else { //获取FICC销售信息 sellerItemFicc, e := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 1) if e != nil && e.Error() != utils.ErrNoRow() { err = errors.New("GetSellerByCompanyIdCheckFicc, Err: " + e.Error()) return } if sellerItemFicc != nil { hasPermission = 3 } else { hasPermission = 5 } } } } popupMsg = "需要升级行业套餐权限才可参与此活动,请联系对口销售" return } // 获取用户对应的权限申请状态 文章详情 func GetUserHasPermissionArticle(user *models.WxUserItem) (hasPermission int, sellerName, sellerMobile, popupMsg string, err error) { //`description:"1:有该行业权限,正常展示,2:无该行业权限,不存在权益客户下,3:无该品类权限,4:潜在客户,未提交过申请,5:潜在客户,已提交过申请"` uid := user.UserId applyCount, e := models.GetApplyRecordCount(uid) if e != nil { err = errors.New("GetCompanyPermissionUpgrade, Err: " + e.Error()) return } if user.CompanyId <= 1 { if applyCount == 0 { hasPermission = 4 } else { hasPermission = 5 } } else { companyPermission, e := models.GetCompanyPermission(user.CompanyId) if e != nil { err = errors.New("GetCompanyPermission, Err: " + e.Error()) return } if companyPermission != "" { if applyCount > 0 { hasPermission = 2 } else { hasPermission = 3 //获取权益销售信息 如果是FICC的客户类型,则默认他申请过 sellerItemQy, e := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 2) if e != nil && e.Error() != utils.ErrNoRow() { err = errors.New("GetSellerByCompanyIdCheckFicc, Err: " + e.Error()) return } if sellerItemQy != nil { sellerName = sellerItemQy.Mobile sellerMobile = sellerItemQy.RealName } } } } popupMsg = "需要升级行业套餐权限才可查看此报告,请联系对口销售" return } // 获取用户对应的权限申请状态 活动详情 func GetUserHasPermissionActivity(user *models.WxUserItem, activityInfo *models.ActivityDetail) (hasPermission int, sellerName, sellerMobile, popupMsg string, err error) { //HasPermission int `description:"操作方式,1:有该行业权限,正常展示,2:无该行业权限,3:潜在客户,未提交过申请,4:潜在客户,已提交过申请,5:有IFCC、无权益"` uid := user.UserId applyCount, e := models.GetApplyRecordCount(uid) if e != nil { err = errors.New("GetApplyRecordCount, Err: " + e.Error()) return } popupMsg = "您暂无权限参加此活动,若想参加可以申请开通对应的试用权限" if user.CompanyId == 1 { if applyCount > 0 { hasPermission = 4 } else { hasPermission = 3 } return } companyItem, err := models.GetCompanyDetailById(user.CompanyId) if err != nil { if err.Error() == utils.ErrNoRow() { if applyCount > 0 { hasPermission = 4 } else { //获取FICC销售信息 sellerItem, e := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 1) if e != nil && e.Error() != utils.ErrNoRow() { err = e return } if sellerItem != nil { hasPermission = 5 } else { hasPermission = 3 } } hasPermission = hasPermission popupMsg = "您暂无权限参加此活动,若想参加可以申请开通对应的试用权限" return } else { return } } if companyItem.ProductId == 2 { hasPermission = 2 sellerMobile = companyItem.Mobile sellerName = companyItem.SellerName companyPermission, e := models.GetCompanyPermission(user.CompanyId) if e != nil && e.Error() != utils.ErrNoRow() { err = errors.New("GetCompanyPermission, Err: " + e.Error()) return } if companyPermission == "专家" { popupMsg = "您暂无权限参加【" + activityInfo.ActivityTypeName + "】类型活动,若想参加请联系对口销售--" + companyItem.SellerName + ":" + companyItem.Mobile } else { popupMsg = "您暂无权限参加【" + activityInfo.ChartPermissionName + "】行业活动,若想参加请联系对口销售--" + companyItem.SellerName + ":" + companyItem.Mobile } } else { hasPermission = 5 } return }