syntax = "proto2";

package MomentCmd;

//option optimize_for = LITE_RUNTIME;

option java_package = "com.miaole.live.protocol.request";
option java_outer_classname = "MomentCmd";

//动态广场 结果：MomentResult.SquareMomentVOs
message momentSquare {
  optional string lastId = 1; // 最后一条dataID 没有则传空字符串
  optional int32 size = 2; //分页条数
  optional bool includeVideos = 3; // 是否包含视频动态返回 ture 包含，false 不包含
  optional bool includeVote = 4; // 是否包含投票动态返回 ture 包含，false 不包含
  optional bool includePkHighLight = 5; // 是否包含pk高光时刻动态返回 ture 包含，false 不包含
  optional bool includeLove = 6; // 是否包含520动态返回 ture 包含，false 不包含
  optional bool includeCert = 7; // 是否包含证书动态返回 ture 包含，false 不包含
  optional bool includeCampusBelleDevelop = 8; // 是否包含校花养成动态返回 ture 包含，false 不包含
  optional bool includeAirTicket = 9;// 是否包含飞机票动态返回 ture 包含，false 不包含
  optional bool includeAnnualReport = 10;// 是否包含年度报告动态返回 ture 包含，false 不包含
  optional bool includeSouvenirCard = 11;// 是否包含纪念卡动态返回 ture 包含，false 不包含
  optional bool excludeOnlyText = 12;// 是否不包含纯文本动态返回（默认包含） true 不包含，false 包含
}

//动态推荐-查询该用户关注人的动态
message listFollowMoment {
  optional string lastId = 1; // 最后一条 dataID 没有则传空字符串
  optional int32 size = 2; //分页条数
  optional string lastUserId = 3; //最后一条 dataID 对应的 userId
}

//动态推荐-查询推荐的动态
message listRecommendMoment {
  optional string lastId = 1; // 最后一条dataID 没有则传空字符串
  optional int32 size = 2; //分页条数
  optional bool includeVideos = 3; // 是否包含视频动态返回 ture 包含，false 不包含
  optional bool includeVote = 4; // 是否包含投票动态返回 ture 包含，false 不包含
  optional bool includePkHighLight = 5; // 是否包含pk高光时刻动态返回 ture 包含，false 不包含
  optional bool includeLove = 6; // 是否包含520动态返回 ture 包含，false 不包含
  optional bool includeCert = 7; // 是否包含证书动态返回 ture 包含，false 不包含
  optional bool includeCampusBelleDevelop = 8; // 是否包含校花养成动态返回 ture 包含，false 不包含
  optional bool includeAirTicket = 9;// 是否包含飞机票动态返回 ture 包含，false 不包含
  optional bool includeAnnualReport = 10;// 是否包含年度报告动态返回 ture 包含，false 不包含
  optional bool includeSouvenirCard = 11;// 是否包含纪念卡动态返回 ture 包含，false 不包含
}

//动态广场-查询当天按点赞数排序 结果：MomentResult.SquareMomentVOs
message listHotMoment {
  //optional string lastId = 1; // 最后一条dataID 没有则传空字符串
  optional int32 num = 1; //分页页数
  optional int32 size = 2; //分页条数
  optional bool includeVideos = 3; // 是否包含视频动态返回 ture 包含，false 不包含
  optional bool includeVote = 4; // 是否包含投票动态返回 ture 包含，false 不包含
  optional bool includePkHighLight = 5; // 是否包含pk高光时刻动态返回 ture 包含，false 不包含
  optional bool includeLove = 6; // 是否包含520动态返回 ture 包含，false 不包含
  optional bool includeCert = 7; // 是否包含证书动态返回 ture 包含，false 不包含
  optional bool includeCampusBelleDevelop = 8; // 是否包含校花养成动态返回 ture 包含，false 不包含
  optional bool includeAirTicket = 9;// 是否包含飞机票动态返回 ture 包含，false 不包含
  optional bool includeAnnualReport = 10;// 是否包含年度报告动态返回 ture 包含，false 不包含
  optional bool includeSouvenirCard = 11;// 是否包含纪念卡动态返回 ture 包含，false 不包含
}

//发表动态
message issueMoment {
  optional string word = 1; //文字
  optional string voice = 2; //声音
  optional int32 voiceDuration = 3; //声音时长(单位：秒)
  repeated string pics = 4; //图片
  optional string location = 5; //地理位置
  optional string topic = 6; //话题ID
  optional string video = 7; //视频
  optional int32 contType = 8; //内容类型（1:图文动态；2:带背景音乐的语音动态；3:不带背景音乐的语音动态；4:纯文字；5:视频；6:投票）
  optional string selectedTopicTag = 9;// 选中的话题标签
  optional string optionalTopicTags = 10;// 可选的话题标签
  optional int32 videoDuration = 11; //视频时长
  optional int32 videoWidth = 12; //视频宽
  optional int32 videoHeight = 13; //视频高
  optional string coverUrl = 14; //视频封面
  optional int32 voteType = 15; //投票类型 1 文字投票 2 图片投票
  repeated string voteItemContent = 16;// 投票项 存文字
  optional string voiceCoverUrl = 17;// 语音封面
  repeated string voteItemImage = 18;// 投票项 若是图片投票 存图片链接
  repeated string cueUserId = 19;// 被@的好友用户id
}

//动态点赞
message likeMoment {
  optional string momentId = 1; //动态id
}

//取消点赞
message cancelLikeMoment {
  optional string momentId = 1; //动态id
}

