648 lines
24 KiB
Protocol Buffer
648 lines
24 KiB
Protocol Buffer
syntax = "proto3";
|
||
|
||
package live.xlottery.v1;
|
||
|
||
option go_package = "v1";
|
||
|
||
|
||
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
|
||
|
||
|
||
|
||
service Capsule {
|
||
rpc get_detail(CapsuleGetDetailReq) returns (CapsuleGetDetailResp);
|
||
rpc open_capsule(CapsuleOpenCapsuleReq) returns (CapsuleOpenCapsuleResp);
|
||
rpc get_coin_list(GetCoinListReq) returns (GetCoinListResp);
|
||
rpc update_coin_config(UpdateCoinConfigReq) returns (UpdateCoinConfigResp);
|
||
rpc update_coin_status(UpdateCoinStatusReq) returns (UpdateCoinStatusResp);
|
||
rpc delete_coin(DeleteCoinReq) returns (DeleteCoinResp);
|
||
rpc get_pool_list(GetPoolListReq) returns (GetPoolListResp);
|
||
rpc update_pool(UpdatePoolReq) returns (UpdatePoolResp);
|
||
rpc delete_pool(DeletePoolReq) returns (DeletePoolResp);
|
||
rpc update_pool_status(UpdatePoolStatusReq) returns (UpdatePoolStatusResp);
|
||
rpc get_pool_prize(GetPoolPrizeReq) returns (GetPoolPrizeResp);
|
||
rpc get_prize_type (GetPrizeTypeReq) returns (GetPrizeTypeResp);
|
||
rpc get_prize_expire (GetPrizeExpireReq) returns (GetPrizeExpireResp);
|
||
rpc update_pool_prize(UpdatePoolPrizeReq) returns (UpdatePoolPrizeResp);
|
||
rpc delete_pool_prize(DeletePoolPrizeReq) returns (DeletePoolPrizeResp);
|
||
rpc get_capsule_info (CapsuleGetCapsuleInfoReq) returns (CapsuleGetCapsuleInfoResp);
|
||
rpc open_capsule_by_type (CapsuleOpenCapsuleByTypeReq) returns (CapsuleOpenCapsuleByTypeResp);
|
||
rpc get_coupon_list (CapsuleGetCouponListReq) returns (CapsuleGetCouponListResp);
|
||
}
|
||
|
||
message CapsuleGetDetailReq {
|
||
// 用户uid
|
||
int64 uid = 1 [(gogoproto.jsontag) = "uid"];
|
||
// 来源 h5 web room
|
||
string from = 2 [(gogoproto.jsontag) = "from"];
|
||
}
|
||
|
||
message Usage {
|
||
// 用法描述
|
||
string text = 1 [(gogoproto.jsontag) = "text"];
|
||
// 跳转链接
|
||
string url = 2 [(gogoproto.jsontag) = "url"];
|
||
}
|
||
|
||
message Progress {
|
||
// 当前进度
|
||
int64 now = 1 [(gogoproto.jsontag) = "now"];
|
||
// 最大进度
|
||
int64 max = 2 [(gogoproto.jsontag) = "max"];
|
||
}
|
||
|
||
message CapsuleGetDetailResp {
|
||
// 普通扭蛋信息
|
||
CapsuleInfo normal = 1 [(gogoproto.jsontag) = "normal"];
|
||
// 梦幻扭蛋信息,若梦幻扭蛋status=false,则无coin、change、process、gift、list字段
|
||
CapsuleInfo colorful = 2 [(gogoproto.jsontag) = "colorful"];
|
||
|
||
message Gift {
|
||
// 礼物名称
|
||
string name = 2 [(gogoproto.jsontag) = "name"];
|
||
// 礼物图片
|
||
string image = 3 [(gogoproto.jsontag) = "image"];
|
||
// 用法
|
||
Usage usage = 4 [(gogoproto.jsontag) = "usage"];
|
||
// web礼物图片
|
||
string web_image = 5 [(gogoproto.jsontag) = "web_image"];
|
||
// mobile礼物图片
|
||
string mobile_image = 6 [(gogoproto.jsontag) = "mobile_image"];
|
||
}
|
||
|
||
message List {
|
||
// 数量
|
||
int64 num = 1 [(gogoproto.jsontag) = "num"];
|
||
// 礼物名称
|
||
string gift = 2 [(gogoproto.jsontag) = "gift"];
|
||
// 时间
|
||
string date = 3 [(gogoproto.jsontag) = "date"];
|
||
// 用户名
|
||
string name = 4 [(gogoproto.jsontag) = "name"];
|
||
}
|
||
|
||
message CapsuleInfo {
|
||
//
|
||
bool status = 1 [(gogoproto.jsontag) = "status"];
|
||
// 扭蛋数量
|
||
int64 coin = 2 [(gogoproto.jsontag) = "coin"];
|
||
// 变化值
|
||
int64 change = 3 [(gogoproto.jsontag) = "change"];
|
||
// 进度
|
||
Progress progress = 4 [(gogoproto.jsontag) = "progress"];
|
||
// 规则
|
||
string rule = 5 [(gogoproto.jsontag) = "rule"];
|
||
// 奖品列表
|
||
repeated Gift gift = 6 [(gogoproto.jsontag) = "gift"];
|
||
// 历史获奖列表
|
||
repeated List list = 7 [(gogoproto.jsontag) = "list"];
|
||
}
|
||
}
|
||
|
||
|
||
|
||
message CapsuleOpenCapsuleReq {
|
||
// 用户uid
|
||
int64 uid = 1 [(gogoproto.jsontag) = "uid"];
|
||
// 扭蛋类型
|
||
string type = 2 [(gogoproto.jsontag) = "type"];
|
||
// 扭的个数
|
||
int64 count = 3 [(gogoproto.jsontag) = "count"];
|
||
|
||
string platform = 4 [(gogoproto.jsontag) = "platform"];
|
||
}
|
||
|
||
message CapsuleOpenCapsuleResp {
|
||
// 扭蛋币扣除状态
|
||
bool status = 1 [(gogoproto.jsontag) = "status"];
|
||
// 奖品文案
|
||
repeated string text = 2 [(gogoproto.jsontag) = "text"];
|
||
// 是否包含实物奖品
|
||
bool isEntity = 3 [(gogoproto.jsontag) = "isEntity"];
|
||
// 用户扭蛋币拥有状态
|
||
Info info = 4 [(gogoproto.jsontag) = "info"];
|
||
// 头衔? 恒为空字符串, 忽略之
|
||
string showTitle = 5 [(gogoproto.jsontag) = "showTitle"];
|
||
// 奖品列表
|
||
repeated Award awards = 6 [(gogoproto.jsontag) = "awards"];
|
||
|
||
message CapsuleInfo {
|
||
// 拥有的币
|
||
int64 coin = 1 [(gogoproto.jsontag) = "coin"];
|
||
// 变化值
|
||
int64 change = 2 [(gogoproto.jsontag) = "change"];
|
||
// 进度
|
||
Progress progress = 3 [(gogoproto.jsontag) = "progress"];
|
||
}
|
||
|
||
message Info {
|
||
// 普通扭蛋币
|
||
CapsuleInfo normal = 1 [(gogoproto.jsontag) = "normal"];
|
||
// 梦幻扭蛋币
|
||
CapsuleInfo colorful = 2 [(gogoproto.jsontag) = "colorful"];
|
||
}
|
||
|
||
message Award {
|
||
// 奖品名字
|
||
string name = 2 [(gogoproto.jsontag) = "name"];
|
||
// 奖品数量
|
||
int64 num = 3 [(gogoproto.jsontag) = "num"];
|
||
// 奖品 X 数量
|
||
string text = 4 [(gogoproto.jsontag) = "text"];
|
||
// 奖品图片
|
||
string img = 5 [(gogoproto.jsontag) = "img"];
|
||
// 奖品用法说明
|
||
Usage usage = 6 [(gogoproto.jsontag) = "usage"];
|
||
// web礼物图片
|
||
string web_image = 7 [(gogoproto.jsontag) = "web_image"];
|
||
// mobile礼物图片
|
||
string mobile_image = 8 [(gogoproto.jsontag) = "mobile_image"];
|
||
}
|
||
}
|
||
|
||
message CapsuleGetCapsuleInfoReq {
|
||
// 用户uid
|
||
int64 uid = 1 [(gogoproto.jsontag) = "uid"];
|
||
// 类型
|
||
string type = 2 [(gogoproto.jsontag) = "type"];
|
||
// 来源 h5 web room
|
||
string from = 3 [(gogoproto.jsontag) = "from"];
|
||
}
|
||
|
||
message CapsuleGetCapsuleInfoResp {
|
||
message GiftList {
|
||
// 礼物id
|
||
int64 id = 1 [(gogoproto.jsontag) = "id"];
|
||
// 礼物名称
|
||
string name = 2 [(gogoproto.jsontag) = "name"];
|
||
// 礼物数量
|
||
int64 num = 3 [(gogoproto.jsontag) = "num"];
|
||
// 权重
|
||
int64 weight = 4 [(gogoproto.jsontag) = "weight"];
|
||
// 礼物图片
|
||
string web_url = 5 [(gogoproto.jsontag) = "web_url"];
|
||
// 礼物图片
|
||
string mobile_url = 6 [(gogoproto.jsontag) = "mobile_url"];
|
||
// 用法
|
||
Usage usage = 7 [(gogoproto.jsontag) = "usage"];
|
||
// 奖品类型 2 头衔
|
||
int64 type = 8 [(gogoproto.jsontag) = "type"];
|
||
// 过期时间
|
||
string expire = 9 [(gogoproto.jsontag) = "expire"];
|
||
}
|
||
|
||
message GiftFilter {
|
||
// 礼物id
|
||
int64 id = 1 [(gogoproto.jsontag) = "id"];
|
||
// 礼物名称
|
||
string name = 2 [(gogoproto.jsontag) = "name"];
|
||
// 礼物图片
|
||
string web_url = 3 [(gogoproto.jsontag) = "web_url"];
|
||
// 礼物图片
|
||
string mobile_url = 4 [(gogoproto.jsontag) = "mobile_url"];
|
||
// 用法
|
||
Usage usage = 5 [(gogoproto.jsontag) = "usage"];
|
||
}
|
||
|
||
// 扭蛋数量
|
||
int64 coin = 1 [(gogoproto.jsontag) = "coin"];
|
||
// 规则
|
||
string rule = 2 [(gogoproto.jsontag) = "rule"];
|
||
// 奖品列表,包含数量
|
||
repeated GiftList gift_list = 3 [(gogoproto.jsontag) = "gift_list"];
|
||
// 奖品列表,不包含数量,同一类别只有一条
|
||
repeated GiftFilter gift_filter = 4 [(gogoproto.jsontag) = "gift_filter"];
|
||
}
|
||
|
||
|
||
|
||
message CapsuleOpenCapsuleByTypeReq {
|
||
// 用户uid
|
||
int64 uid = 1 [(gogoproto.jsontag) = "uid"];
|
||
// 扭蛋类型,week:周星
|
||
string type = 2 [(gogoproto.jsontag) = "type"];
|
||
// 扭的个数 1 10 100
|
||
int64 count = 3 [(gogoproto.jsontag) = "count"];
|
||
// 平台
|
||
string platform = 4 [(gogoproto.jsontag) = "platform"];
|
||
}
|
||
|
||
message CapsuleOpenCapsuleByTypeResp {
|
||
message CapsuleInfo {
|
||
// 拥有的币
|
||
int64 coin = 1 [(gogoproto.jsontag) = "coin"];
|
||
}
|
||
message Award {
|
||
// 奖品id
|
||
int64 id = 1 [(gogoproto.jsontag) = "id"];
|
||
// 奖品名字
|
||
string name = 2 [(gogoproto.jsontag) = "name"];
|
||
// 奖品数量
|
||
int64 num = 3 [(gogoproto.jsontag) = "num"];
|
||
// 奖品 X 数量
|
||
string text = 4 [(gogoproto.jsontag) = "text"];
|
||
// 礼物图片
|
||
string web_url = 5 [(gogoproto.jsontag) = "web_url"];
|
||
// 礼物图片
|
||
string mobile_url = 6 [(gogoproto.jsontag) = "mobile_url"];
|
||
// 奖品用法说明
|
||
Usage usage = 7 [(gogoproto.jsontag) = "usage"];
|
||
// 奖品权重
|
||
int64 weight = 8 [(gogoproto.jsontag) = "weight"];
|
||
// 奖品类型 2 头衔
|
||
int64 type = 9 [(gogoproto.jsontag) = "type"];
|
||
// 过期时间
|
||
string expire = 10 [(gogoproto.jsontag) = "expire"];
|
||
}
|
||
|
||
// 扭蛋币扣除状态
|
||
bool status = 1 [(gogoproto.jsontag) = "status"];
|
||
// 是否包含实物奖品
|
||
bool isEntity = 2 [(gogoproto.jsontag) = "isEntity"];
|
||
// 用户扭蛋币拥有状态
|
||
CapsuleInfo info = 3 [(gogoproto.jsontag) = "info"];
|
||
// 奖品列表
|
||
repeated Award awards = 4 [(gogoproto.jsontag) = "awards"];
|
||
// 奖品列表
|
||
repeated string text = 5 [(gogoproto.jsontag) = "text"];
|
||
}
|
||
|
||
|
||
message GetCoinListReq{
|
||
int64 page = 1 [(gogoproto.jsontag) = "page", (gogoproto.moretags) = 'form:"page" validate:"required"']; //页码,从1开始
|
||
int64 page_size = 2 [(gogoproto.jsontag) = "page_size", (gogoproto.moretags) = 'form:"page_size" validate:"required"'];//页面的大小
|
||
}
|
||
|
||
message GetCoinListResp{
|
||
int64 total = 1 [(gogoproto.jsontag) = "total"]; //
|
||
int64 total_page = 2 [(gogoproto.jsontag) = "total_page"];
|
||
repeated List list = 3 [(gogoproto.jsontag) = "list"];
|
||
|
||
message List{
|
||
int64 id = 1 [(gogoproto.jsontag) = "id"];//扭蛋ID
|
||
string title = 2 [(gogoproto.jsontag) = "title"];//名称 普通扭蛋, 梦幻扭蛋
|
||
int64 change_num = 3 [(gogoproto.jsontag) = "change_num"];//转化数量
|
||
int64 start_time = 4 [(gogoproto.jsontag) = "start_time"];//开始时间
|
||
int64 end_time = 5 [(gogoproto.jsontag) = "end_time"];//结束时间
|
||
int64 status = 6 [(gogoproto.jsontag) = "status"]; //状态 0为下线,1为上线
|
||
int64 gift_type = 7 [(gogoproto.jsontag) = "gift_type"];//获得方式 1为所有瓜子道具,2为所有金瓜子道具,3为指定道具ID
|
||
string gift_config = 8 [(gogoproto.jsontag) = "gift_config"];// 道具的ID
|
||
repeated AreaIds area_ids = 9 [(gogoproto.jsontag) = "area_ids"];//活动分区
|
||
|
||
message AreaIds{
|
||
int64 parent_id = 1 [(gogoproto.jsontag) = "parent_id"];// 父分区ID
|
||
int64 is_all = 2 [(gogoproto.jsontag) = "is_all"];// 是否全选
|
||
repeated int64 list = 3 [(gogoproto.jsontag) = "list"];// 子分区ID
|
||
}
|
||
}
|
||
}
|
||
|
||
message UpdateCoinConfigReq{
|
||
int64 id = 1 [(gogoproto.jsontag) = "id",(gogoproto.moretags) = 'form:"id"'];//扭蛋ID
|
||
string title = 2 [(gogoproto.jsontag) = "title", (gogoproto.moretags) = 'form:"title" validate:"required"'];//名称 普通扭蛋, 梦幻扭蛋
|
||
int64 change_num = 3 [(gogoproto.jsontag) = "change_num", (gogoproto.moretags) = 'form:"change_num" validate:"required"'];//转化数量
|
||
int64 start_time = 4 [(gogoproto.jsontag) = "start_time", (gogoproto.moretags) = 'form:"start_time" validate:"required"'];//开始时间
|
||
int64 end_time = 5 [(gogoproto.jsontag) = "end_time", (gogoproto.moretags) = 'form:"end_time" validate:"required"'];//结束时间
|
||
int64 status = 6 [(gogoproto.jsontag) = "status", (gogoproto.moretags) = 'form:"status" validate:"required"']; //状态 0为下线,1为上线
|
||
int64 gift_type = 7 [(gogoproto.jsontag) = "gift_type", (gogoproto.moretags) = 'form:"gift_type" validate:"required"'];//获得方式 1为所有瓜子道具,2为所有金瓜子道具,3为指定道具ID
|
||
repeated int64 gift_ids = 8 [(gogoproto.jsontag) = "gift_ids", (gogoproto.moretags) = 'form:"gift_ids"'];// 道具的ID
|
||
repeated AreaIds area_ids = 9 [(gogoproto.jsontag) = "area_ids", (gogoproto.moretags) = 'form:"area_ids" validate:"required"'];//活动分区
|
||
|
||
message AreaIds{
|
||
int64 parent_id = 1 [(gogoproto.jsontag) = "parent_id", (gogoproto.moretags) = 'form:"parent_id" validate:"required"'];// 父分区ID
|
||
int64 is_all = 2 [(gogoproto.jsontag) = "is_all", (gogoproto.moretags) = 'form:"is_all"'];// 是否全选
|
||
repeated int64 list = 3 [(gogoproto.jsontag) = "list", (gogoproto.moretags) = 'form:"list" validate:"required"'];// 子分区ID
|
||
}
|
||
}
|
||
|
||
message UpdateCoinConfigResp{
|
||
bool status = 1 [(gogoproto.jsontag) = "status"];
|
||
}
|
||
|
||
message UpdateCoinStatusReq{
|
||
int64 id = 1 [(gogoproto.jsontag) = "id", (gogoproto.moretags) = 'form:"id" validate:"required"']; //扭蛋币id
|
||
int64 status = 2 [(gogoproto.jsontag) = "status", (gogoproto.moretags) = 'form:"status"'];//状态 0为下线,1为上线
|
||
}
|
||
|
||
message UpdateCoinStatusResp{
|
||
bool status = 1 [(gogoproto.jsontag) = "status"];
|
||
}
|
||
|
||
message DeleteCoinReq{
|
||
int64 id = 1 [(gogoproto.jsontag) = "id", (gogoproto.moretags) = 'form:"id" validate:"required"'];//扭蛋币id
|
||
}
|
||
|
||
message DeleteCoinResp{
|
||
bool status = 1 [(gogoproto.jsontag) = "status"];
|
||
}
|
||
|
||
message GetPoolListReq{
|
||
int64 page = 1 [(gogoproto.jsontag) = "page", (gogoproto.moretags) = 'form:"page" validate:"required"'];//页码
|
||
int64 page_size = 2 [(gogoproto.jsontag) = "page_size", (gogoproto.moretags) = 'form:"page_size" validate:"required"'];//页面的大小
|
||
}
|
||
|
||
message GetPoolListResp{
|
||
int64 total = 1 [(gogoproto.jsontag) = "total"];
|
||
int64 total_page = 2 [(gogoproto.jsontag) = "total_page"];
|
||
repeated List list = 3 [(gogoproto.jsontag) = "list"];
|
||
|
||
message List{
|
||
int64 id = 1 [(gogoproto.jsontag) = "id"];// 奖池id
|
||
int64 coin_id = 2 [(gogoproto.jsontag) = "coin_id"];// 扭蛋名称
|
||
string title = 3 [(gogoproto.jsontag) = "title"];//奖池名称
|
||
string coin_title = 8 [(gogoproto.jsontag) = "coin_title"];//扭蛋币名称
|
||
int64 start_time = 4 [(gogoproto.jsontag) = "start_time"];//开始时间
|
||
int64 end_time = 5 [(gogoproto.jsontag) = "end_time"];//结束时间
|
||
int64 status = 6 [(gogoproto.jsontag) = "status"];//状态 0为下线,1为上线
|
||
string rule = 7 [(gogoproto.jsontag) = "rule"];//描述
|
||
}
|
||
}
|
||
|
||
message UpdatePoolReq{
|
||
int64 id = 1 [(gogoproto.jsontag) = "id", (gogoproto.moretags) = 'form:"id"'];// 奖池id
|
||
int64 coin_id = 2 [(gogoproto.jsontag) = "coin_id", (gogoproto.moretags) = 'form:"coin_id" validate:"required"'];// 扭蛋名称
|
||
string title = 3 [(gogoproto.jsontag) = "title", (gogoproto.moretags) = 'form:"title" validate:"required"'];//奖池名称
|
||
int64 start_time = 4 [(gogoproto.jsontag) = "start_time", (gogoproto.moretags) = 'form:"start_time" validate:"required"'];//开始时间
|
||
int64 end_time = 5 [(gogoproto.jsontag) = "end_time", (gogoproto.moretags) = 'form:"end_time" validate:"required"'];//结束时间
|
||
string rule = 6 [(gogoproto.jsontag) = "rule", (gogoproto.moretags) = 'form:"rule" validate:"required"'];//描述
|
||
}
|
||
|
||
message UpdatePoolResp{
|
||
bool status = 1 [(gogoproto.jsontag) = "status"];
|
||
}
|
||
|
||
message DeletePoolReq{
|
||
int64 id = 1 [(gogoproto.jsontag) = "id", (gogoproto.moretags) = 'form:"id" validate:"required"'];//奖池id
|
||
}
|
||
|
||
message DeletePoolResp{
|
||
bool status = 1 [(gogoproto.jsontag) = "status"];
|
||
}
|
||
|
||
message UpdatePoolStatusReq{
|
||
int64 id = 1 [(gogoproto.jsontag) = "id", (gogoproto.moretags) = 'form:"id" validate:"required"'];//奖池id
|
||
int64 status = 2 [(gogoproto.jsontag) = "status", (gogoproto.moretags) = 'form:"status"'];//状态 0为未上线,1为上线
|
||
}
|
||
|
||
message UpdatePoolStatusResp{
|
||
bool status = 1 [(gogoproto.jsontag) = "status"];
|
||
}
|
||
|
||
message GetPoolPrizeReq{
|
||
int64 pool_id = 1 [(gogoproto.jsontag) = "pool_id", (gogoproto.moretags) = 'form:"pool_id" validate:"required"'];//奖池id
|
||
}
|
||
|
||
message GetPoolPrizeResp{
|
||
repeated List list = 1 [(gogoproto.jsontag) = "list"];
|
||
|
||
message List{
|
||
int64 id = 1 [(gogoproto.jsontag) = "id"]; //奖励id
|
||
int64 pool_id = 2 [(gogoproto.jsontag) = "pool_id"]; //奖池id
|
||
int64 type = 3 [(gogoproto.jsontag) = "type"]; //奖品类型 1为道具,2为头衔,3为经验原石,4为经验曜石,5为贤者之石,6为小号小电视,7为舰长守护,8为提督守护,9为总督守护
|
||
int64 num = 4 [(gogoproto.jsontag) = "num"]; //数量
|
||
int64 object_id = 5 [(gogoproto.jsontag) = "object_id"]; //奖品真实id
|
||
string web_url = 6 [(gogoproto.jsontag) = "web_url"]; //web端图片
|
||
string mobile_url = 7 [(gogoproto.jsontag) = "mobile_url"]; //移动端图片
|
||
string description = 8 [(gogoproto.jsontag) = "description"]; //奖励描述
|
||
string jump_url = 9 [(gogoproto.jsontag) = "jump_url"]; //跳转地址
|
||
int64 pro_type = 10 [(gogoproto.jsontag) = "pro_type"]; //概率类型 1为普通,2为固定每天,3为固定每周
|
||
string chance = 11 [(gogoproto.jsontag) = "chance"]; //概率,3位小数,''为另一种概率模式
|
||
int64 loop = 12 [(gogoproto.jsontag) = "loop"]; //循环的数量 0为另一种概率模式
|
||
int64 limit = 13 [(gogoproto.jsontag) = "limit"]; //限制数量 0为另一种概率模式
|
||
string name = 14 [(gogoproto.jsontag) = "name"]; // 奖励名称
|
||
int64 weight = 15 [(gogoproto.jsontag) = "weight"];
|
||
repeated int64 white_uids = 16 [(gogoproto.jsontag) = "white_uids"];
|
||
int64 expire = 17 [(gogoproto.jsontag) = "expire"];
|
||
}
|
||
}
|
||
|
||
message UpdatePoolPrizeReq{
|
||
int64 id = 1 [(gogoproto.jsontag) = "id", (gogoproto.moretags) = 'form:"id"'];//奖励id
|
||
int64 pool_id = 2 [(gogoproto.jsontag) = "pool_id", (gogoproto.moretags) = 'form:"pool_id"'];//奖池id
|
||
int64 type = 3 [(gogoproto.jsontag) = "type", (gogoproto.moretags) = 'form:"type" validate:"required"'];//奖品类型 1为道具,2为头衔,3为经验原石,4为经验曜石,5为贤者之石,6为小号小电视,7为舰长守护,8为提督守护,9为总督守护
|
||
int64 num = 4 [(gogoproto.jsontag) = "num", (gogoproto.moretags) = 'form:"num" validate:"required"'];//数量
|
||
int64 object_id = 5 [(gogoproto.jsontag) = "object_id", (gogoproto.moretags) = 'form:"object_id"'];//奖品真实id
|
||
int64 expire = 6 [(gogoproto.jsontag) = "expire", (gogoproto.moretags) = 'form:"expire"'];//过期时间
|
||
string web_url = 7 [(gogoproto.jsontag) = "web_url", (gogoproto.moretags) = 'form:"web_url" validate:"required"'];//web端图片
|
||
string mobile_url = 8 [(gogoproto.jsontag) = "mobile_url", (gogoproto.moretags) = 'form:"mobile_url" validate:"required"'];//移动端图片
|
||
string description = 9 [(gogoproto.jsontag) = "description", (gogoproto.moretags) = 'form:"description" validate:"required"'];//奖励描述
|
||
string jump_url = 10 [(gogoproto.jsontag) = "jump_url", (gogoproto.moretags) = 'form:"jump_url"'];//跳转地址
|
||
int64 pro_type = 11 [(gogoproto.jsontag) = "pro_type", (gogoproto.moretags) = 'form:"pro_type" validate:"required"'];//概率类型 1为普通,2为固定每天,3为固定每周
|
||
int64 chance = 12 [(gogoproto.jsontag) = "chance", (gogoproto.moretags) = 'form:"chance"'];//概率,3位小数,''为另一种概率模式
|
||
int64 loop = 13 [(gogoproto.jsontag) = "loop", (gogoproto.moretags) = 'form:"loop"'];//循环的数量 0为另一种概率模式
|
||
int64 limit = 14 [(gogoproto.jsontag) = "limit", (gogoproto.moretags) = 'form:"limit"'];//限制数量 0为另一种概率模式
|
||
int64 weight = 15 [(gogoproto.jsontag) = "weight"];
|
||
repeated int64 white_uids = 16 [(gogoproto.jsontag) = "white_uids"];
|
||
}
|
||
|
||
message UpdatePoolPrizeResp{
|
||
bool status = 1 [(gogoproto.jsontag) = "status"];
|
||
int64 prize_id = 2 [(gogoproto.jsontag) = "prize_id"];
|
||
}
|
||
|
||
message DeletePoolPrizeReq{
|
||
int64 id = 1 [(gogoproto.jsontag) = "id", (gogoproto.moretags) = 'form:"id" validate:"required"'];//奖励id
|
||
}
|
||
|
||
message DeletePoolPrizeResp{
|
||
bool status = 1 [(gogoproto.jsontag) = "status"];
|
||
}
|
||
|
||
|
||
message GetPrizeTypeReq {
|
||
|
||
}
|
||
|
||
message GetPrizeTypeResp {
|
||
repeated List list = 3 [(gogoproto.jsontag) = "list"];
|
||
|
||
message List {
|
||
//
|
||
int64 type = 1 [(gogoproto.jsontag) = "type"];
|
||
//
|
||
string name = 2 [(gogoproto.jsontag) = "name"];
|
||
}
|
||
}
|
||
|
||
message GetPrizeExpireReq {
|
||
|
||
}
|
||
|
||
message GetPrizeExpireResp {
|
||
repeated List list = 3 [(gogoproto.jsontag) = "list"];
|
||
|
||
message List {
|
||
//
|
||
int64 expire = 1 [(gogoproto.jsontag) = "expire"];
|
||
//
|
||
string name = 2 [(gogoproto.jsontag) = "name"];
|
||
}
|
||
}
|
||
|
||
|
||
// 节奏风暴 服务
|
||
service Storm {
|
||
// 开启节奏风暴
|
||
rpc Start(StartStormReq)returns(StartStormResp);
|
||
//节奏风暴是否能开启
|
||
rpc CanStart(StartStormReq)returns(CanStartStormResp);
|
||
//加入节奏风暴
|
||
rpc Join (JoinStormReq)returns(JoinStormResp);
|
||
//检查是否加入节奏风暴
|
||
rpc Check (CheckStormReq)returns(CheckStormResp);
|
||
}
|
||
|
||
|
||
|
||
message StartStormReq {
|
||
// 用户id
|
||
int64 uid = 1;
|
||
// 主播id
|
||
int64 ruid = 2;
|
||
//房间号
|
||
int64 roomid = 3;
|
||
//是否开启敏感词过滤
|
||
bool useShield = 4;
|
||
//道具数量
|
||
int64 num = 5;
|
||
//节奏内容id
|
||
int64 beatid = 6;
|
||
//
|
||
int64 skipExternalCheck= 7;
|
||
|
||
}
|
||
|
||
message StartStormResp {
|
||
// 错误码
|
||
int32 code = 1;
|
||
// 错误信息
|
||
string msg = 2;
|
||
|
||
StartData start = 3;
|
||
}
|
||
|
||
message StartData {
|
||
//倒计时,秒
|
||
int32 time = 1;
|
||
//抽奖标识
|
||
int64 id = 2;
|
||
}
|
||
|
||
message CanStartStormResp {
|
||
// 错误码
|
||
int32 code = 1;
|
||
// 错误信息
|
||
string msg = 2;
|
||
//是否能开启节奏风暴
|
||
bool ret_status = 3;
|
||
}
|
||
|
||
message JoinStormReq {
|
||
//抽奖id
|
||
int64 id = 1 [(gogoproto.moretags) = 'form:"id"'];
|
||
//房间id
|
||
int64 roomid = 2 [(gogoproto.moretags) = 'form:"roomid" '];
|
||
//弹幕颜色
|
||
string color = 3 [(gogoproto.moretags) = 'form:"color"'];
|
||
//userid
|
||
int64 mid = 4 [(gogoproto.moretags) = 'form:"mid"'];
|
||
//平台 web,ios,android
|
||
string platform = 5 [(gogoproto.moretags) = 'form:"platform"'];
|
||
//验证码标识
|
||
string captcha_token = 6 [(gogoproto.moretags) = 'form:"captcha_token"'];
|
||
//验证码明文
|
||
string captcha_phrase = 7 [(gogoproto.moretags) = 'form:"captcha_phrase"'];
|
||
|
||
}
|
||
|
||
message JoinStormResp {
|
||
// 错误码
|
||
int32 code = 1;
|
||
// 错误信息
|
||
string msg = 2;
|
||
// 加入成功返回数据
|
||
JoinData join = 3;
|
||
}
|
||
|
||
message JoinData {
|
||
//礼物id
|
||
int64 gift_id = 1 [(gogoproto.jsontag) = "gift_id"];
|
||
//标题
|
||
string title = 2 [(gogoproto.jsontag) = "title"];
|
||
//礼物web内容
|
||
string content = 3 [(gogoproto.jsontag) = "content"];
|
||
//礼物移动端内容
|
||
string mobile_content = 4 [(gogoproto.jsontag) = "mobile_content"];
|
||
//礼物图片
|
||
string gift_img = 5 [(gogoproto.jsontag) = "gift_img"];
|
||
//礼物数量
|
||
int64 gift_num = 6 [(gogoproto.jsontag) = "gift_num"];
|
||
//礼物名字
|
||
string gift_name = 7 [(gogoproto.jsontag) = "gift_name"];
|
||
}
|
||
|
||
|
||
|
||
message CheckStormReq {
|
||
//房间号
|
||
int64 roomid = 1 [(gogoproto.moretags) = 'form:"roomid" validate:"required"'];
|
||
//用户id
|
||
int64 uid = 2 [(gogoproto.moretags) = 'form:"uid" '];
|
||
}
|
||
|
||
message CheckStormResp {
|
||
|
||
// 错误码
|
||
int32 code = 1;
|
||
// 错误信息
|
||
string msg = 2;
|
||
|
||
CheckData check = 3;
|
||
}
|
||
|
||
message CheckData {
|
||
//用户id
|
||
int64 id = 1 [(gogoproto.jsontag) = "id"];
|
||
//房间号
|
||
int64 roomid = 2 [(gogoproto.jsontag) = "roomid"];
|
||
//数量
|
||
int64 num = 3 [(gogoproto.jsontag) = "num"];
|
||
//发送数量
|
||
string send_num = 4 [(gogoproto.jsontag) = "send_num"];
|
||
//结束时间戳
|
||
int64 time = 5 [(gogoproto.jsontag) = "time"];
|
||
//内容
|
||
string content = 6 [(gogoproto.jsontag) = "content"];
|
||
//是否已经加入
|
||
int32 hasJoin = 7 [(gogoproto.jsontag) = "hasJoin"]; //是否加入
|
||
//图片链接
|
||
string storm_gif = 8 [(gogoproto.jsontag) = "storm_gif"];
|
||
}
|
||
|
||
|
||
|
||
message CapsuleGetCouponListReq {
|
||
//
|
||
int64 uid = 1 [(gogoproto.jsontag) = "uid"];
|
||
}
|
||
|
||
message CapsuleGetCouponListResp {
|
||
message List {
|
||
//
|
||
int64 uid = 1 [(gogoproto.jsontag) = "uid"];
|
||
// 中奖时间
|
||
string award_time = 2 [(gogoproto.jsontag) = "award_time"];
|
||
// 奖品名称
|
||
string award_name = 3 [(gogoproto.jsontag) = "award_name"];
|
||
// 券码
|
||
string award_code = 4 [(gogoproto.jsontag) = "award_code"];
|
||
// 0 重试 1 成功
|
||
int64 status = 5 [(gogoproto.jsontag) = "status"];
|
||
// 上次重试时间
|
||
string retry_time = 6 [(gogoproto.jsontag) = "retry_time"];
|
||
}
|
||
repeated List list = 1 [(gogoproto.jsontag) = "list"];
|
||
}
|
||
|
||
|