package pc

import (
	"hongze/hongze_yb/models/response"
	"hongze/hongze_yb/models/tables/rddp/customer_comment"
	"hongze/hongze_yb/models/tables/yb_activity"
)

type ClassifyListItem struct {
	ClassifyIdSecond   int    `json:"classify_id_second"`
	ClassifyNameSecond string `json:"classify_name_second"`
	ParentId           int    `json:"parent_id"`
	ReportAuthor       string `json:"report_author"`
	AuthorDescript     string `json:"author_descript"`
	HomeImgUrl         string `json:"home_img_url"`
	Stage              int    `description:"期数" json:"stage"`
	ProductName        string `json:"product_name"`
}

type ClassifyDetail struct {
	ClassifyListItem
	Comments        []*customer_comment.CustomerComment
	AvatarImgUrl    string                        `json:"avatar_img_url"`
	Abstract        string                        `json:"abstract"`
	Descript        string                        `json:"descript"`
	PermissionCheck *response.PermissionCheckInfo `json:"permission_check"`
	AuthOk          bool                          `json:"auth_ok"`
	VipTitle        string                        `json:"vip_title"'`
}

type ClassifyFirstListItem struct {
	ClassifyIdFirst    int    `description:"一级分类id" json:"classify_id_first"`
	Latest             int    `description:"最新更新" json:"latest"`
	ClassifyIdSecond   int    `json:"classify_id_second"`
	ClassifyNameFirst  string `description:"一级分类名称" json:"classify_name_first"`
	ClassifyNameSecond string `json:"classify_name_second"`
	BackImgUrl         string `json:"back_img_url"`
	Sort               int    `json:"sort"`
	RedirectType       int    `description:"跳转页面类型：1，专栏列表，2报告列表，3专栏详情" json:"redirect_type"`
}

type ClassifyFirstList []*ClassifyFirstListItem

func (c ClassifyFirstList) Len() int {
	return len(c)
}

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

func (c ClassifyFirstList) Swap(i, j int) {
	c[i], c[j] = c[j], c[i]
}

type LatestReleaseResp struct {
	ActivityOrReport int `description:"活动或专栏：0，活动，1，专栏" json:"redirect_type"`
	Activity         *yb_activity.YbActivity
	ReportId         int
	ClassifyIdSecond   int
	ImgUrl           string
}
