package services import ( "errors" "fmt" "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 } } } else { hasPermission = 3 } 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 } activityPointsByUserAllMap := GetActivityPointsByUserAllMap() // 获取对用户进行研选扣点的活动 if strings.Contains(activityInfo.ChartPermissionName, utils.CHART_PERMISSION_NAME_YANXUAN) { if activityPointsByUserAllMap[activityInfo.ActivityId] { popupMsg = "签约研选扣点包才可参与此活动,请联系对口销售" } else { popupMsg = "暂无买方研选权限
您可申请开通试用" } } else { 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 } } err = nil hasPermission = hasPermission if strings.Contains(activityInfo.ChartPermissionName, utils.CHART_PERMISSION_NAME_YANXUAN) { popupMsg = "暂无买方研选权限
您可申请开通试用" } else { 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 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 = "暂无买方研选权限
点击提交申请,提醒对口销售为你开通试用" //} else { // popupMsg = "签约研选扣点包才可参与此活动,请联系对口销售" //} if activityPointsByUserAllMap[activityInfo.ActivityId] { popupMsg = "签约研选扣点包才可参与此活动,请联系对口销售" } else { popupMsg = "暂无权限
点击提交申请,提醒对口销售为你开通试用" } } else { if companyPermission == "专家" { popupMsg = "您暂无权限参加【" + activityInfo.ActivityTypeName + "】类型活动,若想参加请联系对口销售--" + companyItem.SellerName + ":" + companyItem.Mobile } else { popupMsg = "您暂无权限参加【" + activityInfo.ChartPermissionName + "】行业活动,若想参加请联系对口销售--" + companyItem.SellerName + ":" + companyItem.Mobile } } } else { hasPermission = 5 } 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 } // GetPermissionNameMap 权限名称与权限ID的map func GetPermissionNameMap() (mapItem map[int]string, err error) { list, e := models.GetChartPermissionListRai() if e != nil { err = e return } mapPermissionName := make(map[int]string) for _, v := range list { mapPermissionName[v.ChartPermissionId] = v.PermissionName } mapItem = mapPermissionName return } func GetPermissionNameIcoMap() (mapItem map[int]string, err error) { list, e := models.GetChartPermissionListRai() if e != nil { err = e return } mapPermissionName := make(map[int]string) for _, v := range list { mapPermissionName[v.ChartPermissionId] = v.ImageUrlM } mapItem = mapPermissionName return }