syntax = "proto2";

package UnionCmd;

//option optimize_for = LITE_RUNTIME;

option java_package = "com.miaole.live.protocol.request";
option java_outer_classname = "UnionCmd";

//创建公会:成功返回UnionResult.CreateUnionData
message createUnion {
  optional string name = 1;//公会名称
  optional string slogan = 2;//公会描述
  optional string logoUrl = 3;//公会logo
  optional string position = 4;//公会地标
  optional string phoneNum = 5;//手机号码
  optional string msgCode = 6;//验证码
  optional int32 type = 7;// 公会类型，不传默认游戏公会，1-系统公会；2-游戏公会；3-娱乐公会
  optional string countryId = 8;//国家代号
  optional string whatsAppAccount = 9;//WhatsApp账号
  optional int32 source = 10;//来源 0:默认 1:超管指定公会长创建公会
  optional string masterId = 11;//超管指定的公会长ID
  optional string inviteCode = 12;//BD邀请的识别码
}

//解散公会
message dismissUnion {
  optional string unionId = 1;//解散公会ID
  optional string smsCode = 2;//手机短信验证码
  optional string phoneNum = 3; // 手机号
}

//申请入会，成功加入返回CommonResult.IntResult
message apply {
  optional string unionId = 1;//申请进入的公会ID
  optional string inviteTime = 2;//公会分享的时间
  optional string inviterUserId = 3;//公会分享人
}

//退出公会
message leave {
  optional string unionId = 1;//退出的公会ID
}

//剔除成员
message kickMember {
  optional string unionId = 1;//公会ID
  repeated string memberIds = 2;//剔除成员ID
}

//审批成员入会
message confirm {
  optional string unionId = 1;//申请进入的公会ID
  optional string memberId = 2;//审批的成员ID
  optional bool pass = 3;//是否通过
}

//获取公会主页信息:返回UnionResult.UnionData
message getUnionMainData {
  optional string unionId = 1;//公会ID
}

//获取公会信息(简易版频道主页显示):返回UnionResult.UnionInfo
message getUnionInfo {
  optional string unionId = 1;//公会ID
}

//获取公会名字+logo:返回UnionResult.UnionList
message getUnionInfos {
  repeated string unionIds = 1;//公会ID列表
  optional bool unionName = 2;//是否取公会名，否则取默认频道名
}

//获取公会详细信息:返回UnionResult.UnionDetail
message getUnionDetail {/**NO_AUTH**/
  optional string unionId = 1;//公会ID
}

//获取我的公会列表(原来的公会大厅):返回UnionResult.UnionList
message getMyUnionList {
}

//修改公会资料
message modifyGroup {
  optional string unionId = 1;//公会ID
  repeated string updateKeys = 2;//要更新键
  repeated string updateValues = 3;//对应该更新键的值
}

//成员列表:返回UnionResult.UnionMemberList
message getMemberList {
  optional string unionId = 1;//公会ID
  optional int32 start = 2;//要获取列表的开始下标
  optional int32 end = 3;//要获取列表的结束下标
}

//获得以标签优先排行的成员列表:返回UnionResult.UnionMemberList
message getMemberTagList {
  optional string unionId = 1;//公会ID
  optional int32 start = 2;//要获取列表的开始下标
  optional int32 end = 3;//要获取列表的结束下标
}

//禁言
message forbidSendMsg {
  optional string unionId = 1;//公会ID
  repeated string memberIdList = 2;//要设置的成员ID数组
  optional int32 shutUpTime = 3;//禁言时间(秒) 0取消禁言
}

//修改公会成员资料
message modifyGroupMember {
  optional string unionId = 1;//公会ID
  repeated string memberIds = 2;//审批的成员ID数组
  repeated string updateKeys = 3;//要更新键
  repeated string updateValues = 4;//对应该更新键的值
}

//获得会员申请列表的条数CommonResult.IntResult
message getApplyNum {
  optional string unionId = 1;//公会ID
}

//获取公会会员申请列表MessageResult.MessageListResult 
message getApplyList {
  optional string unionId = 1;//公会ID
  optional string lastId = 2;//最后一条数据Id
  optional int32 num = 3;//获取数据条数
}

//设置公会头衔
message setTitles {
  optional string unionId = 1;//公会ID
  repeated string titles = 2;//头衔数组
}

//获得模块列表 返回:UnionResult.ModulesResult
message getModuleList {
  optional string unionId = 1;//公会ID
}

//更新模块列表
message updateModuleList {
  optional string unionId = 1;//公会ID
  repeated string modules = 2;//模块数组
}

//更换公会Logo
message changeLogo {
  optional string unionId = 1;//公会ID
  optional string logoUrl = 2; // 图片地址
}

//更换公会封面
message changeCover {
  optional string unionId = 1;//公会ID
  optional string logoUrl = 2; // 图片地址
}

//选择公会封面
message selectCover {
  optional string unionId = 1;//公会ID
  optional string coverId = 2;//封面ID
}


