Create & Init Project...

This commit is contained in:
2019-04-22 18:49:16 +08:00
commit fc4fa37393
25440 changed files with 4054998 additions and 0 deletions

View File

@@ -0,0 +1,62 @@
load(
"@io_bazel_rules_go//proto:def.bzl",
"go_proto_library",
)
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
proto_library(
name = "v1_proto",
srcs = ["api.proto"],
tags = ["automanaged"],
deps = ["@gogo_special_proto//github.com/gogo/protobuf/gogoproto"],
)
go_proto_library(
name = "v1_go_proto",
compilers = ["@io_bazel_rules_go//proto:gogofast_grpc"],
importpath = "go-common/app/service/live/gift/api/grpc/v1",
proto = ":v1_proto",
tags = ["automanaged"],
deps = ["@com_github_gogo_protobuf//gogoproto:go_default_library"],
)
go_library(
name = "go_default_library",
srcs = [
"api.bm.go",
"client.go",
],
embed = [":v1_go_proto"],
importpath = "go-common/app/service/live/gift/api/grpc/v1",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//library/net/http/blademaster:go_default_library",
"//library/net/http/blademaster/binding:go_default_library",
"//library/net/rpc/warden:go_default_library",
"@com_github_gogo_protobuf//gogoproto:go_default_library",
"@com_github_gogo_protobuf//proto:go_default_library",
"@org_golang_google_grpc//:go_default_library",
"@org_golang_x_net//context:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,88 @@
// Code generated by protoc-gen-bm v0.1, DO NOT EDIT.
// source: api.proto
/*
Package v1 is a generated blademaster stub package.
This code was generated with go-common/app/tool/bmgen/protoc-gen-bm v0.1.
It is generated from these files:
api.proto
*/
package v1
import (
"context"
bm "go-common/library/net/http/blademaster"
"go-common/library/net/http/blademaster/binding"
)
// to suppressed 'imported but not used warning'
var _ *bm.Context
var _ context.Context
var _ binding.StructValidator
var PathGiftRoomGiftList = "/live.xgift.v1.Gift/room_gift_list"
var PathGiftGiftConfig = "/live.xgift.v1.Gift/gift_config"
var PathGiftDiscountGiftList = "/live.xgift.v1.Gift/discount_gift_list"
var PathGiftDailyBag = "/live.xgift.v1.Gift/daily_bag"
// ==============
// Gift Interface
// ==============
type GiftBMServer interface {
RoomGiftList(ctx context.Context, req *RoomGiftListReq) (resp *RoomGiftListResp, err error)
GiftConfig(ctx context.Context, req *GiftConfigReq) (resp *GiftConfigResp, err error)
DiscountGiftList(ctx context.Context, req *DiscountGiftListReq) (resp *DiscountGiftListResp, err error)
DailyBag(ctx context.Context, req *DailyBagReq) (resp *DailyBagResp, err error)
}
var v1GiftSvc GiftBMServer
func giftRoomGiftList(c *bm.Context) {
p := new(RoomGiftListReq)
if err := c.BindWith(p, binding.Default(c.Request.Method, c.Request.Header.Get("Content-Type"))); err != nil {
return
}
resp, err := v1GiftSvc.RoomGiftList(c, p)
c.JSON(resp, err)
}
func giftGiftConfig(c *bm.Context) {
p := new(GiftConfigReq)
if err := c.BindWith(p, binding.Default(c.Request.Method, c.Request.Header.Get("Content-Type"))); err != nil {
return
}
resp, err := v1GiftSvc.GiftConfig(c, p)
c.JSON(resp, err)
}
func giftDiscountGiftList(c *bm.Context) {
p := new(DiscountGiftListReq)
if err := c.BindWith(p, binding.Default(c.Request.Method, c.Request.Header.Get("Content-Type"))); err != nil {
return
}
resp, err := v1GiftSvc.DiscountGiftList(c, p)
c.JSON(resp, err)
}
func giftDailyBag(c *bm.Context) {
p := new(DailyBagReq)
if err := c.BindWith(p, binding.Default(c.Request.Method, c.Request.Header.Get("Content-Type"))); err != nil {
return
}
resp, err := v1GiftSvc.DailyBag(c, p)
c.JSON(resp, err)
}
// RegisterGiftBMServer Register the blademaster route
func RegisterGiftBMServer(e *bm.Engine, server GiftBMServer) {
e.GET("/live.xgift.v1.Gift/room_gift_list", giftRoomGiftList)
e.GET("/live.xgift.v1.Gift/gift_config", giftGiftConfig)
e.GET("/live.xgift.v1.Gift/discount_gift_list", giftDiscountGiftList)
e.GET("/live.xgift.v1.Gift/daily_bag", giftDailyBag)
}

View File

@@ -0,0 +1,216 @@
<!-- package=live.xgift.v1 -->
- [/live.xgift.v1.Gift/room_gift_list](#live.xgift.v1.Giftroom_gift_list)
- [/live.xgift.v1.Gift/gift_config](#live.xgift.v1.Giftgift_config)
- [/live.xgift.v1.Gift/discount_gift_list](#live.xgift.v1.Giftdiscount_gift_list)
- [/live.xgift.v1.Gift/daily_bag](#live.xgift.v1.Giftdaily_bag)
## /live.xgift.v1.Gift/room_gift_list
### 无标题
#### 方法GET
#### 请求参数
|参数名|必选|类型|描述|
|:---|:---|:---|:---|
|room_id|否|integer||
|area_v2_parent_id|否|integer||
|area_v2_id|否|integer||
|platform|否|string||
|build|否|integer||
|mobi_app|否|string||
#### 响应
```javascript
{
"code": 0,
"message": "ok",
"data": {
"list": [
{
"id": 0,
"position": 0,
"plan_id": 0
}
],
"silver_list": [
{
"id": 0,
"position": 0,
"plan_id": 0
}
],
"show_count_map": 0,
"old_list": [
{
"id": 0,
"name": "",
"price": 0,
"type": 0,
"coin_type": {
"mapKey": ""
},
"img": "",
"gift_url": "",
"count_set": "",
"combo_num": 0,
"super_num": 0,
"count_map": {
"1": ""
}
}
]
}
}
```
## /live.xgift.v1.Gift/gift_config
### 无标题
#### 方法GET
#### 请求参数
|参数名|必选|类型|描述|
|:---|:---|:---|:---|
|platform|否|string||
|build|否|integer||
#### 响应
```javascript
{
"code": 0,
"message": "ok",
"data": {
"data": [
{
"id": 0,
"name": "",
"price": 0,
"type": 0,
"coin_type": "",
"bag_gift": 0,
"effect": 0,
"corner_mark": "",
"broadcast": 0,
"draw": 0,
"stay_time": 0,
"animation_frame_num": 0,
"desc": "",
"rule": "",
"rights": "",
"privilege_required": 0,
"count_map": [
{
"num": 0,
"text": ""
}
],
"img_basic": "",
"img_dynamic": "",
"frame_animation": "",
"gif": "",
"webp": "",
"full_sc_web": "",
"full_sc_horizontal": "",
"full_sc_vertical": "",
"full_sc_horizontal_svga": "",
"full_sc_vertical_svga": "",
"bullet_head": "",
"bullet_tail": "",
"limit_interval": 0
}
]
}
}
```
## /live.xgift.v1.Gift/discount_gift_list
### 无标题
#### 方法GET
#### 请求参数
|参数名|必选|类型|描述|
|:---|:---|:---|:---|
|uid|否|integer||
|roomid|否|integer||
|area_v2_parent_id|否|integer||
|area_v2_id|否|integer||
|platform|否|string||
|ruid|否|integer||
#### 响应
```javascript
{
"code": 0,
"message": "ok",
"data": {
"discount_list": [
{
"gift_id": 0,
"price": 0,
"discount_price": 0,
"corner_mark": "",
"corner_position": 0,
"corner_color": ""
}
]
}
}
```
## /live.xgift.v1.Gift/daily_bag
### 无标题
#### 方法GET
#### 请求参数
|参数名|必选|类型|描述|
|:---|:---|:---|:---|
|uid|否|integer||
#### 响应
```javascript
{
"code": 0,
"message": "ok",
"data": {
"bag_status": 0,
"bag_expire_status": 0,
"bag_toast": {
"toast_status": 0,
"toast_message": ""
},
"bag_list": [
{
"type": 0,
"bag_name": "",
"source": {
"medal_id": 0,
"medal_name": "",
"level": 0,
"user_level": 0
},
"gift_list": [
{
"gift_id": "",
"gift_num": 0,
"expire_at": 0
}
]
}
]
}
}
```

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,149 @@
syntax = "proto3";
package live.xgift.v1;
option go_package = "v1";
option (gogoproto.goproto_getters_all) = false;
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
service Gift{
rpc room_gift_list(RoomGiftListReq) returns (RoomGiftListResp);
rpc gift_config(GiftConfigReq) returns (GiftConfigResp);
rpc discount_gift_list(DiscountGiftListReq) returns (DiscountGiftListResp);
rpc daily_bag(DailyBagReq) returns (DailyBagResp);
}
message RoomGiftListReq{
int64 room_id = 1;
int64 area_v2_parent_id = 2;
int64 area_v2_id = 3;
string platform = 4;
int64 build = 5;
string mobi_app = 6;
}
message RoomGiftListResp{
repeated List list = 1 [(gogoproto.jsontag)="list"];
message List{
int64 id = 1 [(gogoproto.jsontag)="id"];
int64 position = 2 [(gogoproto.jsontag)="position"];
int64 plan_id = 3 [(gogoproto.jsontag)="plan_id"];
}
repeated List silver_list = 2 [(gogoproto.jsontag)="silver_list"];
int64 show_count_map = 3 [(gogoproto.jsontag)="show_count_map"];
repeated OldList old_list = 4 [(gogoproto.jsontag)="old_list"];
message OldList{
int64 id = 1 [(gogoproto.jsontag)="id"];
string name = 2 [(gogoproto.jsontag)="name"];
int64 price = 3 [(gogoproto.jsontag)="price"];
int64 type = 4 [(gogoproto.jsontag)="type"];
map<string, string> coin_type=5 [(gogoproto.jsontag)="coin_type"];
string img = 6 [(gogoproto.jsontag)="img"];
string gift_url = 7 [(gogoproto.jsontag)="gift_url"];
string count_set = 8 [(gogoproto.jsontag)="count_set"];
int64 combo_num = 9 [(gogoproto.jsontag)="combo_num"];
int64 super_num = 10 [(gogoproto.jsontag)="super_num"];
map<int64, string> count_map = 11 [(gogoproto.jsontag)="count_map"];
}
}
message GiftConfigReq{
string platform = 1;
int64 build = 2;
}
message GiftConfigResp{
repeated Config data = 1 [(gogoproto.jsontag)="data"];
message Config{
int64 id = 1 [(gogoproto.jsontag)="id"];
string name = 2 [(gogoproto.jsontag)="name"];
int64 price = 3 [(gogoproto.jsontag)="price"];
int64 type = 4 [(gogoproto.jsontag)="type"];
string coin_type = 5 [(gogoproto.jsontag)="coin_type"];
int64 bag_gift = 6 [(gogoproto.jsontag)="bag_gift"];
int64 effect = 7 [(gogoproto.jsontag)="effect"];
string corner_mark = 8 [(gogoproto.jsontag)="corner_mark"];
int64 broadcast = 9 [(gogoproto.jsontag)="broadcast"];
int64 draw = 10 [(gogoproto.jsontag)="draw"];
int64 stay_time = 11 [(gogoproto.jsontag)="stay_time"];
int64 animation_frame_num = 12 [(gogoproto.jsontag)="animation_frame_num"];
string desc = 13 [(gogoproto.jsontag)="desc"];
string rule = 14 [(gogoproto.jsontag)="rule"];
string rights = 15 [(gogoproto.jsontag)="rights"];
int64 privilege_required = 16 [(gogoproto.jsontag)="privilege_required"];
repeated CountMap count_map = 17 [(gogoproto.jsontag)="count_map"];
string img_basic = 18 [(gogoproto.jsontag)="img_basic"];
string img_dynamic = 19 [(gogoproto.jsontag)="img_dynamic"];
string frame_animation = 20 [(gogoproto.jsontag)="frame_animation"];
string gif = 21 [(gogoproto.jsontag)="gif"];
string webp = 22 [(gogoproto.jsontag)="webp"];
string full_sc_web = 23 [(gogoproto.jsontag)="full_sc_web"];
string full_sc_horizontal = 24 [(gogoproto.jsontag)="full_sc_horizontal"];
string full_sc_vertical = 25 [(gogoproto.jsontag)="full_sc_vertical"];
string full_sc_horizontal_svga = 26 [(gogoproto.jsontag)="full_sc_horizontal_svga"];
string full_sc_vertical_svga = 27 [(gogoproto.jsontag)="full_sc_vertical_svga"];
string bullet_head = 28 [(gogoproto.jsontag)="bullet_head"];
string bullet_tail = 29 [(gogoproto.jsontag)="bullet_tail"];
int64 limit_interval = 30 [(gogoproto.jsontag)="limit_interval"];
}
message CountMap{
int64 num = 1 [(gogoproto.jsontag)="num"];
string text = 2 [(gogoproto.jsontag)="text"];
}
}
message DiscountGiftListReq{
int64 uid=1;
int64 roomid=2;
int64 area_v2_parent_id=3;
int64 area_v2_id=4;
string platform=5;
int64 ruid=6;
}
message DiscountGiftListResp{
repeated GiftInfo discount_list = 1;
message GiftInfo{
int64 gift_id=1 [(gogoproto.jsontag)="gift_id"];
int64 price=2 [(gogoproto.jsontag)="price"];
int64 discount_price=3 [(gogoproto.jsontag)="discount_price"];
string corner_mark=4 [(gogoproto.jsontag)="corner_mark"];
int64 corner_position=5 [(gogoproto.jsontag)="corner_position"];
string corner_color=6 [(gogoproto.jsontag)="corner_color"];
}
}
message DailyBagReq{
int64 uid = 1;
}
message DailyBagResp{
int64 bag_status=1 [(gogoproto.jsontag)="bag_status"];
int64 bag_expire_status=2 [(gogoproto.jsontag)="bag_expire_status"];
BagToast bag_toast = 3 [(gogoproto.jsontag)="bag_toast"];
message BagToast{
int64 toast_status=1 [(gogoproto.jsontag)="toast_status"];
string toast_message=2 [(gogoproto.jsontag)="toast_message"];
}
repeated BagList bag_list = 4 [(gogoproto.jsontag)="bag_list"];
message BagList{
int64 type=1 [(gogoproto.jsontag)="type"];
string bag_name=2 [(gogoproto.jsontag)="bag_name"];
Source source = 3 [(gogoproto.jsontag)="source"];
message Source{
int64 medal_id = 1 [(gogoproto.jsontag)="medal_id"];
string medal_name = 2 [(gogoproto.jsontag)="medal_name"];
int64 level = 3 [(gogoproto.jsontag)="level"];
int64 user_level = 4 [(gogoproto.jsontag)="user_level"];
}
repeated GiftList gift_list = 4 [(gogoproto.jsontag)="gift_list"];
message GiftList{
string gift_id=1 [(gogoproto.jsontag)="gift_id"];
int64 gift_num=2 [(gogoproto.jsontag)="gift_num"];
int64 expire_at=3 [(gogoproto.jsontag)="expire_at"];
}
}
}

View File

@@ -0,0 +1,24 @@
package v1
import (
"context"
"go-common/library/net/rpc/warden"
"google.golang.org/grpc"
)
// AppID unique app id for service discovery
const AppID = "live.xgift"
// NewClient new member grpc client
func NewClient(cfg *warden.ClientConfig, opts ...grpc.DialOption) (GiftClient, error) {
client := warden.NewClient(cfg, opts...)
conn, err := client.Dial(context.Background(), "discovery://default/"+AppID)
//conn, err := client.Dial(context.Background(), "127.0.0.1:9000")
if err != nil {
return nil, err
}
return NewGiftClient(conn), nil
}