package request

type QuestionListReq struct {
	PageIndex    int `json:"page_index" form:"page_index"`
	PageSize     int `json:"page_size" form:"page_size"`
	OnlyMine     int `json:"only_mine" form:"only_mine"`
	VarietyTagId int `json:"variety_tag_id" form:"variety_tag_id"`
	ReplyStatus  int `json:"reply_status" form:"reply_status"`
	GroupId      int `json:"group_id" form:"group_id"`
}

type QuestionDetailReq struct {
	QuestionId int `json:"question_id" form:"question_id"`
}

type QuestionAskReq struct {
	QuestionContent   string `json:"question_content"`
	VarietyClassifyId int    `json:"variety_classify_id" description:"标签分类"`
	VarietyTagId      int    `json:"variety_tag_id" description:"标签ID"`
}

type QuestionReplyReq struct {
	QuestionId int                  `json:"question_id" form:"question_id"`
	AudioList  []*ReplyReqAudioList `json:"audio_list" form:"audio_list"`
}

type ReplyReqAudioList struct {
	AudioUrl         string `json:"audio_url" form:"audio_url"`
	AudioPlaySeconds string `json:"audio_play_seconds" form:"audio_url"`
	AudioSize        string `json:"audio_size" form:"audio_size"`
	Sort             int    `json:"sort" form:"sort"`
}

type QuestionReadReq struct {
	QuestionIds string `json:"question_ids" form:"question_ids"`
}

type ReplyListTotalReq struct {
	ReplierUserId int `json:"replier_user_id" form:"replier_user_id"`
}

type CommunityAudioListenLogReq struct {
	CommunityQuestionAudioID int `json:"community_question_audio_id"` //音频ID
	SourceAgent              int `json:"source_agent"`                //操作来源，1：小程序，2：小程序 pc 3:弘则研究公众号，4:web pc
}

type VideoListReq struct {
	PageIndex    int    `json:"page_index" form:"page_index"`
	PageSize     int    `json:"page_size" form:"page_size"`
	Keywords     string `json:"keywords" form:"keywords"`
	VideoId      int    `json:"video_id" form:"video_id"`
	VarietyTagId int    `json:"variety_tag_id" form:"variety_tag_id"`
}

type VideoPlayLogReq struct {
	VideoId     int `json:"video_id" description:"视频ID"`
	SourceAgent int `json:"source_agent" description:"来源：1-小程序 2-小程序PC 3-公众号 4-Web官网"`
}

type RoadVideoPlayLogReq struct {
	VideoId     int `json:"video_id" description:"视频ID"`
	SourceAgent int `json:"source_agent" description:"来源：1-小程序 2-小程序PC 3-公众号 4-Web官网"`
}

type RoadVideoListReq struct {
	PageIndex         int    `json:"page_index" form:"page_index"`
	PageSize          int    `json:"page_size" form:"page_size"`
	Keywords          string `json:"keywords" form:"keywords"`
	VideoId           int    `json:"video_id" form:"video_id"`
	ChartPermissionId int    `json:"chart_permission_id" form:"chart_permission_id"`
}

// ReqCommunityQuestionLikeTease 问答点赞/吐槽请求
type ReqCommunityQuestionLikeTease struct {
	CommunityQuestionId uint32 `description:"问答id" json:"community_question_id" `
	OpType              int8   `description:"类型. 1-点赞 2-吐槽" json:"op_type"`
	Enable              int8   `description:"状态. 0-无效数据（已取消点赞/吐槽） 1-有效数据（点赞/吐槽）" json:"enable"`
	SourceAgent         int8   `description:"点赞入口来源，1：小程序，2：小程序pc" json:"source_agent"`
	Source              int8   `description:"来源：1-问答社区; 2-视频社区"`
}

// ReqComment 问答新增评论请求
type ReqComment struct {
	CommunityQuestionID uint32 `description:"问答id" json:"community_question_id" `
	Content             string `description:"留言内容" json:"content"`
	IsShowName          int8   `description:"是否匿名 0-匿名，1-不匿名" json:"is_show_name"`
	SourceAgent         int8   `description:"留言入口来源，1：小程序，2：pc" json:"source_agent"`
	Source              int8   `description:"来源：1-问答社区; 2-视频社区"`
}

// ReqDel 删除评论
type ReqDel struct {
	CommunityQuestionCommentID uint64 `description:"留言ID" json:"community_question_comment_id"`
}

// QuestionTransferReq 转移问答请求体
type QuestionTransferReq struct {
	CommunityQuestionID int `json:"community_question_id"`
	VarietyClassifyId   int `json:"variety_classify_id" description:"标签分类"`
	VarietyTagId        int `json:"variety_tag_id" description:"标签ID"`
	AdminId             int `json:"admin_id"`
}

// QuestionStopReq 终止问答请求体
type QuestionStopReq struct {
	CommunityQuestionID int    `json:"community_question_id"`
	Reason              string `json:"reason" description:"终止原因"`
}
