package response

import "time"

type CommunityQuestionItem struct {
	CommunityQuestionID     int    `json:"community_question_id"`
	UserId                  int    `json:"user_id"`
	QuestionContent         string `json:"question_content"`
	ReplierRealName         string `json:"replier_real_name"`
	ReplierRank             string `json:"replier_rank"`
	ReplierAvatar           string `json:"replier_avatar"`
	VarietyTagId            int    `json:"variety_tag_id"`
	VarietyTagName          string `json:"variety_tag_name"`
	ResearchGroupSecondId   int    `json:"research_group_second_id"`
	ResearchGroupSecondName string `json:"research_group_second_name"`
	IsRead                  int    `json:"is_read"`
	ReplierUserID           int    `json:"replier_user_id"  description:"回复人的user_id"`
	ReplierIsRead           int    `json:"replier_is_read"`
	CreateTime              string `json:"create_time"`
	ReplyTime               string `json:"reply_time"`
	IsTop                   int    `json:"is_top"`
	ReplyStatus             int    `json:"reply_status" description:"回复状态 1-待分配 2-待回答 3-已回答"`
	StopReason              string `json:"stop_reason" description:"终止理由"`
	//AuthOk                  bool                          `json:"auth_ok" description:"是否有权限"`
	//PermissionInfo          PermissionCheckInfo           `json:"permission_info"`
	AudioList    []*CommunityQuestionAudioItem `json:"audio_list"`
	OpType       int8                          `description:"类型. 1-点赞 2-吐槽" json:"op_type"`
	LikeTotal    int                           `json:"like_total" description:"点赞数"`
	TeaseTotal   int                           `json:"tease_total" description:"吐槽数"`
	CommentTotal int                           `json:"comment_total" description:"总共评论数"`
	//Comment         string                        `json:"comment" description:"评论"`
	//CommentUserName string                        `json:"comment_user_name" description:"评论人"`
	//QaAvatarUrl     string                        `description:"用户头像" json:"qa_avatar_url"`
	CommentList []*CommunityQuestionCommentListItem `json:"comment_list"`
}

type CommunityQuestionAudioItem struct {
	CommunityQuestionAudioID int    `json:"community_question_audio_id"`
	CommunityQuestionID      int    `json:"community_question_id"`
	AudioURL                 string `json:"audio_url"`
	AudioPlaySeconds         string `json:"audio_play_seconds"`
	AudioSize                string `json:"audio_size"`
	Sort                     int    `json:"sort"`
}

type CommunityQuestionListTotal struct {
	Wait       int `json:"wait"`       //未回答的数量
	Replied    int `json:"replied"`    //已回答的数量
	Total      int `json:"total"`      //全部的数量
	Distribute int `json:"distribute"` //待回答的数量
	Stop       int `json:"stop"`       // 已终止的数量
}

type CommunityQuestionAudioUpload struct {
	AudioURL         string `json:"audio_url"`
	AudioPlaySeconds string `json:"audio_play_seconds"`
	AudioSize        string `json:"audio_size"`
}

// ResearchGroup 研究方向分组表
type ResearchGroupItem struct {
	ResearchGroupId   int                    `json:"research_group_id" description:"研究方向分组ID"`
	ResearchGroupName string                 `json:"research_group_name" description:"研究方向分组名称"`
	ParentId          int                    `json:"parent_id" description:"父类ID"`
	ChartPermissionId int                    `json:"chart_permission_id" description:"品种权限ID"`
	Sort              int                    `json:"sort" description:"排序"`
	Members           []*ResearchGroupMember `json:"members"`
	Children          []*ResearchGroupItem   `json:"children"`
}

// ResearchGroupMember 研究方向组员信息
type ResearchGroupMember struct {
	AdminId   int    `json:"admin_id"`
	AdminName string `json:"admin_name"`
}

// CommunityVideoItem 视频社区
type CommunityVideoItem struct {
	CommunityVideoID    int                                 `json:"community_video_id"`
	Title               string                              `json:"title"`
	VarietyTagId        int                                 `json:"variety_tag_id"`
	VarietyTagName      string                              `json:"variety_tag_name"`
	CoverImgUrl         string                              `json:"cover_img_url"`
	VideoUrl            string                              `json:"video_url"`
	VideoSeconds        string                              `json:"video_seconds"`
	PublishState        int                                 `json:"publish_state"`
	PublishTime         string                              `json:"publish_time"`
	CreateTime          string                              `json:"create_time"`
	ModifyTime          string                              `json:"modify_time"`
	ChartPermissionName string                              `json:"chart_permission_name"`
	TencentId           string                              `json:"tencent_id"`
	OpType              int8                                `description:"类型. 1-点赞 2-吐槽" json:"op_type"`
	LikeTotal           int                                 `json:"like_total" description:"点赞数"`
	TeaseTotal          int                                 `json:"tease_total" description:"吐槽数"`
	CommentTotal        int                                 `json:"comment_total" description:"总共评论数"`
	CommentList         []*CommunityQuestionCommentListItem `json:"comment_list"`
	CollectionId        int                                 `description:"收藏ID: 大于0则表示已收藏" json:"collection_id"`
	BulletChatList      []*BulletChatItem                   `json:"bullet_chat_list" description:"弹幕列表"`
}

