package response

type PermissionFirstItem struct {
	Id          int `description:"一级品种ID"`
	AuthOk      bool
	Sort        int
	IsCheck     bool
	List        PermissionFiccSecondList
	YbIndexName string
	YbIndexIcon string
}

type PermissionFiccItem struct {
	Id            int                      `json:"id"`
	ClassifyName  string                   `json:"classify_name"`
	List          PermissionFiccSecondList `json:"list"`
	Sort          int                      `json:"sort"`
	IconUrl       string                   `json:"icon_url"`
	SelectIconUrl string                   `json:"select_icon_url"`
}

type PermissionFiccSecondItem struct {
	ChartPermissionName string `json:"chart_permission_name"`
	ChartPermissionID   int    `json:"chart_permission_id"`
	Sort                int    `json:"sort"`
	AuthOk              bool   `json:"auth_ok"`
	PirceDrivenState    int    `json:"pirce_driven_state" description:"价格驱动品种状态：0-关闭 1-开启"`
}

type PermissionFiccResp struct {
	PermissionList PermissionFiccList         `json:"permission_list"`
	ContactInfo    PermissionCheckContactInfo `json:"contact_info"`
	CheckFlag      bool                       `json:"check_flag"`
}



type PermissionFiccList []*PermissionFiccItem

func (p PermissionFiccList) Len() int {
	return len(p)
}

func (p PermissionFiccList) Less(i, j int) bool {
	return p[i].Sort < p[j].Sort
}

func (p PermissionFiccList) Swap(i, j int) {
	p[i], p[j] = p[j], p[i]
}

type PermissionFiccSecondList []*PermissionFiccSecondItem

func (ps PermissionFiccSecondList) Len() int {
	return len(ps)
}

func (ps PermissionFiccSecondList) Less(i, j int) bool {
	return ps[i].Sort < ps[j].Sort
}

func (ps PermissionFiccSecondList) Swap(i, j int) {
	ps[i], ps[j] = ps[j], ps[i]
}


// PermissionCheckInfo 权限校验完成后的结果
type PermissionCheckInfo struct {
	Name         string       `json:"name" description:"销售名称"`
	Mobile       string       `json:"mobile" description:"手机号"`
	Type         string       `json:"type" description:"校验失败，没有权限，需要让前端处理的类型，枚举值：apply,contact"`
	HzPhone      string       `json:"hz_phone" description:"弘则公司电话"`
	CustomerInfo CustomerInfo `json:"customer_info" description:"客户信息"`
}

// PermissionCheckInfoContact 权限校验完成后的结果
type PermissionCheckContactInfo struct {
	Name   string `json:"name" description:"销售名称"`
	Mobile string `json:"mobile" description:"手机号"`
}

// CustomerInfo 客户信息
type CustomerInfo struct {
	CompanyName string `json:"company_name" description:"客户（公司）名称"`
	Name        string `json:"name" description:"联系人名称"`
	Mobile      string `json:"mobile" description:"手机号"`
	Status      string `json:"status" description:"状态"`
	IsSuspend   int8   `json:"is_suspend" description:"启用与否字段：1:暂停,0:启用"`
	HasApply    bool   `json:"has_apply" description:"是否有申请过"`
}


type BindPermissionFiccResp struct {
	PermissionList []*BindPermissionFiccItem `json:"permission_list"`
}

type BindPermissionFiccItem struct {
	Id           int                             `json:"id"`
	ClassifyName string                          `json:"classify_name"`
	List         []*BindPermissionFiccSecondItem `json:"list"`
}


type BindPermissionFiccSecondItem struct {
	ChartPermissionName string `json:"chart_permission_name"`
	ChartPermissionID   int    `json:"chart_permission_id"`
}
