Merge branch 'dev' of http://git.legu.cc/liwei_3d/go_dreamfactory into dev
This commit is contained in:
commit
40dfd55866
131
bin/json/game_shop.json
Normal file
131
bin/json/game_shop.json
Normal file
@ -0,0 +1,131 @@
|
||||
[
|
||||
{
|
||||
"shopid": 1,
|
||||
"tab": 1,
|
||||
"shopname": "金币商店",
|
||||
"needshow": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "money",
|
||||
"n": 1
|
||||
}
|
||||
],
|
||||
"rtype": 1,
|
||||
"rtime": 6,
|
||||
"rnum": 10,
|
||||
"rneed": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "money",
|
||||
"n": 20
|
||||
}
|
||||
],
|
||||
"shopitem": [
|
||||
10001,
|
||||
10002,
|
||||
10003
|
||||
]
|
||||
},
|
||||
{
|
||||
"shopid": 2,
|
||||
"tab": 2,
|
||||
"shopname": "钻石商店",
|
||||
"needshow": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "money",
|
||||
"n": 1
|
||||
}
|
||||
],
|
||||
"rtype": 2,
|
||||
"rtime": 1,
|
||||
"rnum": -1,
|
||||
"rneed": [],
|
||||
"shopitem": [
|
||||
10004
|
||||
]
|
||||
},
|
||||
{
|
||||
"shopid": 3,
|
||||
"tab": 3,
|
||||
"shopname": "PVP商店",
|
||||
"needshow": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "money",
|
||||
"n": 1
|
||||
}
|
||||
],
|
||||
"rtype": 3,
|
||||
"rtime": 1,
|
||||
"rnum": -1,
|
||||
"rneed": [],
|
||||
"shopitem": [
|
||||
10005
|
||||
]
|
||||
},
|
||||
{
|
||||
"shopid": 4,
|
||||
"tab": 4,
|
||||
"shopname": "PVE商店",
|
||||
"needshow": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "money",
|
||||
"n": 1
|
||||
}
|
||||
],
|
||||
"rtype": 3,
|
||||
"rtime": 1,
|
||||
"rnum": -1,
|
||||
"rneed": [],
|
||||
"shopitem": [
|
||||
10006
|
||||
]
|
||||
},
|
||||
{
|
||||
"shopid": 5,
|
||||
"tab": 5,
|
||||
"shopname": "联盟商店",
|
||||
"needshow": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "money",
|
||||
"n": 1
|
||||
}
|
||||
],
|
||||
"rtype": 2,
|
||||
"rtime": 14,
|
||||
"rnum": -1,
|
||||
"rneed": [],
|
||||
"shopitem": [
|
||||
10007,
|
||||
10008
|
||||
]
|
||||
}
|
||||
]
|
1094
bin/json/game_shopitem.json
Normal file
1094
bin/json/game_shopitem.json
Normal file
File diff suppressed because it is too large
Load Diff
@ -39,6 +39,7 @@ const (
|
||||
ModuleHero core.M_Modules = "hero" //英雄模块
|
||||
ModuleForum core.M_Modules = "forum" //论坛模块
|
||||
ModuleItems core.M_Modules = "items" //道具模块
|
||||
ModuleShop core.M_Modules = "shop" //商店模块
|
||||
)
|
||||
|
||||
//RPC服务接口定义处
|
||||
|
29
modules/shop/api.go
Normal file
29
modules/shop/api.go
Normal file
@ -0,0 +1,29 @@
|
||||
package shop
|
||||
|
||||
import (
|
||||
"go_dreamfactory/modules"
|
||||
|
||||
"go_dreamfactory/lego/core"
|
||||
)
|
||||
|
||||
/*
|
||||
装备模块 API
|
||||
*/
|
||||
type apiComp struct {
|
||||
modules.MCompGate
|
||||
service core.IService
|
||||
module *Shop
|
||||
}
|
||||
|
||||
//组件初始化接口
|
||||
func (this *apiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
||||
this.MCompGate.Init(service, module, comp, options)
|
||||
this.module = module.(*Shop)
|
||||
this.service = service
|
||||
return
|
||||
}
|
||||
|
||||
func (this *apiComp) Start() (err error) {
|
||||
err = this.MCompGate.Start()
|
||||
return
|
||||
}
|
26
modules/shop/api_buy.go
Normal file
26
modules/shop/api_buy.go
Normal file
@ -0,0 +1,26 @@
|
||||
package shop
|
||||
|
||||
import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/pb"
|
||||
|
||||
"google.golang.org/protobuf/proto"
|
||||
)
|
||||
|
||||
//参数校验
|
||||
func (this *apiComp) BuyCheck(session comm.IUserSession, req *pb.ShopBuyReq) (code pb.ErrorCode) {
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
///获取用户商品列表
|
||||
func (this *apiComp) Buy(session comm.IUserSession, req *pb.ShopBuyReq) (code pb.ErrorCode, data proto.Message) {
|
||||
var ()
|
||||
defer func() {
|
||||
if code == pb.ErrorCode_Success {
|
||||
session.SendMsg(string(this.module.GetType()), "buy", &pb.ShopBuyResp{})
|
||||
}
|
||||
}()
|
||||
|
||||
return
|
||||
}
|
85
modules/shop/api_getlist.go
Normal file
85
modules/shop/api_getlist.go
Normal file
@ -0,0 +1,85 @@
|
||||
package shop
|
||||
|
||||
import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/lego/sys/mgo"
|
||||
"go_dreamfactory/pb"
|
||||
cfg "go_dreamfactory/sys/configure/structs"
|
||||
"time"
|
||||
|
||||
"google.golang.org/protobuf/proto"
|
||||
)
|
||||
|
||||
//参数校验
|
||||
func (this *apiComp) GetlistCheck(session comm.IUserSession, req *pb.ShopGetListReq) (code pb.ErrorCode) {
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
///获取用户商品列表
|
||||
func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq) (code pb.ErrorCode, data proto.Message) {
|
||||
var (
|
||||
err error
|
||||
shopconf *cfg.Game_shopData
|
||||
shopData *pb.DBShop
|
||||
sdata *pb.UserShopData
|
||||
tdata time.Duration
|
||||
ltime time.Duration
|
||||
)
|
||||
defer func() {
|
||||
if code == pb.ErrorCode_Success {
|
||||
session.SendMsg(string(this.module.GetType()), "getlist", &pb.ShopGetListResp{})
|
||||
}
|
||||
}()
|
||||
if shopconf, err = this.module.configure.GetShopConfigure(int32(req.SType)); err != nil && err != mgo.MongodbNil {
|
||||
code = pb.ErrorCode_SystemError
|
||||
return
|
||||
}
|
||||
if shopData, err = this.module.modelShop.QueryUserShopData(session.GetUserId()); err != nil && err != mgo.MongodbNil {
|
||||
code = pb.ErrorCode_SystemError
|
||||
return
|
||||
}
|
||||
switch req.SType {
|
||||
case pb.ShopType_GoldShop:
|
||||
sdata = shopData.GoldShop
|
||||
break
|
||||
case pb.ShopType_DiamondShop:
|
||||
sdata = shopData.DiamondShop
|
||||
break
|
||||
case pb.ShopType_PVPShop:
|
||||
sdata = shopData.PVPShop
|
||||
break
|
||||
case pb.ShopType_PVEShop:
|
||||
sdata = shopData.PVEShop
|
||||
break
|
||||
case pb.ShopType_AllianceShop:
|
||||
sdata = shopData.AllianceShop
|
||||
break
|
||||
}
|
||||
if sdata == nil {
|
||||
sdata = &pb.UserShopData{}
|
||||
}
|
||||
tdata = time.Since(time.Unix(sdata.LastRefreshTime, 0))
|
||||
switch shopconf.Rtype {
|
||||
case 1:
|
||||
ltime = time.Hour * time.Duration(shopconf.Rtime)
|
||||
break
|
||||
case 2:
|
||||
ltime = 24 * time.Hour * time.Duration(shopconf.Rtime)
|
||||
break
|
||||
case 3:
|
||||
ltime = 7 * 24 * time.Hour * time.Duration(shopconf.Rtime)
|
||||
break
|
||||
case 4:
|
||||
ltime = 30 * 7 * 24 * time.Hour * time.Duration(shopconf.Rtime)
|
||||
break
|
||||
}
|
||||
|
||||
if tdata > ltime { //达到刷新时间 可以刷新商品列表
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
|
||||
return
|
||||
}
|
46
modules/shop/configure.go
Normal file
46
modules/shop/configure.go
Normal file
@ -0,0 +1,46 @@
|
||||
package shop
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/lego/sys/log"
|
||||
"go_dreamfactory/modules"
|
||||
cfg "go_dreamfactory/sys/configure/structs"
|
||||
)
|
||||
|
||||
const (
|
||||
game_shop = "game_shop.json"
|
||||
game_shopitem = "game_shopitem.json"
|
||||
)
|
||||
|
||||
///背包配置管理组件
|
||||
type configureComp struct {
|
||||
modules.MCompConfigure
|
||||
}
|
||||
|
||||
//组件初始化接口
|
||||
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
||||
this.ModuleCompBase.Init(service, module, comp, options)
|
||||
this.LoadConfigure(game_shop, cfg.NewGame_shop)
|
||||
this.LoadConfigure(game_shopitem, cfg.NewGame_shopitem)
|
||||
return
|
||||
}
|
||||
|
||||
//获取装备配置数据
|
||||
func (this *configureComp) GetShopConfigure(id int32) (configure *cfg.Game_shopData, err error) {
|
||||
var (
|
||||
v interface{}
|
||||
ok bool
|
||||
)
|
||||
if v, err = this.GetConfigure(game_shop); err != nil {
|
||||
log.Errorf("err:%v", err)
|
||||
return
|
||||
} else {
|
||||
if configure, ok = v.(*cfg.Game_shop).GetDataMap()[id]; !ok {
|
||||
err = fmt.Errorf("ShopConfigure not found:%d ", id)
|
||||
log.Errorf("err:%v", err)
|
||||
return
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
35
modules/shop/model_shop.go
Normal file
35
modules/shop/model_shop.go
Normal file
@ -0,0 +1,35 @@
|
||||
package shop
|
||||
|
||||
import (
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/modules"
|
||||
"go_dreamfactory/pb"
|
||||
|
||||
"go.mongodb.org/mongo-driver/mongo"
|
||||
"go.mongodb.org/mongo-driver/x/bsonx"
|
||||
)
|
||||
|
||||
///论坛 数据组件
|
||||
type modelShopComp struct {
|
||||
modules.MCompModel
|
||||
module *Shop
|
||||
}
|
||||
|
||||
//组件初始化接口
|
||||
func (this *modelShopComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, opt core.IModuleOptions) (err error) {
|
||||
this.MCompModel.Init(service, module, comp, opt)
|
||||
this.module = module.(*Shop)
|
||||
this.TableName = "forum"
|
||||
//创建uid索引
|
||||
this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{
|
||||
Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}},
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
//查询用户装备数据
|
||||
func (this *modelShopComp) QueryUserShopData(uId string) (data *pb.DBShop, err error) {
|
||||
data = &pb.DBShop{}
|
||||
err = this.Get(uId, data)
|
||||
return
|
||||
}
|
43
modules/shop/module.go
Normal file
43
modules/shop/module.go
Normal file
@ -0,0 +1,43 @@
|
||||
package shop
|
||||
|
||||
import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/modules"
|
||||
)
|
||||
|
||||
/*
|
||||
模块名:商店
|
||||
描述:商城相关业务
|
||||
开发:李伟
|
||||
*/
|
||||
func NewModule() core.IModule {
|
||||
m := new(Shop)
|
||||
return m
|
||||
}
|
||||
|
||||
type Shop struct {
|
||||
modules.ModuleBase
|
||||
api_comp *apiComp
|
||||
configure *configureComp
|
||||
modelShop *modelShopComp
|
||||
}
|
||||
|
||||
//模块名
|
||||
func (this *Shop) GetType() core.M_Modules {
|
||||
return comm.ModuleShop
|
||||
}
|
||||
|
||||
//模块初始化接口 注册用户创建角色事件
|
||||
func (this *Shop) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
|
||||
err = this.ModuleBase.Init(service, module, options)
|
||||
return
|
||||
}
|
||||
|
||||
//装备组件
|
||||
func (this *Shop) OnInstallComp() {
|
||||
this.ModuleBase.OnInstallComp()
|
||||
this.api_comp = this.RegisterComp(new(apiComp)).(*apiComp)
|
||||
this.modelShop = this.RegisterComp(new(modelShopComp)).(*modelShopComp)
|
||||
this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
|
||||
}
|
75
modules/shop/module_test.go
Normal file
75
modules/shop/module_test.go
Normal file
@ -0,0 +1,75 @@
|
||||
package shop_test
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/lego"
|
||||
"go_dreamfactory/lego/base/rpcx"
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/lego/sys/log"
|
||||
"go_dreamfactory/modules/shop"
|
||||
"go_dreamfactory/services"
|
||||
"go_dreamfactory/sys/cache"
|
||||
"go_dreamfactory/sys/configure"
|
||||
"go_dreamfactory/sys/db"
|
||||
"os"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
func newService(ops ...rpcx.Option) core.IService {
|
||||
s := new(TestService)
|
||||
s.Configure(ops...)
|
||||
return s
|
||||
}
|
||||
|
||||
//梦工厂基础服务对象
|
||||
type TestService struct {
|
||||
rpcx.RPCXService
|
||||
}
|
||||
|
||||
//初始化相关系统
|
||||
func (this *TestService) InitSys() {
|
||||
this.RPCXService.InitSys()
|
||||
if err := cache.OnInit(this.GetSettings().Sys["cache"]); err != nil {
|
||||
panic(fmt.Sprintf("init sys.cache err: %s", err.Error()))
|
||||
} else {
|
||||
log.Infof("init sys.cache success!")
|
||||
}
|
||||
if err := db.OnInit(this.GetSettings().Sys["db"]); err != nil {
|
||||
panic(fmt.Sprintf("init sys.db err: %s", err.Error()))
|
||||
} else {
|
||||
log.Infof("init sys.db success!")
|
||||
}
|
||||
if err := configure.OnInit(this.GetSettings().Sys["configure"]); err != nil {
|
||||
panic(fmt.Sprintf("init sys.configure err: %s", err.Error()))
|
||||
} else {
|
||||
log.Infof("init sys.configure success!")
|
||||
}
|
||||
}
|
||||
|
||||
var service core.IService
|
||||
var s_gateComp comm.ISC_GateRouteComp = services.NewGateRouteComp()
|
||||
var module = new(shop.Shop)
|
||||
|
||||
//测试环境下初始化db和cache 系统
|
||||
func TestMain(m *testing.M) {
|
||||
service = newService(
|
||||
rpcx.SetConfPath("../../bin/conf/worker_1.yaml"),
|
||||
rpcx.SetVersion("1.0.0.0"),
|
||||
)
|
||||
service.OnInstallComp( //装备组件
|
||||
s_gateComp, //此服务需要接受用户的消息 需要装备网关组件
|
||||
)
|
||||
go func() {
|
||||
lego.Run(service, //运行模块
|
||||
module,
|
||||
)
|
||||
}()
|
||||
time.Sleep(time.Second * 3)
|
||||
defer os.Exit(m.Run())
|
||||
}
|
||||
|
||||
func Test_Module(t *testing.T) {
|
||||
|
||||
}
|
1
pb.bat
1
pb.bat
@ -15,4 +15,5 @@ protoc --proto_path=%SRC% --go_out=%TAR% --go_opt=paths=import %SRC%\items\*.pr
|
||||
protoc --proto_path=%SRC% --go_out=%TAR% --go_opt=paths=import %SRC%\mail\*.proto
|
||||
protoc --proto_path=%SRC% --go_out=%TAR% --go_opt=paths=import %SRC%\equipment\*.proto
|
||||
protoc --proto_path=%SRC% --go_out=%TAR% --go_opt=paths=import %SRC%\hero\*.proto
|
||||
protoc --proto_path=%SRC% --go_out=%TAR% --go_opt=paths=import %SRC%\shop\*.proto
|
||||
pause
|
28
pb/proto/shop/shop_db.proto
Normal file
28
pb/proto/shop/shop_db.proto
Normal file
@ -0,0 +1,28 @@
|
||||
syntax = "proto3";
|
||||
option go_package = ".;pb";
|
||||
|
||||
enum ShopType {
|
||||
Null = 0;
|
||||
GoldShop = 1;
|
||||
DiamondShop = 2;
|
||||
PVPShop = 3;
|
||||
PVEShop = 4;
|
||||
AllianceShop = 5;
|
||||
}
|
||||
|
||||
message UserShopData {
|
||||
int64 LastRefreshTime = 1; //最后一次刷新时间
|
||||
int32 ManualRefreshNum = 2; //手动刷新次数
|
||||
repeated int32 Items = 3; //商品列表
|
||||
}
|
||||
|
||||
message DBShop {
|
||||
string id = 1; //@go_tags(`bson:"_id"`) 装备id
|
||||
string uid = 2; //@go_tags(`bson:"uid"`) 装备id
|
||||
UserShopData GoldShop = 3; //金币商店数据
|
||||
UserShopData DiamondShop = 4; //金币商店数据
|
||||
UserShopData PVPShop = 5; //金币商店数据
|
||||
UserShopData PVEShop = 6; //金币商店数据
|
||||
UserShopData AllianceShop = 7; //金币商店数据
|
||||
|
||||
}
|
24
pb/proto/shop/shop_msg.proto
Normal file
24
pb/proto/shop/shop_msg.proto
Normal file
@ -0,0 +1,24 @@
|
||||
syntax = "proto3";
|
||||
option go_package = ".;pb";
|
||||
import "shop/shop_db.proto";
|
||||
|
||||
//获取装备列表请求
|
||||
message ShopGetListReq {
|
||||
ShopType sType = 1; //商城类型
|
||||
bool IsManualRefresh = 2; //是否手动刷新
|
||||
}
|
||||
|
||||
//获取装备列表请求
|
||||
message ShopGetListResp {
|
||||
|
||||
}
|
||||
|
||||
//购买商品 请求
|
||||
message ShopBuyReq {
|
||||
|
||||
}
|
||||
|
||||
//购买商品 回应
|
||||
message ShopBuyResp {
|
||||
|
||||
}
|
359
pb/shop_db.pb.go
Normal file
359
pb/shop_db.pb.go
Normal file
@ -0,0 +1,359 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.28.0
|
||||
// protoc v3.20.0
|
||||
// source: shop/shop_db.proto
|
||||
|
||||
package pb
|
||||
|
||||
import (
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
)
|
||||
|
||||
const (
|
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||
)
|
||||
|
||||
type ShopType int32
|
||||
|
||||
const (
|
||||
ShopType_Null ShopType = 0
|
||||
ShopType_GoldShop ShopType = 1
|
||||
ShopType_DiamondShop ShopType = 2
|
||||
ShopType_PVPShop ShopType = 3
|
||||
ShopType_PVEShop ShopType = 4
|
||||
ShopType_AllianceShop ShopType = 5
|
||||
)
|
||||
|
||||
// Enum value maps for ShopType.
|
||||
var (
|
||||
ShopType_name = map[int32]string{
|
||||
0: "Null",
|
||||
1: "GoldShop",
|
||||
2: "DiamondShop",
|
||||
3: "PVPShop",
|
||||
4: "PVEShop",
|
||||
5: "AllianceShop",
|
||||
}
|
||||
ShopType_value = map[string]int32{
|
||||
"Null": 0,
|
||||
"GoldShop": 1,
|
||||
"DiamondShop": 2,
|
||||
"PVPShop": 3,
|
||||
"PVEShop": 4,
|
||||
"AllianceShop": 5,
|
||||
}
|
||||
)
|
||||
|
||||
func (x ShopType) Enum() *ShopType {
|
||||
p := new(ShopType)
|
||||
*p = x
|
||||
return p
|
||||
}
|
||||
|
||||
func (x ShopType) String() string {
|
||||
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
||||
}
|
||||
|
||||
func (ShopType) Descriptor() protoreflect.EnumDescriptor {
|
||||
return file_shop_shop_db_proto_enumTypes[0].Descriptor()
|
||||
}
|
||||
|
||||
func (ShopType) Type() protoreflect.EnumType {
|
||||
return &file_shop_shop_db_proto_enumTypes[0]
|
||||
}
|
||||
|
||||
func (x ShopType) Number() protoreflect.EnumNumber {
|
||||
return protoreflect.EnumNumber(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use ShopType.Descriptor instead.
|
||||
func (ShopType) EnumDescriptor() ([]byte, []int) {
|
||||
return file_shop_shop_db_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
type UserShopData struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
LastRefreshTime int64 `protobuf:"varint,1,opt,name=LastRefreshTime,proto3" json:"LastRefreshTime"` //最后一次刷新时间
|
||||
ManualRefreshNum int32 `protobuf:"varint,2,opt,name=ManualRefreshNum,proto3" json:"ManualRefreshNum"` //手动刷新次数
|
||||
Items []int32 `protobuf:"varint,3,rep,packed,name=Items,proto3" json:"Items"` //商品列表
|
||||
}
|
||||
|
||||
func (x *UserShopData) Reset() {
|
||||
*x = UserShopData{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_shop_shop_db_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *UserShopData) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*UserShopData) ProtoMessage() {}
|
||||
|
||||
func (x *UserShopData) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_shop_shop_db_proto_msgTypes[0]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use UserShopData.ProtoReflect.Descriptor instead.
|
||||
func (*UserShopData) Descriptor() ([]byte, []int) {
|
||||
return file_shop_shop_db_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *UserShopData) GetLastRefreshTime() int64 {
|
||||
if x != nil {
|
||||
return x.LastRefreshTime
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *UserShopData) GetManualRefreshNum() int32 {
|
||||
if x != nil {
|
||||
return x.ManualRefreshNum
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *UserShopData) GetItems() []int32 {
|
||||
if x != nil {
|
||||
return x.Items
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type DBShop struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //装备id
|
||||
Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //装备id
|
||||
GoldShop *UserShopData `protobuf:"bytes,3,opt,name=GoldShop,proto3" json:"GoldShop"` //金币商店数据
|
||||
DiamondShop *UserShopData `protobuf:"bytes,4,opt,name=DiamondShop,proto3" json:"DiamondShop"` //金币商店数据
|
||||
PVPShop *UserShopData `protobuf:"bytes,5,opt,name=PVPShop,proto3" json:"PVPShop"` //金币商店数据
|
||||
PVEShop *UserShopData `protobuf:"bytes,6,opt,name=PVEShop,proto3" json:"PVEShop"` //金币商店数据
|
||||
AllianceShop *UserShopData `protobuf:"bytes,7,opt,name=AllianceShop,proto3" json:"AllianceShop"` //金币商店数据
|
||||
}
|
||||
|
||||
func (x *DBShop) Reset() {
|
||||
*x = DBShop{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_shop_shop_db_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *DBShop) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*DBShop) ProtoMessage() {}
|
||||
|
||||
func (x *DBShop) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_shop_shop_db_proto_msgTypes[1]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use DBShop.ProtoReflect.Descriptor instead.
|
||||
func (*DBShop) Descriptor() ([]byte, []int) {
|
||||
return file_shop_shop_db_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *DBShop) GetId() string {
|
||||
if x != nil {
|
||||
return x.Id
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *DBShop) GetUid() string {
|
||||
if x != nil {
|
||||
return x.Uid
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *DBShop) GetGoldShop() *UserShopData {
|
||||
if x != nil {
|
||||
return x.GoldShop
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *DBShop) GetDiamondShop() *UserShopData {
|
||||
if x != nil {
|
||||
return x.DiamondShop
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *DBShop) GetPVPShop() *UserShopData {
|
||||
if x != nil {
|
||||
return x.PVPShop
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *DBShop) GetPVEShop() *UserShopData {
|
||||
if x != nil {
|
||||
return x.PVEShop
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *DBShop) GetAllianceShop() *UserShopData {
|
||||
if x != nil {
|
||||
return x.AllianceShop
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
var File_shop_shop_db_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_shop_shop_db_proto_rawDesc = []byte{
|
||||
0x0a, 0x12, 0x73, 0x68, 0x6f, 0x70, 0x2f, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x64, 0x62, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7a, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70,
|
||||
0x44, 0x61, 0x74, 0x61, 0x12, 0x28, 0x0a, 0x0f, 0x4c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x66, 0x72,
|
||||
0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x4c,
|
||||
0x61, 0x73, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a,
|
||||
0x0a, 0x10, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4e,
|
||||
0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c,
|
||||
0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x74,
|
||||
0x65, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73,
|
||||
0x22, 0x8b, 0x02, 0x0a, 0x06, 0x44, 0x42, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69,
|
||||
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75,
|
||||
0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x29, 0x0a,
|
||||
0x08, 0x47, 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||
0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08,
|
||||
0x47, 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x2f, 0x0a, 0x0b, 0x44, 0x69, 0x61, 0x6d,
|
||||
0x6f, 0x6e, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
|
||||
0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x44, 0x69,
|
||||
0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x27, 0x0a, 0x07, 0x50, 0x56, 0x50,
|
||||
0x53, 0x68, 0x6f, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65,
|
||||
0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x07, 0x50, 0x56, 0x50, 0x53, 0x68,
|
||||
0x6f, 0x70, 0x12, 0x27, 0x0a, 0x07, 0x50, 0x56, 0x45, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x06, 0x20,
|
||||
0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61,
|
||||
0x74, 0x61, 0x52, 0x07, 0x50, 0x56, 0x45, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x31, 0x0a, 0x0c, 0x41,
|
||||
0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28,
|
||||
0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61,
|
||||
0x52, 0x0c, 0x41, 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x2a, 0x5f,
|
||||
0x0a, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x75,
|
||||
0x6c, 0x6c, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x47, 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70,
|
||||
0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x53, 0x68, 0x6f,
|
||||
0x70, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x56, 0x50, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x03,
|
||||
0x12, 0x0b, 0x0a, 0x07, 0x50, 0x56, 0x45, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x04, 0x12, 0x10, 0x0a,
|
||||
0x0c, 0x41, 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x05, 0x42,
|
||||
0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_shop_shop_db_proto_rawDescOnce sync.Once
|
||||
file_shop_shop_db_proto_rawDescData = file_shop_shop_db_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_shop_shop_db_proto_rawDescGZIP() []byte {
|
||||
file_shop_shop_db_proto_rawDescOnce.Do(func() {
|
||||
file_shop_shop_db_proto_rawDescData = protoimpl.X.CompressGZIP(file_shop_shop_db_proto_rawDescData)
|
||||
})
|
||||
return file_shop_shop_db_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_shop_shop_db_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
|
||||
var file_shop_shop_db_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
|
||||
var file_shop_shop_db_proto_goTypes = []interface{}{
|
||||
(ShopType)(0), // 0: ShopType
|
||||
(*UserShopData)(nil), // 1: UserShopData
|
||||
(*DBShop)(nil), // 2: DBShop
|
||||
}
|
||||
var file_shop_shop_db_proto_depIdxs = []int32{
|
||||
1, // 0: DBShop.GoldShop:type_name -> UserShopData
|
||||
1, // 1: DBShop.DiamondShop:type_name -> UserShopData
|
||||
1, // 2: DBShop.PVPShop:type_name -> UserShopData
|
||||
1, // 3: DBShop.PVEShop:type_name -> UserShopData
|
||||
1, // 4: DBShop.AllianceShop:type_name -> UserShopData
|
||||
5, // [5:5] is the sub-list for method output_type
|
||||
5, // [5:5] is the sub-list for method input_type
|
||||
5, // [5:5] is the sub-list for extension type_name
|
||||
5, // [5:5] is the sub-list for extension extendee
|
||||
0, // [0:5] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_shop_shop_db_proto_init() }
|
||||
func file_shop_shop_db_proto_init() {
|
||||
if File_shop_shop_db_proto != nil {
|
||||
return
|
||||
}
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_shop_shop_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*UserShopData); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_shop_shop_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*DBShop); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_shop_shop_db_proto_rawDesc,
|
||||
NumEnums: 1,
|
||||
NumMessages: 2,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_shop_shop_db_proto_goTypes,
|
||||
DependencyIndexes: file_shop_shop_db_proto_depIdxs,
|
||||
EnumInfos: file_shop_shop_db_proto_enumTypes,
|
||||
MessageInfos: file_shop_shop_db_proto_msgTypes,
|
||||
}.Build()
|
||||
File_shop_shop_db_proto = out.File
|
||||
file_shop_shop_db_proto_rawDesc = nil
|
||||
file_shop_shop_db_proto_goTypes = nil
|
||||
file_shop_shop_db_proto_depIdxs = nil
|
||||
}
|
317
pb/shop_msg.pb.go
Normal file
317
pb/shop_msg.pb.go
Normal file
@ -0,0 +1,317 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.28.0
|
||||
// protoc v3.20.0
|
||||
// source: shop/shop_msg.proto
|
||||
|
||||
package pb
|
||||
|
||||
import (
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
)
|
||||
|
||||
const (
|
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||
)
|
||||
|
||||
//获取装备列表请求
|
||||
type ShopGetListReq struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
SType ShopType `protobuf:"varint,1,opt,name=sType,proto3,enum=ShopType" json:"sType"` //商城类型
|
||||
IsManualRefresh bool `protobuf:"varint,2,opt,name=IsManualRefresh,proto3" json:"IsManualRefresh"` //是否手动刷新
|
||||
}
|
||||
|
||||
func (x *ShopGetListReq) Reset() {
|
||||
*x = ShopGetListReq{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_shop_shop_msg_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ShopGetListReq) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ShopGetListReq) ProtoMessage() {}
|
||||
|
||||
func (x *ShopGetListReq) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_shop_shop_msg_proto_msgTypes[0]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use ShopGetListReq.ProtoReflect.Descriptor instead.
|
||||
func (*ShopGetListReq) Descriptor() ([]byte, []int) {
|
||||
return file_shop_shop_msg_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *ShopGetListReq) GetSType() ShopType {
|
||||
if x != nil {
|
||||
return x.SType
|
||||
}
|
||||
return ShopType_Null
|
||||
}
|
||||
|
||||
func (x *ShopGetListReq) GetIsManualRefresh() bool {
|
||||
if x != nil {
|
||||
return x.IsManualRefresh
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
//获取装备列表请求
|
||||
type ShopGetListResp struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
}
|
||||
|
||||
func (x *ShopGetListResp) Reset() {
|
||||
*x = ShopGetListResp{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_shop_shop_msg_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ShopGetListResp) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ShopGetListResp) ProtoMessage() {}
|
||||
|
||||
func (x *ShopGetListResp) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_shop_shop_msg_proto_msgTypes[1]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use ShopGetListResp.ProtoReflect.Descriptor instead.
|
||||
func (*ShopGetListResp) Descriptor() ([]byte, []int) {
|
||||
return file_shop_shop_msg_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
//购买商品 请求
|
||||
type ShopBuyReq struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
}
|
||||
|
||||
func (x *ShopBuyReq) Reset() {
|
||||
*x = ShopBuyReq{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_shop_shop_msg_proto_msgTypes[2]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ShopBuyReq) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ShopBuyReq) ProtoMessage() {}
|
||||
|
||||
func (x *ShopBuyReq) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_shop_shop_msg_proto_msgTypes[2]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use ShopBuyReq.ProtoReflect.Descriptor instead.
|
||||
func (*ShopBuyReq) Descriptor() ([]byte, []int) {
|
||||
return file_shop_shop_msg_proto_rawDescGZIP(), []int{2}
|
||||
}
|
||||
|
||||
//购买商品 回应
|
||||
type ShopBuyResp struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
}
|
||||
|
||||
func (x *ShopBuyResp) Reset() {
|
||||
*x = ShopBuyResp{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_shop_shop_msg_proto_msgTypes[3]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ShopBuyResp) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ShopBuyResp) ProtoMessage() {}
|
||||
|
||||
func (x *ShopBuyResp) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_shop_shop_msg_proto_msgTypes[3]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use ShopBuyResp.ProtoReflect.Descriptor instead.
|
||||
func (*ShopBuyResp) Descriptor() ([]byte, []int) {
|
||||
return file_shop_shop_msg_proto_rawDescGZIP(), []int{3}
|
||||
}
|
||||
|
||||
var File_shop_shop_msg_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_shop_shop_msg_proto_rawDesc = []byte{
|
||||
0x0a, 0x13, 0x73, 0x68, 0x6f, 0x70, 0x2f, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x6d, 0x73, 0x67, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x73, 0x68, 0x6f, 0x70, 0x2f, 0x73, 0x68, 0x6f, 0x70,
|
||||
0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5b, 0x0a, 0x0e, 0x53, 0x68, 0x6f,
|
||||
0x70, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x05, 0x73,
|
||||
0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x53, 0x68, 0x6f,
|
||||
0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x0f,
|
||||
0x49, 0x73, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x49, 0x73, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52,
|
||||
0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x22, 0x11, 0x0a, 0x0f, 0x53, 0x68, 0x6f, 0x70, 0x47, 0x65,
|
||||
0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x0c, 0x0a, 0x0a, 0x53, 0x68, 0x6f,
|
||||
0x70, 0x42, 0x75, 0x79, 0x52, 0x65, 0x71, 0x22, 0x0d, 0x0a, 0x0b, 0x53, 0x68, 0x6f, 0x70, 0x42,
|
||||
0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_shop_shop_msg_proto_rawDescOnce sync.Once
|
||||
file_shop_shop_msg_proto_rawDescData = file_shop_shop_msg_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_shop_shop_msg_proto_rawDescGZIP() []byte {
|
||||
file_shop_shop_msg_proto_rawDescOnce.Do(func() {
|
||||
file_shop_shop_msg_proto_rawDescData = protoimpl.X.CompressGZIP(file_shop_shop_msg_proto_rawDescData)
|
||||
})
|
||||
return file_shop_shop_msg_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_shop_shop_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
|
||||
var file_shop_shop_msg_proto_goTypes = []interface{}{
|
||||
(*ShopGetListReq)(nil), // 0: ShopGetListReq
|
||||
(*ShopGetListResp)(nil), // 1: ShopGetListResp
|
||||
(*ShopBuyReq)(nil), // 2: ShopBuyReq
|
||||
(*ShopBuyResp)(nil), // 3: ShopBuyResp
|
||||
(ShopType)(0), // 4: ShopType
|
||||
}
|
||||
var file_shop_shop_msg_proto_depIdxs = []int32{
|
||||
4, // 0: ShopGetListReq.sType:type_name -> ShopType
|
||||
1, // [1:1] is the sub-list for method output_type
|
||||
1, // [1:1] is the sub-list for method input_type
|
||||
1, // [1:1] is the sub-list for extension type_name
|
||||
1, // [1:1] is the sub-list for extension extendee
|
||||
0, // [0:1] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_shop_shop_msg_proto_init() }
|
||||
func file_shop_shop_msg_proto_init() {
|
||||
if File_shop_shop_msg_proto != nil {
|
||||
return
|
||||
}
|
||||
file_shop_shop_db_proto_init()
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_shop_shop_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ShopGetListReq); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_shop_shop_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ShopGetListResp); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_shop_shop_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ShopBuyReq); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_shop_shop_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ShopBuyResp); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_shop_shop_msg_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 4,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_shop_shop_msg_proto_goTypes,
|
||||
DependencyIndexes: file_shop_shop_msg_proto_depIdxs,
|
||||
MessageInfos: file_shop_shop_msg_proto_msgTypes,
|
||||
}.Build()
|
||||
File_shop_shop_msg_proto = out.File
|
||||
file_shop_shop_msg_proto_rawDesc = nil
|
||||
file_shop_shop_msg_proto_goTypes = nil
|
||||
file_shop_shop_msg_proto_depIdxs = nil
|
||||
}
|
42
sys/configure/structs/game.shop.go
Normal file
42
sys/configure/structs/game.shop.go
Normal file
@ -0,0 +1,42 @@
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
package cfg
|
||||
|
||||
type Game_shop struct {
|
||||
_dataMap map[int32]*Game_shopData
|
||||
_dataList []*Game_shopData
|
||||
}
|
||||
|
||||
func NewGame_shop(_buf []map[string]interface{}) (*Game_shop, error) {
|
||||
_dataList := make([]*Game_shopData, 0, len(_buf))
|
||||
dataMap := make(map[int32]*Game_shopData)
|
||||
for _, _ele_ := range _buf {
|
||||
if _v, err2 := NewGame_shopData(_ele_); err2 != nil {
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.Shopid] = _v
|
||||
}
|
||||
}
|
||||
return &Game_shop{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
}
|
||||
|
||||
func (table *Game_shop) GetDataMap() map[int32]*Game_shopData {
|
||||
return table._dataMap
|
||||
}
|
||||
|
||||
func (table *Game_shop) GetDataList() []*Game_shopData {
|
||||
return table._dataList
|
||||
}
|
||||
|
||||
func (table *Game_shop) Get(key int32) *Game_shopData {
|
||||
return table._dataMap[key]
|
||||
}
|
||||
|
||||
|
80
sys/configure/structs/game.shopData.go
Normal file
80
sys/configure/structs/game.shopData.go
Normal file
@ -0,0 +1,80 @@
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
package cfg
|
||||
|
||||
import "errors"
|
||||
|
||||
type Game_shopData struct {
|
||||
Shopid int32
|
||||
Tab int32
|
||||
Shopname string
|
||||
Needshow []*Game_atn
|
||||
Rtype int32
|
||||
Rtime int32
|
||||
Rnum int32
|
||||
Rneed []*Game_atn
|
||||
Shopitem []int32
|
||||
}
|
||||
|
||||
func (Game_shopData) GetTypeId() int {
|
||||
return 923847228
|
||||
}
|
||||
|
||||
func NewGame_shopData(_buf map[string]interface{}) (_v *Game_shopData, err error) {
|
||||
_v = &Game_shopData{}
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["shopid"].(float64); !_ok_ { err = errors.New("shopid error"); return }; _v.Shopid = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["tab"].(float64); !_ok_ { err = errors.New("tab error"); return }; _v.Tab = int32(_tempNum_) }
|
||||
{ var _ok_ bool; if _v.Shopname, _ok_ = _buf["shopname"].(string); !_ok_ { err = errors.New("shopname error"); return } }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["needshow"].([]interface{}); !_ok_ { err = errors.New("needshow error"); return }
|
||||
|
||||
_v.Needshow = make([]*Game_atn, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ *Game_atn
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = NewGame_atn(_x_); err != nil { return } }
|
||||
_v.Needshow = append(_v.Needshow, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["rtype"].(float64); !_ok_ { err = errors.New("rtype error"); return }; _v.Rtype = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["rtime"].(float64); !_ok_ { err = errors.New("rtime error"); return }; _v.Rtime = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["rnum"].(float64); !_ok_ { err = errors.New("rnum error"); return }; _v.Rnum = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["rneed"].([]interface{}); !_ok_ { err = errors.New("rneed error"); return }
|
||||
|
||||
_v.Rneed = make([]*Game_atn, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ *Game_atn
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = NewGame_atn(_x_); err != nil { return } }
|
||||
_v.Rneed = append(_v.Rneed, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["shopitem"].([]interface{}); !_ok_ { err = errors.New("shopitem error"); return }
|
||||
|
||||
_v.Shopitem = make([]int32, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ int32
|
||||
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
|
||||
_v.Shopitem = append(_v.Shopitem, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
42
sys/configure/structs/game.shopitem.go
Normal file
42
sys/configure/structs/game.shopitem.go
Normal file
@ -0,0 +1,42 @@
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
package cfg
|
||||
|
||||
type Game_shopitem struct {
|
||||
_dataMap map[int32]*Game_shopitemData
|
||||
_dataList []*Game_shopitemData
|
||||
}
|
||||
|
||||
func NewGame_shopitem(_buf []map[string]interface{}) (*Game_shopitem, error) {
|
||||
_dataList := make([]*Game_shopitemData, 0, len(_buf))
|
||||
dataMap := make(map[int32]*Game_shopitemData)
|
||||
for _, _ele_ := range _buf {
|
||||
if _v, err2 := NewGame_shopitemData(_ele_); err2 != nil {
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.Key] = _v
|
||||
}
|
||||
}
|
||||
return &Game_shopitem{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
}
|
||||
|
||||
func (table *Game_shopitem) GetDataMap() map[int32]*Game_shopitemData {
|
||||
return table._dataMap
|
||||
}
|
||||
|
||||
func (table *Game_shopitem) GetDataList() []*Game_shopitemData {
|
||||
return table._dataList
|
||||
}
|
||||
|
||||
func (table *Game_shopitem) Get(key int32) *Game_shopitemData {
|
||||
return table._dataMap[key]
|
||||
}
|
||||
|
||||
|
90
sys/configure/structs/game.shopitemData.go
Normal file
90
sys/configure/structs/game.shopitemData.go
Normal file
@ -0,0 +1,90 @@
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
package cfg
|
||||
|
||||
import "errors"
|
||||
|
||||
type Game_shopitemData struct {
|
||||
Key int32
|
||||
Id int32
|
||||
Iteminfo []*Game_atn
|
||||
Probability int32
|
||||
Need []*Game_atn
|
||||
Sale float32
|
||||
Salelist []int32
|
||||
Buyminnum int32
|
||||
Buymaxnum int32
|
||||
Vip int32
|
||||
Lvmin int32
|
||||
Lvmax int32
|
||||
Mapidmin int32
|
||||
Mapidmax int32
|
||||
}
|
||||
|
||||
func (Game_shopitemData) GetTypeId() int {
|
||||
return 683408079
|
||||
}
|
||||
|
||||
func NewGame_shopitemData(_buf map[string]interface{}) (_v *Game_shopitemData, err error) {
|
||||
_v = &Game_shopitemData{}
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["iteminfo"].([]interface{}); !_ok_ { err = errors.New("iteminfo error"); return }
|
||||
|
||||
_v.Iteminfo = make([]*Game_atn, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ *Game_atn
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = NewGame_atn(_x_); err != nil { return } }
|
||||
_v.Iteminfo = append(_v.Iteminfo, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["probability"].(float64); !_ok_ { err = errors.New("probability error"); return }; _v.Probability = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["need"].([]interface{}); !_ok_ { err = errors.New("need error"); return }
|
||||
|
||||
_v.Need = make([]*Game_atn, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ *Game_atn
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = NewGame_atn(_x_); err != nil { return } }
|
||||
_v.Need = append(_v.Need, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["sale"].(float64); !_ok_ { err = errors.New("sale error"); return }; _v.Sale = float32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["salelist"].([]interface{}); !_ok_ { err = errors.New("salelist error"); return }
|
||||
|
||||
_v.Salelist = make([]int32, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ int32
|
||||
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
|
||||
_v.Salelist = append(_v.Salelist, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["buyminnum"].(float64); !_ok_ { err = errors.New("buyminnum error"); return }; _v.Buyminnum = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["buymaxnum"].(float64); !_ok_ { err = errors.New("buymaxnum error"); return }; _v.Buymaxnum = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["vip"].(float64); !_ok_ { err = errors.New("vip error"); return }; _v.Vip = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["lvmin"].(float64); !_ok_ { err = errors.New("lvmin error"); return }; _v.Lvmin = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["lvmax"].(float64); !_ok_ { err = errors.New("lvmax error"); return }; _v.Lvmax = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["mapidmin"].(float64); !_ok_ { err = errors.New("mapidmin error"); return }; _v.Mapidmin = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["mapidmax"].(float64); !_ok_ { err = errors.New("mapidmax error"); return }; _v.Mapidmax = int32(_tempNum_) }
|
||||
return
|
||||
}
|
Loading…
Reference in New Issue
Block a user