//打开留言板 返回:UnionResult.OpenGuestbookResult
message openGuestbook {
  optional string unionId = 1;//公会ID
  optional int32 start = 2;//要获取列表的开始下标
  optional int32 end = 3;//要获取列表的结束下标
}

//获得留言板列表 返回:UnionResult.GuestbookPageResult
message getGuestbookList {
  optional string unionId = 1;//公会ID
  optional int32 start = 2;//要获取列表的开始下标
  optional int32 end = 3;//要获取列表的结束下标
  optional string lastId = 4;//最后一条数据ID
  optional bool check = 5;//是否已审核
}

//发布留言 返回:UnionResult.GuestbookVo
message sendGuestbook {
  optional string unionId = 1;//公会ID
  optional string content = 2;//留言内容
}

//删除留言
message delGuestbook {
  optional string unionId = 1;//公会ID
  optional string id = 2;//留言ID
  optional bool check = 3;//是否已审核
}

//点赞留言返回:UnionResult.LikeResult
message likeGuestbook {
  optional string unionId = 1;//公会ID
  optional string id = 2;//留言ID
  optional bool check = 3;//是否已审核
}

//处理审核
message handleCheck {
  optional string unionId = 1;//公会ID
  repeated string id = 2;//要审核留言ID数组
}

//公会签到
message signUnion {
  optional string unionId = 1;//公会ID
}

//公会补签
message reSignUnion {
  optional string unionId = 1;//公会ID
}

//公会会员签到排行榜点赞
message likeSignUnion {
  optional string unionId = 1;//公会ID
  optional string likeId = 2;//签到的会员ID
  optional bool like = 3;//true为点赞，false为取消点赞
}

//获取公会成员签到排行:返回UnionResult.SignData
message getSignRank {
  optional string unionId = 1;//公会ID
  optional int32 start = 2;//获取起始数据
  optional int32 end = 3;//获取结束数据
  optional bool detail = 4;//是否显示详细
  optional bool sendmy = 5;//返回我的数据(已签到和排名信息)
}

//上传签到排行榜封面
message uploadSignCover {
  optional string unionId = 1;//公会ID
  optional bytes coverBytes = 2;//封面
  optional bool hadLogoUpload = 3;// 有上传图片
  optional string logoUrl = 4; // 图片地址
}

//获得公会入驻游戏:CommonResult.StringArrayResult
message getGames {
  optional string unionId = 1;//公会ID
}

//添加游戏
message addGames {
  optional string unionId = 1;//公会ID
  repeated string gameIds = 2;//游戏ID数组
}

//删除入驻的游戏
message delGames {
  optional string unionId = 1;//公会ID
  repeated string gameIds = 2;//游戏ID数组
}

//获得当前公会Baby数据:UnionResult.BabyInfoList
message getBabys {
  optional string unionId = 1;//公会ID
  optional string searchContent = 2;//搜索内容
}

//添加公会Baby
message addBaby {
  optional string unionId = 1;//公会ID
  optional string memberId = 2;//公会babyID
  optional string photoUrl = 3; // 图片url
}

//更新babys列表(排序)
message updateBabys {
  optional string unionId = 1;//公会ID
  repeated string memberId = 2;//公会babyID
}

//删除公会Baby
message delBady {
  optional string unionId = 1;//公会ID
  repeated string memberId = 2;//成员ID数组
}


//获得当前公会签约主播数据:LiveResult.LiveUserList
message getLivers {
  optional string unionId = 1;//公会ID
}

//添加公会签约主播
message addLiver {
  optional string unionId = 1;//公会ID
  optional string memberId = 2;//公会成员ID
  optional string logoUrl = 3; // 图片地址
}

//更新签约主播列表(排序)
message updateLivers {
  optional string unionId = 1;//公会ID
  repeated string memberId = 2;//公会babyID
}

//删除公会签约主播
message delLiver {
  optional string unionId = 1;//公会ID
  repeated string memberId = 2;//成员ID数组
}

//上传公会boby图片
message uploadLiver {
  optional string unionId = 1;//公会ID
  optional string memberId = 2;//公会签约主播ID
  optional string logoUrl = 3; // 图片地址
}

//获得小黑板内容CommonResult.StringResult
message getBlackboard {/**NO_AUTH**/
  optional string unionId = 1;//公会ID
}

//设置小黑板内容
message setBlackboard {
  optional string unionId = 1;//公会ID
  optional string content = 2;//小黑板内容
  optional bool fullGroup = 3;//发送到全部群组
  optional bool fullChannel = 4;//发送到全部频道
  repeated string groupIds = 5;//群组ID数组
  repeated string channelIds = 6;//频道ID数组
}

//创建相册  返回新创建的相册数据：UnionResult.UnionAlbumInfoList
message createAlbum {
  optional string unionId = 1;//公会ID
  optional string albumName = 2;//相册名
}

//更改相册名称
message changeAlbum {
  optional string unionId = 1;//公会ID
  optional string albumId = 2;//相册
  optional string albumName = 3;//相册名
  optional string photoId = 4;//相册封面ID
}

//删除相册
message delAlbum {
  optional string unionId = 1;//公会ID
  optional string albumId = 2;//相册ID
}

