package services import ( "errors" "fmt" "hongze/hongze_mfyx/models" "hongze/hongze_mfyx/utils" "strings" ) // 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 } } } hasPermission = 3 //弹窗逻辑变更,状态强制改为3 } 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 //} var e error activityPointsByUserAllMap := GetActivityPointsByUserAllMap() // 获取对用户进行研选扣点的活动 hasPermission, e = GetUserPermissionCode(user.UserId, user.CompanyId) if e != nil { err = errors.New("GetUserDetailPermissionCode, Err: " + e.Error()) return } if strings.Contains(activityInfo.ChartPermissionName, utils.CHART_PERMISSION_NAME_YANXUAN) { if activityPointsByUserAllMap[activityInfo.ActivityId] { popupMsg = "签约研选套餐才可参与此活动,请联系对口销售" } else { popupMsg = "暂无研选权限
您可申请开通试用" } } else { popupMsg = "您暂无权限参加此活动,若想参加可以申请开通对应的试用权限" } if user.CompanyId == 1 { 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 if strings.Contains(activityInfo.ChartPermissionName, utils.CHART_PERMISSION_NAME_YANXUAN) { //popupMsg = "暂无研选权限
您可申请开通试用" popupMsg = "暂无权限
您可申请开通试用" } else { popupMsg = "您暂无权限参加此活动,若想参加可以申请开通对应的试用权限" } err = nil 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 strings.Contains(activityInfo.ChartPermissionName, utils.CHART_PERMISSION_NAME_YANXUAN) { popupMsg = "暂无权限
点击提交申请,提醒对口销售为你开通试用" //if !strings.Contains(companyPermission, utils.CHART_PERMISSION_NAME_YANXUAN) && (activityInfo.ActivityTypeId == 3 || activityInfo.ActivityTypeId == 5) { // //popupMsg = "暂无研选权限
点击提交申请,提醒对口销售为你开通试用" // popupMsg = "暂无权限
点击提交申请,提醒对口销售为你开通试用" //} else { // popupMsg = "签约研选套餐才可参与此活动,请联系对口销售" //} } else { if companyPermission == "专家" { popupMsg = "您暂无权限参加【" + activityInfo.ActivityTypeName + "】类型活动,若想参加请联系对口销售--" + companyItem.SellerName + ":" + companyItem.Mobile } else { popupMsg = "您暂无权限参加【" + activityInfo.ChartPermissionName + "】行业活动,若想参加请联系对口销售--" + companyItem.SellerName + ":" + companyItem.Mobile } } } return } // 根据公司ID获取权益销售名称 func GetSellNameMapByCompanyIds(companyIds []int) (respMap map[int]string) { var err error defer func() { if err != nil { fmt.Println(err) go utils.SendAlarmMsg("根据公司ID获取权益销售名称,失败:"+err.Error()+fmt.Sprint(companyIds), 2) } }() lenarr := len(companyIds) if lenarr == 0 { return } var pars []interface{} var condition string respMap = make(map[int]string, 0) condition = " AND product_id = 2 " list, e := models.GetCompanyProductList(condition, pars) if e != nil { err = errors.New("GetCompanyProductList, Err: " + e.Error()) return } for _, v := range list { respMap[v.CompanyId] = v.SellerName } return } // 获取用户对应的权限简单版 func GetUserHasPermissionSimple(user *models.WxUserItem) (hasPermission int, err error) { //HasPermission int `description:"1:有该行业权限,正常展示,2:无该行业权限,不存在权益客户下(ficc),3:无该品类权限,已提交过申请,4:无该品类权限,未提交过申请,5:潜在客户,未提交过申请,6:潜在客户,已提交过申请"` 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 = 5 } else { hasPermission = 6 } } else { companyPermission, e := models.GetCompanyPermission(user.CompanyId) if e != nil { err = errors.New("GetCompanyPermission, Err: " + e.Error()) return } if companyPermission != "" { hasPermission = 1 } else { hasPermission = 3 } } return }