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
				}
			}
		}
	}
	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
}