//屏蔽用户动态
message shieldingMoment {
  optional string userId = 1; //被屏蔽用户id
}

//阅读动态 结果：MomentResult.SquareMomentVOs
message viewMoment {
  repeated string momentId = 1; //动态id
}

//获取用户动态 结果：MomentResult.MomentVOS
message listMoments {
  optional string userId = 1; //用户id
  optional string lastId = 2; // 最后一条dataID 没有则传空字符串
  optional int32 size = 3; //分页条数
  optional bool includeVideos = 4; // 是否包含视频动态返回 ture 包含，false 不包含
  optional bool includeVote = 5; // 是否包含投票动态返回 ture 包含，false 不包含
  optional bool includePkHighLight = 6; // 是否包含pk高光时刻动态返回 ture 包含，false 不包含
  optional bool includeLove = 7; // 是否包含520动态返回 ture 包含，false 不包含
  optional bool includeCert = 8; // 是否包含证书动态返回 ture 包含，false 不包含
  optional bool includeCampusBelleDevelop = 9; // 是否包含校花养成动态返回 ture 包含，false 不包含
  optional bool includeAirTicket = 10;// 是否包含飞机票动态返回 ture 包含，false 不包含
  optional bool includeAnnualReport = 11;// 是否包含年度报告动态返回 ture 包含，false 不包含
  optional bool includeSouvenirCard = 12;// 是否包含纪念卡动态返回 ture 包含，false 不包含
}

//删除动态
message delMoment {
  optional string momentId = 1; //动态id
}

// 举报动态
message reportMoment {
  optional string momentId = 1; //动态id
  optional int32 reason = 2; // 举报理由
}

//获取多媒体数据 结果：MomentResult.SquareMomentVOs
message listMomentMedia {
  optional string lastId = 1; // 最后一条dataID 没有则传空字符串
  optional int32 size = 2; //分页条数
  repeated int32 contType = 3; //内容类型（1:图文动态；2:带背景音乐的语音动态；3:不带背景音乐的语音动态；4:纯文字）
  optional int32 tabType = 4; //0或空：默认；1：推荐；2：关注；
}

// 获取动态用户房间信息列表，返回：MomentResult.UserMomentRoomInfos
message getUserMomentRoomInfos {
  repeated string userIds = 1; //动态用户Id(限100)
}

// 获取用户话题标签列表，返回：MomentResult.UserTopicTags
message getUserTopicTags {
}

// 获取标签动态列表，结果：MomentResult.TopicTagMomentSquare
message getTopicTagMomentSquare {
  optional string topicTagId = 1;// 标签id
  optional string lastId = 2; // 最后一条dataID 没有则传空字符串
  optional int32 size = 3; //分页条数
  optional bool includeVideos = 4; // 是否包含视频动态返回 ture 包含，false 不包含
  optional bool includeVote = 5; // 是否包含投票动态返回 ture 包含，false 不包含
  optional bool includePkHighLight = 6; // 是否包含pk高光时刻动态返回 ture 包含，false 不包含
  optional bool includeLove = 7; // 是否包含520动态返回 ture 包含，false 不包含
  optional bool includeCert = 8; // 是否包含证书动态返回 ture 包含，false 不包含
  optional bool includeCampusBelleDevelop = 9; // 是否包含校花养成动态返回 ture 包含，false 不包含
  optional bool includeAirTicket = 10;// 是否包含飞机票动态返回 ture 包含，false 不包含
  optional bool includeAnnualReport = 11;// 是否包含年度报告动态返回 ture 包含，false 不包含
  optional bool includeSouvenirCard = 12;// 是否包含纪念卡动态返回 ture 包含，false 不包含
}

// 新获取标签动态列表，结果：MomentResult.TopicTagMomentSquare
message getTopicTagMomentSquareNew {
  optional string topicTagId = 1;// 标签id
  optional int32 start = 2;// 获取起始数据
  optional int32 end = 3;// 获取结束数据
  optional bool includeVideos = 4; // 是否包含视频动态返回 ture 包含，false 不包含
  optional bool includeVote = 5; // 是否包含投票动态返回 ture 包含，false 不包含
  optional bool includePkHighLight = 6; // 是否包含pk高光时刻动态返回 ture 包含，false 不包含
  optional bool includeLove = 7; // 是否包含520动态返回 ture 包含，false 不包含
  optional bool includeCert = 8; // 是否包含证书动态返回 ture 包含，false 不包含
  optional bool includeCampusBelleDevelop = 9; // 是否包含校花养成动态返回 ture 包含，false 不包含
  optional bool includeAirTicket = 10;// 是否包含飞机票动态返回 ture 包含，false 不包含
  optional bool includeAnnualReport = 11;// 是否包含年度报告动态返回 ture 包含，false 不包含
  optional bool includeSouvenirCard = 12;// 是否包含纪念卡动态返回 ture 包含，false 不包含
}

//设置置顶
message setTopMoment {
  optional string id = 1;
}

//取消置顶
message cancelTopMoment {
  optional string id = 1;
}

//动态投票 MomentResult.MomentVO 返回动态信息
message momentVote {
  optional string momentId = 1; //动态ID
  optional string voteItemId = 2; //投票项ID
}

//分页获取投票人列表，MomentResult.MomentVoteUsers
message pageMomentVoteUser {
  required int32 pageSize = 1;        //每页数量
  required string momentId = 2;       //动态ID
  optional int64 score = 3;           //1=分数
}