//获得相册内容 返回:UnionResult.UnionAlbumInfoList
message getAlbumDatas {
  optional string unionId = 1;//公会ID
}


//获得相册列表 返回相册ID数组 CommonResult.StringArrayResult
message getPhotoAlbum {
  optional string unionId = 1;//公会ID
}

//添加相册ID到相册列表
message addPhotoAlbum {
  optional string unionId = 1;//公会ID
  optional string albumId = 2;//相册
  optional string id = 3;//相片ID
}

message deletePhoto {
  optional string unionId = 1;//公会ID
  optional string albumId = 2;//相册
  optional string id = 3;//相片ID
}

//获得相片ID 返回: CommonResult.StringResult
message getPhotoAlbumId {
  optional string unionId = 1;//公会ID
  optional string albumId = 2;//相册
}

//上传公会boby图片
message uploadBaby {
  optional string unionId = 1;//公会ID
  optional string babyId = 2;//公会babyID
  optional string photoUrl = 3; // 图片url
}

//记录公会聊天次数
message recordCharacterCount {
  optional string unionId = 1;//公会ID
  optional int32 characterCount = 2;//文字聊天条数
  optional int32 voiceCount = 3;//语音聊天条数
}

//频道排序自定义
message sortChannelIds {
  optional string unionId = 1;//公会ID
  optional string roomId = 2;//频道ID
  optional int32 sortNum = 3;//序号
}

//群组排序自定义
message sortGroupIds {
  optional string unionId = 1;//公会ID
  optional string roomId = 2;//群组ID
  optional int32 sortNum = 3;//序号
}

//群组禁言
message forbidGroupSendMsg {
  optional string unionId = 1;//公会ID
  optional string roomId = 2;//房间ID
  repeated string memberIdList = 3;//要设置的成员ID数组
  optional int32 shutUpTime = 4;//禁言时间(秒) 0取消禁言
}

//全员禁言
message fullForbidGroupSendMsg {
  optional string unionId = 1;//公会ID
  optional string roomId = 2;//房间ID
  optional int32 shutUpTime = 3;//禁言时间(秒) 0取消禁言
}

//获得禁言列表 返回 : RoomResult.MemberList
message getForbidGroupList {
  optional string unionId = 1;//公会ID
  optional string roomId = 2;//房间ID
}

//根据玩家获取默认进入的频道
message getDefaultChannel {
  optional string unionId = 1;//公会ID
}

//获取公会头像修改时间，返回CommonResult.IntDatas
message getUnionLogoTimes {
  repeated string unionIds = 1;//公会ID
}

//获得随机机会 返回:UnionResult.UnionList
message getRandomUnion {

}

//删除随机公会
message delRandomUnion {
  optional string unionId = 1;
}

//获取公会详细信息:返回UnionResult.UnionLevel
message getUnionLevel {
  optional string unionId = 1; //公会ID
}
//获取公会日统计数据如：今日总经验、今日入会人数、今日签到人数等:返回UnionResult.UnionDayStatistics
message getUnionDayStatistics {
  optional string unionId = 1; //公会ID
}


//获得游戏中心数据 返回:UnionResult.UnionCenterData
message getGameCenterData {

}

//获得公会资讯数据 返回：CommonResult.StringArrayResult
message getInformationData {
  optional string infoId = 1;//资讯ID
}

//转让公会
message transferUnion {
  optional string unionId = 1;
  optional string targetId = 2;
}

//公会-设置公会马甲
message setVest {
  optional string unionId = 1;//公会ID
  optional string vest = 2;//马甲
}

//用户同意设置马甲,同时修改公会昵称和用户昵称
message userSetVest {
  optional string unionId = 1;//公会ID
}

//用户修改公会昵称
message userModifyNameCard{
  optional string unionId = 1;//公会ID
  optional bool useVest = 2;//是否使用马甲 ,true为使用，false不使用
  optional string nameCard = 3;//公会昵称，不用将马甲拼入昵称
}

// 检查是否有公会升级提醒，返回：UnionResult.UpgradeUnionLevelInfo
message checkUpgradeUnionLevel {

}

// 获得我的公会与推荐成员信息，返回：UnionResult.MyUnionMemberInfo
message getMyUnionMemberInfo {

}

//搜索公会成员 UnionResult.UnionMemberList
message searchUnionMember {
  optional string unionId = 1;//公会ID
  optional string keyword = 2;//搜索关键字(UrlEncode)
}

//获取公会id靓号 CommonResult.CuteInfo
message getUnionCuteInfo {
  optional string unionId = 1;//公会ID
}

// 获取群组会话详细信息列表（如果不是自己加入的群组，则不返回数据）返回UnionResult.GroupSessionInfoList
message getGroupSessionInfoList {
	repeated string groupIds = 1; // 群组ids
	repeated string userIds = 2; // 指定用户ids
}

//检查创建用户是否满足创建公会条件
message checkCreateUnionUser {
  optional string userId = 1;
  optional int32 source = 2;//来源 1：超管指定用户创建公会 2：BD邀请创建公会
}