From d3642c93e454e5a4925d3cc7aabccfb66263e5f7 Mon Sep 17 00:00:00 2001 From: by <123456@qq.com> Date: Thu, 19 Sep 2024 17:18:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A8=83=E5=A8=83=E5=85=91=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/DB_GameItem.dat | Bin 18735 -> 18729 bytes data/DB_GameItem.json | 6 +- data/DB_GiftCard.dat | Bin 57 -> 57 bytes data/DB_PropExchange.dat | Bin 384 -> 384 bytes data/DB_Task.dat | Bin 5439 -> 5439 bytes dbproxy/svc/l_dbbagchangedolllog.go | 4 +- protocol/bag/bag.pb.go | 170 +++++++++++++--------------- protocol/bag/bag.proto | 9 +- protocol/webapi/webapi.pb.go | 141 +++++++++++++---------- protocol/webapi/webapi.proto | 2 + worldsrv/action_bag.go | 94 ++++++++------- worldsrv/shopmgr.go | 1 + worldsrv/trascate_webapi.go | 5 + xlsx/DB_GameItem.xlsx | Bin 35314 -> 35321 bytes 14 files changed, 232 insertions(+), 200 deletions(-) diff --git a/data/DB_GameItem.dat b/data/DB_GameItem.dat index ea158f6d0656c1eec9d9e1462cec120438c3a4e7..fa14b5ef3eb95c82bb9d92fa927999f9606a1123 100644 GIT binary patch delta 43 rcmZ2KiE-s5#trcvjH#0oJWQA(7$+A>s7>DQ!Nr&~`ILttLVyzhOCt_t delta 38 ocmZ2EiE;fT#trcvj2V*?JWM8U6xW`t;K|9vl{)#jharp$01&DT2mk;8 diff --git a/data/DB_GameItem.json b/data/DB_GameItem.json index 4725b72..399a340 100644 --- a/data/DB_GameItem.json +++ b/data/DB_GameItem.json @@ -6271,8 +6271,7 @@ ], "SaleType": 1, "SaleGold": 5000, - "Composition": 1, - "CompositionMax": 9999, + "CompositionMax": 1, "Location": "0", "Describe": "可联系客服兑换实物奖励", "Gain": { @@ -6309,8 +6308,7 @@ ], "SaleType": 1, "SaleGold": 5000, - "Composition": 1, - "CompositionMax": 9999, + "CompositionMax": 1, "Location": "0", "Describe": "可联系客服兑换实物奖励", "Gain": { diff --git a/data/DB_GiftCard.dat b/data/DB_GiftCard.dat index 15600367ff42a73b75826e6378f02a3bde3a8661..96640b07f274cbbbda035ee3e52503c8356a73cb 100644 GIT binary patch delta 38 pcmcDtoFJjd$+57PP2j+^jZ8{x92eV|1-P_0AVMv+2JBXh3;@YB39kSE delta 38 pcmcDtoFJjd#&NNYS%6E4lVf2oo4|o-8=15?Aj}q919mG$1^~Z739kSE diff --git a/data/DB_PropExchange.dat b/data/DB_PropExchange.dat index 692c5d1b4dcfefb43616d6335367170979a23cf5..2922a032d2148858f57dec518517d249f80a6055 100644 GIT binary patch literal 384 zcmd-w<6snElw#w!(#8y?uR`f-Q2IKQz6_$3I5-yevI!h$vE|a^U;?YZ0hPZArEfv$ z+i2>;IUwevn~O_7x_iLp0o@642PfDa4Qn5;IUweP#gXiT>4)iq*$*=hyE{0+?r2#1h=nVbg9Ypmn8A0T4nT1@&_bAj=oZ2( UKnVaPc8*0rkA7k1VxTPq0BA})H2?qr diff --git a/data/DB_Task.dat b/data/DB_Task.dat index 5c3030bf91b484951748e1222cf51ebdd8b77bcb..4bb22563f3dfb193e2d7ace2e38ee689d3345856 100644 GIT binary patch delta 239 zcmdn5wO?z)d`3YwjwQWp0wP`<91DT;g*N8R8yN3039xZoY-1K+gbJ@XJb5llp&&%f zfoSwl56&Bgd$o7;Gs`|llA)xRgpxMluzq9**ECg|wpe7%f z#j`nt^8pi77-r#uUbfAyJgXQdoA3xu;`=apDYxKcM*d<+h-M^JT-F?qt}qMmOb*}| W+q{^c17<$VLk*o(oA(Gbvj70D*F;eO delta 211 zcmdn5wO?z)d`3YIj)lE!0vFntz1TRG09hiNH!$915`YM=ILrtXzSzbrFnKOZp&*3G z;sudha7b>lJnID^h^UAcC)lI~r)My3W@LNH2vofYXdW|E^@HU?o4>RBFiu{;F0whC z^DfimXZEWJdmCNvK`DY(R&A%wy!T=6H04S%7D9 W0KeGg#rzzMla2WWH}4T>W&r>nR6Wc9 diff --git a/dbproxy/svc/l_dbbagchangedolllog.go b/dbproxy/svc/l_dbbagchangedolllog.go index d8c73d8..2443d15 100644 --- a/dbproxy/svc/l_dbbagchangedolllog.go +++ b/dbproxy/svc/l_dbbagchangedolllog.go @@ -38,14 +38,14 @@ func (svc *DbBagChangeDollLogSvc) InsertDbBagChangeDollLog(args *model.DbBagChan *ret = true return } -func (svc *DbBagChangeDollLogSvc) GetDbBagChangeDollLog(args *model.DbBagChangeDollLogArgs, dollLog []*model.BagChangeDollLog) (err error) { +func (svc *DbBagChangeDollLogSvc) GetDbBagChangeDollLog(args *model.DbBagChangeDollLogArgs, dollLog *[]*model.BagChangeDollLog) (err error) { clog := DbBagChangeDollLogCollection(args.Log.Platform) if clog == nil { logger.Logger.Error("GetDbBagChangeDollLog == nil") return nil } logger.Logger.Trace("DbBagChangeDollLogSvc.GetDbBagChangeDollLog") - err = clog.Find(bson.M{"_id": args.Log.Snid}).All(dollLog) + err = clog.Find(bson.M{"snid": args.Log.Snid}).All(dollLog) if err != nil { logger.Logger.Error("DbBagChangeDollLogSvc.GetDbBagChangeDollLog error:", err) return nil diff --git a/protocol/bag/bag.pb.go b/protocol/bag/bag.pb.go index 4a68a07..f3c9f12 100644 --- a/protocol/bag/bag.pb.go +++ b/protocol/bag/bag.pb.go @@ -991,11 +991,10 @@ type CSDollChange struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ItemId int32 `protobuf:"varint,1,opt,name=ItemId,proto3" json:"ItemId,omitempty"` - ItemNum int32 `protobuf:"varint,2,opt,name=ItemNum,proto3" json:"ItemNum,omitempty"` - UserName string `protobuf:"bytes,3,opt,name=UserName,proto3" json:"UserName,omitempty"` //姓名 - UserTel string `protobuf:"bytes,4,opt,name=UserTel,proto3" json:"UserTel,omitempty"` //电话 - Addr string `protobuf:"bytes,5,opt,name=Addr,proto3" json:"Addr,omitempty"` //地址 + Items []*PropInfo `protobuf:"bytes,1,rep,name=Items,proto3" json:"Items,omitempty"` + UserName string `protobuf:"bytes,2,opt,name=UserName,proto3" json:"UserName,omitempty"` //姓名 + UserTel string `protobuf:"bytes,3,opt,name=UserTel,proto3" json:"UserTel,omitempty"` //电话 + Addr string `protobuf:"bytes,4,opt,name=Addr,proto3" json:"Addr,omitempty"` //地址 } func (x *CSDollChange) Reset() { @@ -1030,18 +1029,11 @@ func (*CSDollChange) Descriptor() ([]byte, []int) { return file_bag_proto_rawDescGZIP(), []int{13} } -func (x *CSDollChange) GetItemId() int32 { +func (x *CSDollChange) GetItems() []*PropInfo { if x != nil { - return x.ItemId + return x.Items } - return 0 -} - -func (x *CSDollChange) GetItemNum() int32 { - if x != nil { - return x.ItemNum - } - return 0 + return nil } func (x *CSDollChange) GetUserName() string { @@ -1397,73 +1389,72 @@ var file_bag_proto_rawDesc = []byte{ 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x62, 0x61, 0x67, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x02, 0x54, 0x70, 0x22, 0x8a, 0x01, 0x0a, 0x0c, 0x43, 0x53, 0x44, 0x6f, 0x6c, 0x6c, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, - 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x55, 0x73, 0x65, 0x72, 0x54, 0x65, 0x6c, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x55, 0x73, 0x65, 0x72, 0x54, 0x65, 0x6c, 0x12, 0x12, - 0x0a, 0x04, 0x41, 0x64, 0x64, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x41, 0x64, - 0x64, 0x72, 0x22, 0x3b, 0x0a, 0x0c, 0x53, 0x43, 0x44, 0x6f, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x62, 0x61, 0x67, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, - 0x11, 0x0a, 0x0f, 0x43, 0x53, 0x44, 0x6f, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, - 0x6f, 0x67, 0x22, 0x3d, 0x0a, 0x0f, 0x53, 0x43, 0x44, 0x69, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x12, 0x2a, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x62, 0x61, 0x67, 0x2e, 0x44, 0x69, 0x6c, 0x6c, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, 0x6e, 0x66, - 0x6f, 0x22, 0xed, 0x01, 0x0a, 0x11, 0x44, 0x69, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, - 0x18, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x55, - 0x73, 0x65, 0x72, 0x54, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x55, 0x73, - 0x65, 0x72, 0x54, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x41, 0x64, 0x64, 0x72, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x54, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x54, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x4f, 0x70, 0x54, 0x73, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x4f, 0x70, 0x54, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, - 0x61, 0x72, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, - 0x6b, 0x2a, 0x99, 0x01, 0x0a, 0x0c, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, - 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, 0x65, 0x73, - 0x73, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x55, 0x73, 0x65, 0x55, - 0x70, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x49, 0x64, 0x45, 0x72, - 0x72, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x44, 0x62, 0x45, 0x72, - 0x72, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x61, 0x67, 0x46, - 0x75, 0x6c, 0x6c, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x6f, - 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x50, 0x52, - 0x43, 0x5f, 0x4e, 0x6f, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x10, 0x07, 0x2a, 0xd0, 0x02, - 0x0a, 0x09, 0x53, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x13, 0x0a, 0x0f, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x42, 0x41, 0x47, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, - 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x42, - 0x41, 0x47, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xe2, 0x13, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x42, 0x41, 0x47, 0x5f, 0x55, 0x53, 0x45, - 0x10, 0xe3, 0x13, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, - 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x42, 0x41, 0x47, 0x44, 0x41, 0x54, 0x41, 0x10, 0xe4, 0x13, 0x12, - 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x49, 0x54, 0x45, - 0x4d, 0x5f, 0x45, 0x58, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x10, 0xe5, - 0x13, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, - 0x42, 0x41, 0x47, 0x5f, 0x45, 0x4e, 0x44, 0x10, 0xf5, 0x13, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x10, 0xb8, 0x17, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x45, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x10, 0xb9, 0x17, 0x12, 0x19, - 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x44, 0x6f, 0x6c, 0x6c, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x10, 0xba, 0x17, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x44, 0x6f, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x10, 0xbb, 0x17, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, - 0x53, 0x5f, 0x44, 0x6f, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x10, - 0xbc, 0x17, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, - 0x44, 0x6f, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x10, 0xbd, 0x17, - 0x42, 0x23, 0x5a, 0x21, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, - 0x6c, 0x2f, 0x62, 0x61, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x05, 0x52, 0x02, 0x54, 0x70, 0x22, 0x7d, 0x0a, 0x0c, 0x43, 0x53, 0x44, 0x6f, 0x6c, 0x6c, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x62, 0x61, 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, + 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x55, 0x73, + 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x55, 0x73, 0x65, 0x72, 0x54, 0x65, + 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x55, 0x73, 0x65, 0x72, 0x54, 0x65, 0x6c, + 0x12, 0x12, 0x0a, 0x04, 0x41, 0x64, 0x64, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x41, 0x64, 0x64, 0x72, 0x22, 0x3b, 0x0a, 0x0c, 0x53, 0x43, 0x44, 0x6f, 0x6c, 0x6c, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x62, 0x61, 0x67, 0x2e, 0x4f, 0x70, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, + 0x65, 0x22, 0x11, 0x0a, 0x0f, 0x43, 0x53, 0x44, 0x6f, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x4c, 0x6f, 0x67, 0x22, 0x3d, 0x0a, 0x0f, 0x53, 0x43, 0x44, 0x69, 0x6c, 0x6c, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x12, 0x2a, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x62, 0x61, 0x67, 0x2e, 0x44, 0x69, 0x6c, 0x6c, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, + 0x6e, 0x66, 0x6f, 0x22, 0xed, 0x01, 0x0a, 0x11, 0x44, 0x69, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, + 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, + 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x55, 0x73, 0x65, 0x72, 0x54, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x55, 0x73, 0x65, 0x72, 0x54, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x41, 0x64, 0x64, 0x72, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x4f, 0x70, 0x54, 0x73, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4f, 0x70, 0x54, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x52, + 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d, + 0x61, 0x72, 0x6b, 0x2a, 0x99, 0x01, 0x0a, 0x0c, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, + 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x55, 0x73, + 0x65, 0x55, 0x70, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x49, 0x64, + 0x45, 0x72, 0x72, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x44, 0x62, + 0x45, 0x72, 0x72, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x61, + 0x67, 0x46, 0x75, 0x6c, 0x6c, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x50, 0x52, 0x43, 0x5f, + 0x4e, 0x6f, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x4f, + 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x6f, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x10, 0x07, 0x2a, + 0xd0, 0x02, 0x0a, 0x09, 0x53, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x13, 0x0a, + 0x0f, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x42, 0x41, 0x47, 0x5f, 0x5a, 0x45, 0x52, 0x4f, + 0x10, 0x00, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x41, 0x4c, 0x4c, + 0x5f, 0x42, 0x41, 0x47, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xe2, 0x13, 0x12, 0x17, 0x0a, 0x12, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x42, 0x41, 0x47, 0x5f, 0x55, + 0x53, 0x45, 0x10, 0xe3, 0x13, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x53, 0x43, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x42, 0x41, 0x47, 0x44, 0x41, 0x54, 0x41, 0x10, 0xe4, + 0x13, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x49, + 0x54, 0x45, 0x4d, 0x5f, 0x45, 0x58, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x52, 0x45, 0x53, + 0x10, 0xe5, 0x13, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x41, 0x4c, + 0x4c, 0x5f, 0x42, 0x41, 0x47, 0x5f, 0x45, 0x4e, 0x44, 0x10, 0xf5, 0x13, 0x12, 0x18, 0x0a, 0x13, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x45, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x10, 0xb8, 0x17, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x10, 0xb9, 0x17, + 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x44, 0x6f, + 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x10, 0xba, 0x17, 0x12, 0x19, 0x0a, 0x14, 0x50, + 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x44, 0x6f, 0x6c, 0x6c, 0x43, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x10, 0xbb, 0x17, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x43, 0x53, 0x5f, 0x44, 0x6f, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x6f, + 0x67, 0x10, 0xbc, 0x17, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, + 0x43, 0x5f, 0x44, 0x6f, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x10, + 0xbd, 0x17, 0x42, 0x23, 0x5a, 0x21, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x2f, 0x62, 0x61, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1515,13 +1506,14 @@ var file_bag_proto_depIdxs = []int32{ 9, // 9: bag.ExchangeInfo.CostItems:type_name -> bag.PropInfo 9, // 10: bag.ExchangeInfo.GainItems:type_name -> bag.PropInfo 12, // 11: bag.SCExchangeList.Infos:type_name -> bag.ExchangeInfo - 0, // 12: bag.SCDollChange.RetCode:type_name -> bag.OpResultCode - 19, // 13: bag.SCDillChangeLog.Info:type_name -> bag.DillChangeLogInfo - 14, // [14:14] is the sub-list for method output_type - 14, // [14:14] is the sub-list for method input_type - 14, // [14:14] is the sub-list for extension type_name - 14, // [14:14] is the sub-list for extension extendee - 0, // [0:14] is the sub-list for field type_name + 9, // 12: bag.CSDollChange.Items:type_name -> bag.PropInfo + 0, // 13: bag.SCDollChange.RetCode:type_name -> bag.OpResultCode + 19, // 14: bag.SCDillChangeLog.Info:type_name -> bag.DillChangeLogInfo + 15, // [15:15] is the sub-list for method output_type + 15, // [15:15] is the sub-list for method input_type + 15, // [15:15] is the sub-list for extension type_name + 15, // [15:15] is the sub-list for extension extendee + 0, // [0:15] is the sub-list for field type_name } func init() { file_bag_proto_init() } diff --git a/protocol/bag/bag.proto b/protocol/bag/bag.proto index 8b6b54e..65ed7db 100644 --- a/protocol/bag/bag.proto +++ b/protocol/bag/bag.proto @@ -127,11 +127,10 @@ message SCExchangeList{ //娃娃卡兑换 //PACKET_CS_DollChange message CSDollChange{ - int32 ItemId = 1; - int32 ItemNum = 2; - string UserName = 3;//姓名 - string UserTel = 4;//电话 - string Addr = 5;//地址 + repeated PropInfo Items = 1; + string UserName = 2;//姓名 + string UserTel = 3;//电话 + string Addr = 4;//地址 } //PACKET_SC_DollChange message SCDollChange{ diff --git a/protocol/webapi/webapi.pb.go b/protocol/webapi/webapi.pb.go index 2480f77..3ce9b3a 100644 --- a/protocol/webapi/webapi.pb.go +++ b/protocol/webapi/webapi.pb.go @@ -6094,6 +6094,7 @@ type ASCreateExchangeOrder struct { TelCharge int32 `protobuf:"varint,15,opt,name=TelCharge,proto3" json:"TelCharge,omitempty"` // 电话充值 VipLevel int32 `protobuf:"varint,16,opt,name=VipLevel,proto3" json:"VipLevel,omitempty"` //VIP等级 TelId int32 `protobuf:"varint,17,opt,name=TelId,proto3" json:"TelId,omitempty"` //运营商ID + DPrice int32 `protobuf:"varint,18,opt,name=DPrice,proto3" json:"DPrice,omitempty"` //消耗娃娃积分 } func (x *ASCreateExchangeOrder) Reset() { @@ -6247,6 +6248,13 @@ func (x *ASCreateExchangeOrder) GetTelId() int32 { return 0 } +func (x *ASCreateExchangeOrder) GetDPrice() int32 { + if x != nil { + return x.DPrice + } + return 0 +} + type SACreateExchangeOrder struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -6595,6 +6603,7 @@ type ASUpExchangeStatus struct { NeedNum int32 `protobuf:"varint,6,opt,name=NeedNum,proto3" json:"NeedNum,omitempty"` //消耗V卡 JPrice int32 `protobuf:"varint,7,opt,name=JPrice,proto3" json:"JPrice,omitempty"` //消耗的金券数量 Cash int32 `protobuf:"varint,8,opt,name=Cash,proto3" json:"Cash,omitempty"` //消耗的现金数量 + DPrice int32 `protobuf:"varint,9,opt,name=DPrice,proto3" json:"DPrice,omitempty"` //消耗的娃娃积分 } func (x *ASUpExchangeStatus) Reset() { @@ -6685,6 +6694,13 @@ func (x *ASUpExchangeStatus) GetCash() int32 { return 0 } +func (x *ASUpExchangeStatus) GetDPrice() int32 { + if x != nil { + return x.DPrice + } + return 0 +} + // 返回 type SAUpExchangeStatus struct { state protoimpl.MessageState @@ -10027,7 +10043,7 @@ var file_webapi_proto_rawDesc = []byte{ 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x2f, 0x0a, 0x09, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x43, 0x50, 0x4f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x43, 0x50, 0x4f, 0x52, 0x09, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x43, 0x50, 0x4f, 0x22, 0xcb, + 0x43, 0x50, 0x4f, 0x52, 0x09, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x43, 0x50, 0x4f, 0x22, 0xe3, 0x03, 0x0a, 0x15, 0x41, 0x53, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, @@ -10056,66 +10072,69 @@ var file_webapi_proto_rawDesc = []byte{ 0x09, 0x54, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x56, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x56, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x65, 0x6c, 0x49, 0x64, 0x18, - 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x54, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x6b, 0x0a, 0x15, - 0x53, 0x41, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, - 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x2f, 0x0a, 0x09, 0x52, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x43, 0x50, 0x4f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, - 0x62, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x43, 0x50, 0x4f, 0x52, 0x09, - 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x43, 0x50, 0x4f, 0x22, 0x58, 0x0a, 0x12, 0x41, 0x53, 0x47, - 0x65, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, - 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, - 0x6e, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, - 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, - 0x61, 0x67, 0x65, 0x22, 0xaf, 0x02, 0x0a, 0x11, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x50, - 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, - 0x50, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x45, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, - 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x45, - 0x58, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0c, 0x45, 0x58, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x54, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x54, 0x65, 0x6c, 0x49, 0x64, 0x22, 0xdc, 0x01, 0x0a, 0x12, 0x53, 0x41, 0x47, 0x65, 0x74, 0x45, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x03, - 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, - 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, - 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x75, 0x72, 0x50, 0x61, 0x67, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x75, 0x72, 0x50, 0x61, 0x67, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x50, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x09, 0x50, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1c, 0x0a, - 0x09, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x09, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x37, 0x0a, 0x09, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x4c, 0x69, 0x73, 0x74, 0x22, 0xd0, 0x01, 0x0a, 0x12, 0x41, 0x53, 0x55, 0x70, 0x45, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, - 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, - 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4e, 0x65, 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x07, 0x4e, 0x65, 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x4a, - 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4a, 0x50, 0x72, - 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x61, 0x73, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x04, 0x43, 0x61, 0x73, 0x68, 0x22, 0x49, 0x0a, 0x12, 0x53, 0x41, 0x55, 0x70, 0x45, + 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x54, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, + 0x44, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x44, 0x50, + 0x72, 0x69, 0x63, 0x65, 0x22, 0x6b, 0x0a, 0x15, 0x53, 0x41, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, + 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, + 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, + 0x12, 0x2f, 0x0a, 0x09, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x43, 0x50, 0x4f, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x43, 0x50, 0x4f, 0x52, 0x09, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x43, 0x50, + 0x4f, 0x22, 0x58, 0x0a, 0x12, 0x41, 0x53, 0x47, 0x65, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x22, 0xaf, 0x02, 0x0a, 0x11, + 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, + 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x52, + 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d, + 0x61, 0x72, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x50, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x75, 0x6d, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x45, 0x58, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x45, 0x58, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x65, 0x6c, 0x49, 0x64, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x54, 0x65, 0x6c, 0x49, 0x64, 0x22, 0xdc, 0x01, + 0x0a, 0x12, 0x53, 0x41, 0x47, 0x65, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, + 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x18, 0x0a, + 0x07, 0x43, 0x75, 0x72, 0x50, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x43, 0x75, 0x72, 0x50, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x61, 0x67, 0x65, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x50, 0x61, 0x67, 0x65, + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x74, + 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x74, 0x61, 0x6c, 0x12, 0x37, 0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, + 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xe8, 0x01, 0x0a, + 0x12, 0x41, 0x53, 0x55, 0x70, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x47, + 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x47, 0x6f, + 0x6f, 0x64, 0x73, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4e, 0x65, 0x65, + 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4e, 0x65, 0x65, 0x64, + 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x4a, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x4a, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x43, + 0x61, 0x73, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x61, 0x73, 0x68, 0x12, + 0x16, 0x0a, 0x06, 0x44, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x44, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x49, 0x0a, 0x12, 0x53, 0x41, 0x55, 0x70, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, diff --git a/protocol/webapi/webapi.proto b/protocol/webapi/webapi.proto index 40464af..89b44e2 100644 --- a/protocol/webapi/webapi.proto +++ b/protocol/webapi/webapi.proto @@ -692,6 +692,7 @@ message ASCreateExchangeOrder { int32 TelCharge = 15; // 电话充值 int32 VipLevel = 16; //VIP等级 int32 TelId = 17; //运营商ID + int32 DPrice = 18; //消耗娃娃积分 } message SACreateExchangeOrder { @@ -737,6 +738,7 @@ message ASUpExchangeStatus { int32 NeedNum = 6; //消耗V卡 int32 JPrice = 7;//消耗的金券数量 int32 Cash = 8;//消耗的现金数量 + int32 DPrice = 9;//消耗的娃娃积分 } // 返回 diff --git a/worldsrv/action_bag.go b/worldsrv/action_bag.go index e8de6e4..431b941 100644 --- a/worldsrv/action_bag.go +++ b/worldsrv/action_bag.go @@ -516,33 +516,45 @@ func CSDollChange(s *netlib.Session, packetid int, data interface{}, sid int64) if p == nil { return nil } - bagInfo, _, isF := BagMgrSingleton.AddItemsV2(&model.AddItemParam{ - P: p.PlayerData, - Change: []*model.Item{ - { - ItemId: msg.GetItemId(), - ItemNum: -1, - }, - }, - GainWay: common.GainWayItemBagChangeDoll, - Operator: "system", - Remark: "背包内使用兑换娃娃卡", - NoLog: false, - }) - logger.Logger.Trace("背包内使用兑换娃娃卡 bagInfo = ", bagInfo) pack := &bag.SCDollChange{} - pack.RetCode = bag.OpResultCode_OPRC_UseUp - if isF { - pack.RetCode = bag.OpResultCode_OPRC_Sucess - task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} { - dollLog := model.NewDbBagChangeDoll(p.Platform, p.SnId, msg.ItemId, msg.ItemNum, 0, "", msg.Addr, msg.UserName, msg.UserTel) - return model.InsertDbBagChangeDollLog(dollLog) - }), task.CompleteNotifyWrapper(func(data interface{}, t task.Task) { - if data != nil { - logger.Logger.Errorf("CSDollChange err: %v", data) - } - }), "CSDollChange").Start() + for _, item := range msg.Items { + if item.ItemId == 0 { + continue + } + info := srvdata.GameItemMgr.Get(p.Platform, item.ItemId) + if info == nil { + continue + } + if info.Type != common.ItemTypeDoll { + continue + } + bagInfo, rest, isF := BagMgrSingleton.AddItemsV2(&model.AddItemParam{ + P: p.PlayerData, + Change: []*model.Item{ + { + ItemId: item.GetItemId(), + ItemNum: 1, + }, + }, + GainWay: common.GainWayItemBagChangeDoll, + Operator: "system", + Remark: "背包内使用兑换娃娃卡", + NoLog: false, + }) + logger.Logger.Trace("背包内使用兑换娃娃卡 bagInfo = ", bagInfo) + pack.RetCode = rest + if isF { + task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} { + dollLog := model.NewDbBagChangeDoll(p.Platform, p.SnId, item.ItemId, 1, 0, "", msg.Addr, msg.UserName, msg.UserTel) + return model.InsertDbBagChangeDollLog(dollLog) + }), task.CompleteNotifyWrapper(func(data interface{}, t task.Task) { + if data != nil { + logger.Logger.Errorf("CSDollChange err: %v", data) + } + }), "CSDollChange").Start() + + } } p.SendToClient(int(bag.SPacketID_PACKET_SC_DollChange), pack) return nil @@ -554,25 +566,29 @@ func CSDollChangeLog(s *netlib.Session, packetid int, data interface{}, sid int6 if p == nil { return nil } - pack := &bag.SCDillChangeLog{} task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} { return model.GetDbBagChangeDollLog(p.Platform, p.SnId) }), task.CompleteNotifyWrapper(func(data interface{}, t task.Task) { - for _, log := range data.([]*model.BagChangeDollLog) { - info := &bag.DillChangeLogInfo{} - info.ItemId = log.ItemId - info.ItemNum = log.ItemNum - info.State = log.State - info.UserName = log.UserName - info.UserTel = log.UserTel - info.Addr = log.Addr - info.CreateTs = log.CreateTs.String() - info.OpTs = log.OpTs.String() - info.Remark = log.Remark - pack.Info = append(pack.Info, info) + pack := &bag.SCDillChangeLog{} + if data != nil { + for _, log := range data.([]*model.BagChangeDollLog) { + info := &bag.DillChangeLogInfo{} + info.ItemId = log.ItemId + info.ItemNum = log.ItemNum + info.State = log.State + info.UserName = log.UserName + info.UserTel = log.UserTel + info.Addr = log.Addr + info.CreateTs = log.CreateTs.String() + info.OpTs = log.OpTs.String() + info.Remark = log.Remark + pack.Info = append(pack.Info, info) + } } + p.SendToClient(int(bag.SPacketID_PACKET_SC_DollChangeLog), pack) + }), "CSDollChange").Start() - p.SendToClient(int(bag.SPacketID_PACKET_SC_DollChangeLog), pack) + return nil } diff --git a/worldsrv/shopmgr.go b/worldsrv/shopmgr.go index f3b4cf2..64d4dee 100644 --- a/worldsrv/shopmgr.go +++ b/worldsrv/shopmgr.go @@ -914,6 +914,7 @@ func (this *ShopMgr) Exchange(p *Player, goodsId int32, username, mobile, commen TelCharge: cdata.TelCharge, VipLevel: p.VIP, TelId: telId, + DPrice: info.DPrice * num, } buff, err := webapi.API_CreateExchange(common.GetAppId(), pack) if err != nil { diff --git a/worldsrv/trascate_webapi.go b/worldsrv/trascate_webapi.go index bb2e4e6..d91995d 100644 --- a/worldsrv/trascate_webapi.go +++ b/worldsrv/trascate_webapi.go @@ -3375,6 +3375,7 @@ func init() { } addvcoin := msg.NeedNum jPrice := msg.JPrice + dPrice := msg.DPrice var items []*model.Item //V卡 if addvcoin > 0 { @@ -3384,6 +3385,10 @@ func init() { if jPrice > 0 { items = append(items, &model.Item{ItemId: common.ItemIDJCard, ItemNum: int64(jPrice)}) } + //娃娃积分 + if dPrice > 0 { + items = append(items, &model.Item{ItemId: common.ItemDollCard, ItemNum: int64(dPrice)}) + } remark := fmt.Sprintf("兑换撤单 %v-%v", msg.GoodsId, msg.Name) if player != nil { // 在线 diff --git a/xlsx/DB_GameItem.xlsx b/xlsx/DB_GameItem.xlsx index 1e779cfe0e5f1a48c382a5cc4bc8ee56ba01e428..3f6e2002ab73ac790f1052d429fe7df74a877c52 100644 GIT binary patch delta 15135 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 sZ&zY|upq49?I{WcjD9rQzANUHq{r~^~ delta 15119 zcmb_@1yodhyYCRvAtBw}(%sF_jEbZTNK2O>IEbVQ0-FXAgaJY6E~S(j0Rd@HKuTIb z8txwSd*An*?>p<e>NTQ)`hcL~@t+21T-)Fft&R0~&9`za!gi(C3(4KYsAW5uK zJ*B^`cAvcY{+Bn@?_-J1s0ubDr6`|!WG|oX$X}1at&-n$SIMl7523`t4rB>rHIZ4( z+xZd?T}Cw;89isk}^_{$o;+r?eMQ`0dU~pD^ zOLDcT9n_(zv27MHt?Nsx;NCYza?x%W-Z@yRkaNzxE z(frCL%d=GHR6SBgx>(qhVDIrDQ3mtMy_oh1RVr9A7{px8Nv95v2MQbID^DTubU-e) z3cg`Qh(VtL1VU1^hE0RXeYp62@o3kPQ4X6PeJ?=UgdKWR)c#_!0i*L6cv+HAHACtQK?M&RY z;o^FxdcZt=Pt@0nn@A0Or4pU-cB@Cl^ZnfLVU>gQpmm-K*3HsUUgrO-9;cXD9cPjL3e>n2gsvMXHR~ z4+;2z4BA2YDEAp|%8j!|`Wd=^@hQz?iURFnHHVMn$mZ;ik&RVE+TZoGFI` zKk3{u=LW_e7*hyw>!jh)roZRyeeUbl&3MC#c3)9J$~Giy7>~weyy>pif7cE;!PjVp z8$OjLPIxod9mZ}Gj@<8eqC0hYSLsi4G#OO3auGayy@avR%7Rqyyx?$8o4xxbLi4-K zkiz=_sog1_dwHIw;Q)0M?m_7%A>NbX!D4>3m*HyAC6gGvpxvc*Sot14KuK15^2PIR8<~36zU(|EJ^xx%ZdnO#e3k!- zzng;aN#^|Uhg;vAJ)1K&8&Wyzvc_S>vLBvktND zXCYVS1yD0!LCG?R#Mj^PUL`6BvMGp@pkv%H_jqzkmwvEF3H7;VACfvsVpLKx=0#h8 zfCYEiM}uMN|Aetbhv~C#{&^s=P(SjMA$1R0yzukhx{FTW+|O_>F4WPp5RG{OMad=Y z@J+wCtcc~8x^ccED~@uOhf?d#WHEgpN)YVPx@(WV3{Ao#OE2e@UpeRYWI38h>N9;D zUV`zs=3FUWN_YPHoB3#>vD0@B3<>7h?1{CjT4XwbT6b^bIIi;(InK2?WV6R~Gw7&$ zW0Un{^Qto6AsM`cfr`30=~b{-`TLNB(KvO><|25ds(2@piN0%+;t+INRMNFv#p>5M^l(8c;1Q{&3uGI^tl*m3o2Z#!EC)m!45egD~3?m8yj zW@cVH_g!!7LA`uk%>gXX;+=l4)lH(9CV>sJO3#!8Lr7NT@=;IS{?CW+7&d&HSVQs! zoAx%f1lY1z#kA5rcdVaxTS9T#@d@z1S?S;kN;fbo_n62+mU`3YcCF+n+9qiHHxP8( z(z<<;Sy`(;;*``pEt=|ly{%LGUrEaX)ny7VZp*q74C-)RWb1P854Me+eWTwDf}=WKbpCzz?mz*U0bR=Uk%X)a=jI zUVSUTi9y@4>0{gU4Pdfw?I0EY_&$Q2_T#1`?^OQu%@4U|z2ZaJFse@(m`+1ehk3Ot zGXoD9Q`$QGa6MuOW|NW9KHbr0w2{1*^W`H-RWx3e zDL++}I$AeZf-GW`^lFKPpIh-N4-xaZrYICnJ77YS+%(y1d|Op>(x=ztHq3@M-*ltP z`1b54{)jooj<+X|#uNWidT!YwYk>$S5yw7^A-0b70?41V^!RHa9szEIe86p-#noVdFC*PjH ze`v$UYd;xt-E+5otQX`Vl#UevPm-GFi&&l`+jmiSU`@wz%FaWIA=;*VmZKiD*NBmY z%cq83fY`>HxiPGgmQA3$^<=uF+E(C_IgiVI@8&BMuAIfmr({PFsv}aDLkZx{s^&&J)BnyusTtbRJ}KV9Gr>L^W*e(I@Hrg@ht z5u;ULLVz=T(-bjF4ESwWh4T$?(FA@f`Ml`>`@}oLdnNg)@Of+`&8H~=w<=##BtQ|U zQQbGBsCyv5_>PI>!=^_JLxk;^vZM&(leyfxTo__ltYXW06dy!#b%`0Ns_*YQOj*Z4 z`o2Vi!wQY&%uLhR!l5c{A-w$^((X1RD)nVgAQHdvb3CFv4e6G$S$x+Fb$L1l6@Jvh z?R=cL58JB_d#2AxFq(MoglC>+skza(8kP(qe}%)}hS1Oq?2#D9y>ED`33jrB=i$DU zEX8!k#PxD6hDAI75O#(mvC!-787G==-HTVfhyp&-6Z6K|tGjd!NfvGvfAR&w|8hNBF+C)Ao0zUXyAztiSfQSp-$Z@x*j+~gC!&Pf^?SIws6!N zrciTPin-gkD{Y?}@U%)v=f{PmENNQI5}e=R8IDLv+#PTFG$g4Ta8q=Bqq2HnNI@5( z6{Pi$A#M@bI8XELUX?TPp!h0f_!Z~=T*){@P2sH-lLzh6-VNq@AHAfjzQKj#rd3Qa z+l>{wb2Z=BTKkOIL&@T5PqwovmPYUUy%n62PKoaj(V3Es)0w&1Gk2Sg&iN(mKmdcm zS%F6&uTcAE zg#Sy=dujBgjj?vCZK3`aQ?$;R$R&ehBaG&NGd%$2+UU0lxtk>n){>%>E8w7+)k@`QBw{FaZ z&5XpuwFM)w^UH#@|RZ{spJPo(hPzm{FQ#Nd+f zD@bp}M2$vE$nXik$yhg+>L=SS3nqK!CUw#jt3YHR$J54xFu+mnt z39*o+P>}1z#V9Fj@H@f=XIdb)nwqSi}*)mGh0Z>ToT&LrTbw{%LR=H&9o z<*-fB!(MFsMuU)bmMp=Dvdg)P9`)}@%Ub>r9;C0$l>VvZGS^LufQ*>ntm=j51z#OJ z&H#Dr)MX$oi6Rb|`B<@Mqulf#YOy|Gj>=PD&MA5sezJYf9E+rDThggNm&&=UD_lq- z-0QpdiE-1s5M8$r2i9+_K7Gx9KiJ<_$ei&=%-4>afqp5H&~@QVBzB7-yJDxQaW}&FIVZ%2*N4DddyY!ECWi zsB^VlRD@55pkQp-{JX|ThFBzw-OcAmDKzfm(4h87)@2+IySTgry6(wC^3(6?2Uzq` zq1Mx;@GS-0bYC_s(d!*{ZJdrjiYZdQN!_ETS{M*TSYNI%pDBfoz!heEgt@Nq7Jm5= zXOq*#JAa4Qb{z$3*MsFeT)I8|Gk*(}G${Hnk)U)0?Fk1k1dX)jrn>hr811ce<(vVZ zvlLaoi&dqHrMG0P+L8K_{b<2Nsw+|_K3d;lX|?py?aMBk7(k^?e`~cqotvxiL3HH1 zkKgMs)eP9?bhc;`Eo$QX%-sBC_D_u9z2Y$=C0NIC3+TZ%624JvNHG9*{KmCSCDRnL0O#-w0}b zRL_ier^C`~i%Rj1Px!zu$ryy1%cnE=v5UpA+5p*5NL@IQOI-~(3(zPyA5RMDo(O=) zujC!9FopoT9UhEP@6D^<^;}1+o@|@Ov_mE35~3fj>sV4QXH^0Siol@D?S&+2FW>Zy z*8<0iW;m5RN#m%lwM|`>BQFg z0OC9oacqbMKRubokNhM&nZV`QlsFlG$2PlM5f4rc9@o+@Lg^-*T$|Oqu6*3De5o zW^M2jGDN?}3R&YvVA%w9Cq-NT)H&_D0MDSagUl)$n11o$nflk+V)vjHFc?=S*0D+2kckxn&^xsWMSt zV}|bIZA|(~xv1T}z3xC~jKg)kz2hJY=HE!3V5gc&_roSSYRO|{)SEofPL+@(x9|O3 ziZVou{=sAunU4SG^0kx(_;9~hBe_(D?YVmuTEbH^a{2%0kPu z;!sEqo}Z8;Q@HMH&*5r{UJQJdMJ+!|xwy*E>WCXzayD>xeoXwt#DPSVM_QlM&S3@j z2+{e2tH-^`)y&S90`;Gh*mxHamDQh$K$}22bqgS$xVREdph$-bTJe6ER?zW|J4^PH z0p}|Yz4@MBS+G4%j;1^!hmGQEjU(A4HaJ+$_yPmpD+{`QE4Lf8L+b~45{x*yZ(E`D?Mu1wU8 z^!^(}m?me3zVh>R3w4vkb`AgNUG~V&((}T2bMqk&)Hjbi!IfDrpq+_y*(MjAZ89%JDIrO$zzFkoX(RTqbV_yR3HW2WQG%9k0g!=)%p1D(mPE zy&(BmbSdotiQLIF$g_S!)|zVZ{ExW(VEzI{b8~+EymArgBa=7L>JB$CW{w#l%e_L1 zoqoG=O0Ad(qT}bzR@3M?ErEDWI78gzkAqS4Fj%=5JFTtc7wYf1XWx+3mN~|+VS2YR z%B%Qfz<|@1mUy7T$KZ36hkWjotW~d2=G)V<#PQI(g`L!l|Yyg0QVBC#w7s z&sksf6TjTj-J~UMa!0d-!H^3c<}UuBe8vI2=73{I{F(cn`-Kz7T41P(sAU6KL(-!j zjuxB5$5-?h?S0f&61(_?I}!Rn(Ls!MzoZR@sYSnh-+LGm=IJ7B>zS8rr^QGj4uz7x% zefXzvws#>XJ9BHx1B!~lyB~a>oZTBf>tlL38?uvCdhaCsJc(+`ckpNpaklmF;Q9II zt@9bB^L?clMAr**EZD>UDjMHXVUaH}A38g?kv@N21&iTv0i0W%`irQBFBK5Gt?Wy^ zm#T>AWJC(X*ES((Yz)iFDXe!lFih_*b8Y_xnJL1DDlek^=k!9@PpfNh~4FjG3{@)42#U2iqlI{{Pj`C#Mf$Zu#Ig47>8H8M z5!@e4VAZJ?J5m>Yh~u^Q#}^OJs4o<~1wM%8*2xl}cW!&DR6QS}|wn+xdEWbg{d3v40(G`uY6W#krDtoV_aTq(!O9MQsOoEA%g; z2#j03{e2r2q55-vZl;WcK*2K@asMRbVAw(_&+y{uOXi2vYu5*QWeCnlnz8uz>SZ&&Iry^UR1=+xM z`lf_NNTAc|m3gm06D-ULW%|*wiFA&8I&*xVWWGcK70eWf@LR`_&E7iVVXqAhqhT1oMtTby`qKkN#LDb01#brW-wZnqn~_mWIn{gc_~sJu4)|u#Nj!X`0hXFDZSP!`*ucR( zC-|kMfE?+|C!y@DP{&v0XOI*Lb#zQDm&gymmH1LX87_(>Z%=yS*4vX5rz3cnm;By{ zmZ>U5KVWf2z3AE35Io?Rg#jU4{~#H~*^@N+?i361;t`RNxuH(dP&u@}p9AiSXOS&a zIGHqBdXERj$EsH}UXZ1?nl_^PbTbl~1Z8fuI;xE^8KW{b$5KeDohBw#Pgc2NKZlA$$8awfLXpJ3jhxPT}TykjX2=ehZ(6Ghy{#YO78 zEphZYN#xl>p4VTtB!!o-Hq&JI6ze;0^a2k!IT0H*)ddVlqy@X1#1&qBV*km|wwX6~ zg>(u=el3D8g{`*Qh7JYg8*d%%kyb?Ezw`^CjB_KN%amJAx*}YLtl_8cO@iXV_-c8% zVX|B`gRd~6`U;wUx~EmUZm~gKA6*t7p!kpCO{A{OId2(QX?mkUi&#qRe2OS5s!kcg zr3KS;5afg|Y_1}~!OvBqWb84XMZD9@)pKSnJC94-hMeN;Cwx764iyx?!s{0iUO1ZU zL0_;i*%WP(ep7faBU3F>>PH5DqV>zsB$c0%x)#YSNF;Q)%YYs|OFf01`LC{g#?V0` zBPhP1^P%D=YYu4p=+)bxXrUVt3BuyXlHd!y+(!`PPze?t&!*eT1`U7tV`77}i+ zxKe^`GE6h6@MBR%qh#$7@PwPeNNwEB%_+YG8b34w=E#Fg6x|2Au|;>hY!dWUN!eM3 z%m!-M=2P^W27MVWFap(d6MQ)IgXCi8&7TCxz-?8*uZ^)VxHsCxS0Tx|?^gS0=E|Oc6=7x5(1phK2uZ`TUmtMY+IW(C}Y!BrO=e;(S z1n@Ef=1!mEO;)k$`M*jU|CnS0COMd8aRSN`i@0GfCqG?zTeg^UsP(g z8NRv!ivjccYOOoa7ZYlx+d%=oAXpGt<*Bor;L zhmSfS$jzjM<`ZuEGee(&M#Z6tVKZ%TXU5PA2nG=|x)U_}BTsQ?^X$?YTIVjE0gZRq zKLJn2H)L^^A*wy=;QYqKRIC2^Y*C-~W@WW$&xj9||J*?a)Ri}628YMbk%bYNdoa-e z!U_Id;_umye6k37^Bm}B<3cnpq>?cpbtXsO@%%#$eq4&6IaD4^oLx(363)59G6?Z- zh0!cfqncCxDTCc#ukmqLG!Ihd-_XPajYdDIu{L^$E|j6P!Dj{C`FI{dc4;V3T@tcy zoI$r<{m6um7iL&+!^Bxo7zulX0qtwRP)a37K6-zd>fEgGGG#K`05tt?s9NAcPpxvj zOsnGMb=)g>v~Tk|KJC?!*fGd z=jjF4_K~ZInvpD+KGc}UxR_PDXtE$nef9N-DlB>kt@ZgMO`#?v$|Pe5{mb;Vo&Phh zyaZcv4$eTs(Y+5{V7ddc>aZyT*EiYC>1(SIB4|$S!OBVLC6mk`Z+kq|ufA`~A@(5DxF z9Hc+nrI#fz6N%Pl6XYtms3e)_pxcx9hfIRpm`e@f@|h?h4sZmtx2C~ufcVckkn27> zG(iEFaPbKUhtG_Huc;Pe^XiBE1L-j)^YBm;Xqw!4;OxR3?e>vv(YN(L5to#q&EHGS z+}Zq##%JG!bkWvzy~8D-4DIH><#*d0n)FfOJOb^LyC@kA82kUo4{n*?!7&~;frW>pb_jA_q80fXEki1up@MZBN|q<||WR5!WcpO+a!qlkac3zYH8 zO!SDC|98rujS1=s@vdL$&uuauGf;U|{mcfh>2e#yH_15urwkzem07Fn>XmT?o%Rt= zCZWF5SO39h{@z~Ves3@F9THMeo0?W~S7L@l!&H7=F0M#-f_9(jzbCT{NBEQ#X|KL% zt11+N|2kB6UI{6{w@|wu^uniDhxaxCCsYEP_a?}D9>!#ICj#S1U(?yxq#$aef0z+( z$)6UnLcd&tR-v^U;Q4anRnqK1-Pn-nqI&CFP!G{IH@E87UnGh269$r5IT6Ez+JP?< z2SBv`4?eT8bLaEFWa*gi>rRtmuZycIo?)2}C}+cr%n_nUzvk>J?h&n^E?)`0nnB8M zo)ch#plXvo;z>5UqE^=6)4i=}<)bk)0sBMjqBrbsy8?cQCL+K)Uhwvyb1mp{g&TAG z4FUatV6= zzwe}~y+k*?qs#msKpiu-KP#~p5d3Ek6LxjJKcCf-2=33pKH!TSVfIU+pcf$M|3j=l z3%YvIjllXt8^M3{@MP{EWMCxN=Rf}&MmvqO=r!%X(8x4VSi-XN0GU+@ae%s-N>VC) zLjD5X`rX3g-?brlWfiFf#IG2cUEXdXO%~_ov7q+1+6G-Wo1;veU6m|fRp(zCdIFCh zkGKiiZ+{B`McEqqCTZ{8#T#Zt1%-Er-NT(T3-d*%Jc&>@88(}Hs}hLAiboUtI%%)w zm1e<(pHtM%0(8#99if^+cQ&!w9MVw4M%qX_>9uz;mrH;9t&dwBwKyzkzkTM@wVtUW z(Xb9lovBIF50dwkHb?9=!Q1FJcYo-V9Z4jYBe6p5Dg+&IaHfoo*ONK)jH%(&l7Gc{ zRuV2;3p(_?Y*0k6j^}mpFT}~^$qAuNKiw#5O9g|xOEB;dOBr&%3F=$}E*1AKmkM|$ zx=5fI&7lfV?YK>4bET;)0`3hl7Dtwh{E1}o?~z1nFBiJdhRc2Wp8aX5W4If!vhdin zjIY#>NnY*o6f%Zd^m24uj=oh=u0SLw6>;0~7u8P=y*~;TuZxmg(#Lp2&t>DlR#5u1 z{AQ*u$|QX-qNuY}N9BI32Nb#&_f$}iXlJU{v@H%Bm!3rcUwgID&EuI{A)93Qq*&^4;=4(^vA7k`K)&{#-5^2c$i`{;pz5w4Vj07QBgYeQRFCckq9fSa7IQz zTU>)DGQIzHT;#-yzCrd69F`^oj~lz5l~=K+aoQ3z;SFmDkI{S?3!}}4 zpb~#yWDEs1H5jj0GEPEL09Gw3B6tCioCg;w6j>5s2NcBVF`v@{2^#c3nJT>`Rz@D& zpIc|9m%-m3yGmUTUe5 za41DeRZwmUf2l1zHV#3tT(L>HL5iBsOoRaO8Vq14S}vRH({PH`(pW?$*%Dmxb2RVz z&2jF2&e6zpxvCp&I-GSXC?={} z>p!FXcvp3qx2qIoMUT5HzP^s<5R=w!9TCFTW@$$?9Gn$v0&!S<^Lq-vQx6@rpW;fh zS|h5eVns=O#`WprO8Za?BfFJPA4luy0V07evf-ISBWoINepudlT{0Vxe3p0xAbv`9~8d3^ymz4&ZRq$wd1?$W3hl&RJFu+KW1|I}Sb-DBDSUyl8WsV7z0O0D3z=?(eW>f_5RaFCFlYRbQCQKz6 zd!e^)Y3r8OAePxH>`Kt__FW3tuWJ@*y{xE7!gAAGzp#lqO<|u`xJv~s33IEQsq0N` z_%<6K+Olc{1GHrDeB3L=^l7%yM0ez?_Ag{toq|F@)i*bSvA3lKN0X2HMbj!S2 z9hUtzE1AAL=cgZZWHGX!>V%mezg|-VdR2^pMmaj5RZ8X0|LV9wnXF`j_hbQUbr!H^ zV%Wp@-);abs#L_U@b})2922A@*&|figJ;0Cq(On2{mG&(;QOHfVQ$3XEyrBwxkeR%bIG z_a!fQYEvpwTy{kanA7GKnENq^Q{E|m83x3k+a((^iU?W-Du~2h6fzL|$UGJij(WkU z;Ghlc$a4V03L-dIKC&3{2|$958D3tp8TwQ@Kw3@f+JC(Q6i=|J#K0YOX0WR~6k$hu z+*uHRx6`R-!lYF(n$_j2094C_krxcpBpTqxfO1^jg1DfQ?odpyDOE800~*S|K-1s8 znDci)W|99$X^exEOuAT`6b6vfSUy8|4j@1w4l(v=tG9drA0<_QSAiBF(6~wxtK^{r zO7s~ksmC`FEa0<>4%4lrOZi5_l9U$B?){p-^yE$#u%UqjwskBoo2(1u$P(aZqk)wj z9>NBAD{3Ixf`3sMK$;}a-89ppCe+!@$HmV}(;7M_g?$_)li{P3k!B%+_^tAMwZh42 zX*JX~WvXk~RUWZ6OX{R3{RiwF!@5Ef0gowKC!ao+akbct^S-(?eb+HV_}hcL^kPv| zsT>0HzUE&7+vkh<8ticp`L7skpN$?{c*dPix&N{#LHss(F3{A71{?29VOP1nfcr~^ zH*g)>pv7?9pRfIiZ-)q}kF$$-n3*_H)i{w*TNe5u>{_UqZJ>R@ZW3rrj>5-jJEE2( z=ILmv8ny%5n#_Qdw(=jUPyof+d>HM(7j08Q5MX*B6!tjusDWFuLfGwJavcGD9aiF2 z(7&ohb45%<7J@VF&VN@b1>%#=|GzyvOzeln zS*15gk}U21=^@?k9^%;2)y0&-0Rv?d0@BpSw=Ri_&W!p0PM_$3HBBktgA6OtUuBgW zasWFrCR8H)KI0Q)C~}ash44naCAz$0bK%Fpdp)izWThkuVnBr|9~xaiyBs+vPdb=; z0>FE9QQ$&?8X;@=NSOJ&1x4!dzVOBDcgJD;7Sf9!6J6J{FT8(NX0_5Jb-ar+5=z)K z&F#zE-V<0S$6uTrhV-&rF#^rLcivS8Z&5@<72FgSQ}lV{rbd8tro%~&;SP&9b<+>bcu7*^$!>6_+NC;}k6kJ@u zTK@OdAuvrBmIs#tGtSmNd<2*3v-Yp3eTKmU%9VVklXTpn7{gyoJGpW z+Bx!S;?$fP_sG%4T>mii(+`YcDXBsR6S~$;$gKeB$LIgPOHA( z4*Bhu=7Q{Jkdu{WYARr+{|+&Va&=!H~V zXNXGt)HbluPoK(R3l=sSQqA&{Rj;@JM`fgWJ%bee?fQ{)oQ{NHYnN zFL!_aBFC*B+s!K~XK@5h-f>l3a4K?=hpa~9=LlEq>ynJTT9;^Z*==e03dz}%Q8BWD zL?(+fb`p3GS)a;b5csPJ*p8G{vu19$5WGjhPmJ!u>Q<18{ZtBt^)y)uyGb}_p>PUu zYI(Ig3DM|nuuukS|3t+!-4>sb zhvd19$Dr~KV;A^l1XZ=DE8U2|)L8}HubauF;bu+0gxbduA*gV#z8TNu5K4xJ4&O9k zPrNpM-SF1|-v zvM^CgS8Y<%6i}5Vix7t>wN8O3;i}OH)TFY*Xk)w?eK$(d(zdofE-ck~H8}~MLSLzl z(u_$HOq}x(#uc}%U0NZvavZ>->lAoy18XEEKn*o~xLUREq&8-@vA*rc=^$eprAJ!9 zawYAP6%cF0BROc{)=e%#59_>_AYY}!?(k+Qo!IGWm3)|W#cG41JC4KZ#yWTawpu!| z8hI5%g<7N*)Z7s$Hx@wPB&EfImvY+HYG+U6lU3c^Md64?n=z@Bjqh1*5j-+GHc~^G zbSlxWP=}70#f`Ie>`IGd!a^q)Fj3yGqs(e+7+Tjoqth0z{;M`~YEf6L^odAa6jkc^ z`&po^3Zsyy%9za|PaQ?oBbEsk=#o7ViX+m;p5{V7;8#eMhI|~u>d-e4G4VK}48Np` zK}7B2OEGq!%$OHJPN?r7WB=cB^g(H&b8Nfe`mmN?Sl98Y8Y;yO+^dBqoBO>xNobj> zWB#wFpoa496$a~8w!p@cC-JDJ#TUYAVg_f@bV|~Q8(7sQ_mFUBF z-imUie4>OGT$GE|Gv}b}(fU()_~~|9m^%HFSWwQJpEXuHXHF%w}l+H0yTZY)^NR(ScucUkC#FwCY^SQ;qg%xJZf zh8$5Hf+?Y>BBJlhFW-gSzaMn=YgO>ft+H$D{lkO3&7G6FuPuS6hvyr^!%bU={qnFE1-8K0NK{kU0KuL0UBfdm(~>1Rg{vV_t*;EfJy^ z?7(&eaOLvzq(F3}EIs;jjNITSOG&^_mQsM9ZbbjVfUto73Ij8d${5iAQXjzOgKsQ