// RoadVideoItem 线上路演
type RoadVideoItem struct {
	RoadVideoID         int                                 `json:"road_video_id"`
	Title               string                              `json:"title"`
	ChartPermissionIds  string                              `json:"chart_permission_ids"`
	ChartPermissionName string                              `json:"chart_permission_name"`
	CoverImgUrl         string                              `json:"cover_img_url"`
	VideoUrl            string                              `json:"video_url"`
	VideoSeconds        string                              `json:"video_seconds"`
	PublishState        int                                 `json:"publish_state"`
	AdminId             int                                 `json:"admin_id"`
	AdminRealName       string                              `json:"admin_real_name"`
	PublishTime         string                              `json:"publish_time"`
	CreateTime          string                              `json:"create_time"`
	ModifyTime          string                              `json:"modify_time"`
	CollectionId        int                                 `description:"收藏ID: 大于0则表示已收藏" json:"collection_id"`
	OpType              int8                                `description:"类型. 1-点赞 2-吐槽" json:"op_type"`
	LikeTotal           int                                 `json:"like_total" description:"点赞数"`
	TeaseTotal          int                                 `json:"tease_total" description:"吐槽数"`
	CommentTotal        int                                 `json:"comment_total" description:"总共评论数"`
	ReportId            int                                 `json:"report_id" description:"绑定的报告ID"`
	CommentList         []*CommunityQuestionCommentListItem `json:"comment_list"`
	BulletChatList      []*BulletChatItem                   `json:"bullet_chat_list" description:"弹幕列表"`
}

type RoadVideoItemResp struct {
	List   []*RoadVideoItem `json:"list"`
	Paging *PagingItem      `json:"paging"`
}

// RespCommunityQuestionLikeTease
type RespCommunityQuestionLikeTease struct {
	LikeTotal  int64 `description:"点赞总数" json:"like_total"`
	TeaseTotal int64 `description:"吐槽总数" json:"tease_total"`
	OpType     int8  `description:"类型. 1-点赞 2-吐槽" json:"op_type"`
	Enabled    int8  `description:"本次点赞/吐槽结果： 0-已取消赞 1-有效赞" json:"enabled"`
}

// RespCommunityQuestionCommentAdd 新增问答留言返回
type RespCommunityQuestionCommentAdd struct {
	CommunityQuestionCommentID uint64 `description:"留言ID" json:"community_question_comment_id"`
}

// RespCommunityQuestionCommentItem 问答留言列表的数据返回
type RespCommunityQuestionCommentItem struct {
	CommunityQuestionCommentID uint64    `description:"留言ID" json:"community_question_comment_id"`
	UserId                     uint64    `description:"用户id" json:"user_id"`
	Content                    string    `description:"留言内容" json:"content"`
	IsTop                      int8      `description:"是否置顶（0-未置顶，1-置顶）" json:"is_top"`
	IsHot                      int8      `description:"是否设置精选（0-未设置，1-已设置）" json:"is_hot"`
	HotTopTime                 time.Time `description:"设置精选或者设置置顶的时间" json:"hot_top_time"`
	IsShowName                 int8      `description:"是否匿名 0-匿名，1-不匿名" json:"is_show_name"`
	UserName                   string    `description:"用户昵称" json:"user_name"`
	UserImgUrl                 string    `description:"用户头像" json:"user_img_url"`
	CreateTime                 time.Time `description:"留言创建时间" json:"create_time"`
	QaAvatarUrl                string    `description:"用户头像" json:"qa_avatar_url"`
	ReplyList                  []*ReplyItem
}

// RespCommunityQuestionCommentList 问答留言列表接口返回
type RespCommunityQuestionCommentList struct {
	List     []*RespCommunityQuestionCommentItem `json:"list"`
	Paging   *PagingItem                         `json:"paging"`
	HotTotal int64                               `json:"hot_total"`
	MyTotal  int64                               `json:"my_total"`
}

// CommunityQuestionCommentListItem 问答列表评论列表
type CommunityQuestionCommentListItem struct {
	QaAvatarUrl string `description:"用户头像" json:"qa_avatar_url"`
	Comment     string `description:"评论" json:"comment"`
	//CommentUserName string `description:"评论人" json:"comment_user_name"`
}
