From f7ae511332c136874de40709a1a74ca4509c889b Mon Sep 17 00:00:00 2001 From: lihailiang <1z@X3c$V> Date: Mon, 29 Apr 2024 11:33:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=98=E9=92=B1=E7=BD=90=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/DB_Pigbank_Prop.dat | Bin 2114 -> 61 bytes data/DB_Pigbank_Prop.json | 574 +- protocol/server/pbdata.pb.go | 856 ++- protocol/server/pbdata.proto | 36 +- protocol/welfare/welfare.pb.go | 91 +- protocol/welfare/welfare.proto | 5 + tools/xlsx2binary/agc.go | 9897 +++++++++----------------------- worldsrv/action_welfare.go | 41 + xlsx/DB_Pigbank_Prop.xlsx | Bin 20105 -> 13909 bytes 9 files changed, 3278 insertions(+), 8222 deletions(-) diff --git a/data/DB_Pigbank_Prop.dat b/data/DB_Pigbank_Prop.dat index 49848a8c5cfa4f37d88dc0fa66391dd11def2967..608885b511ccf2fb1163fc2f58cd70e82b1d1afc 100644 GIT binary patch literal 61 zcmd-Q=3o@!c1q04_D!sC&dh$lQV4(7UJ>AFHQvs Hg2lK1X#+9Q zLY1v(#G)6g7AozbmJmF6Gk8%%M5PmhLg}F(c=Fkon*9K~hyQcfh5Y!>Gug~l%iP_n zwC}&Xd}&h9dPTV}%Fwja;C$cjGy zIrBnQU%9Biy|STJUHDN|e$<(L(_VX`c5bO{M^*1+t{KRp@M@TK(!7)Q*{Og<*w$ne z#&N>a2KM0sYvp+>FSPw7a~b`YO-Uk^W0r|8kFbRSzAzxPhMRpC${5=@Nh30ew=?zS zQC6GawF#kpduILZ%15M@lw2}2Umj!i2Z%$2=DcRl!wUwjk4rsb(>Pm~4BfYjtTj(K zL}>Nq$*+etvHN8@IXms!XBhmQI0Ux+{#1O@0(_V`izN<$jn9pLI>f16kl6^Hiu0!5FtPz&V2$N<%)J2zzgQ}3VRveum${_) zn?^3+N0_trgK}>Oy;0dj+o4aXeNpx%=l2HwD04o)HMuv0?%X{ server.DB_ActSign @@ -11831,34 +11659,32 @@ var file_pbdata_proto_depIdxs = []int32{ 94, // 51: server.DB_NewPlayerArray.Arr:type_name -> server.DB_NewPlayer 96, // 52: server.DB_PhoneLotteryArray.Arr:type_name -> server.DB_PhoneLottery 98, // 53: server.DB_PigBank_DiamondArray.Arr:type_name -> server.DB_PigBank_Diamond - 136, // 54: server.DB_Pigbank_Prop.Privilege7:type_name -> server.DB_Pigbank_Prop.Privilege7Entry - 137, // 55: server.DB_Pigbank_Prop.Award:type_name -> server.DB_Pigbank_Prop.AwardEntry - 100, // 56: server.DB_Pigbank_PropArray.Arr:type_name -> server.DB_Pigbank_Prop - 102, // 57: server.DB_PlayerExpArray.Arr:type_name -> server.DB_PlayerExp - 104, // 58: server.DB_PlayerInfoArray.Arr:type_name -> server.DB_PlayerInfo - 106, // 59: server.DB_PlayerTypeArray.Arr:type_name -> server.DB_PlayerType - 108, // 60: server.DB_PotOddArray.Arr:type_name -> server.DB_PotOdd - 138, // 61: server.DB_PropExchange.Cost:type_name -> server.DB_PropExchange.CostEntry - 139, // 62: server.DB_PropExchange.Gain:type_name -> server.DB_PropExchange.GainEntry - 110, // 63: server.DB_PropExchangeArray.Arr:type_name -> server.DB_PropExchange - 112, // 64: server.DB_RankCycleArray.Arr:type_name -> server.DB_RankCycle - 114, // 65: server.DB_RankLevelArray.Arr:type_name -> server.DB_RankLevel - 116, // 66: server.DB_RankRewardArray.Arr:type_name -> server.DB_RankReward - 118, // 67: server.DB_Sensitive_WordsArray.Arr:type_name -> server.DB_Sensitive_Words - 120, // 68: server.DB_SlotRateWeightArray.Arr:type_name -> server.DB_SlotRateWeight - 122, // 69: server.DB_SystemChanceArray.Arr:type_name -> server.DB_SystemChance - 140, // 70: server.DB_Task.Award:type_name -> server.DB_Task.AwardEntry - 124, // 71: server.DB_TaskArray.Arr:type_name -> server.DB_Task - 126, // 72: server.DB_ThirdPlatformGameMappingArray.Arr:type_name -> server.DB_ThirdPlatformGameMapping - 128, // 73: server.DB_TipsArray.Arr:type_name -> server.DB_Tips - 141, // 74: server.DB_VIP.Privilege7:type_name -> server.DB_VIP.Privilege7Entry - 142, // 75: server.DB_VIP.Award:type_name -> server.DB_VIP.AwardEntry - 130, // 76: server.DB_VIPArray.Arr:type_name -> server.DB_VIP - 77, // [77:77] is the sub-list for method output_type - 77, // [77:77] is the sub-list for method input_type - 77, // [77:77] is the sub-list for extension type_name - 77, // [77:77] is the sub-list for extension extendee - 0, // [0:77] is the sub-list for field type_name + 100, // 54: server.DB_Pigbank_PropArray.Arr:type_name -> server.DB_Pigbank_Prop + 102, // 55: server.DB_PlayerExpArray.Arr:type_name -> server.DB_PlayerExp + 104, // 56: server.DB_PlayerInfoArray.Arr:type_name -> server.DB_PlayerInfo + 106, // 57: server.DB_PlayerTypeArray.Arr:type_name -> server.DB_PlayerType + 108, // 58: server.DB_PotOddArray.Arr:type_name -> server.DB_PotOdd + 136, // 59: server.DB_PropExchange.Cost:type_name -> server.DB_PropExchange.CostEntry + 137, // 60: server.DB_PropExchange.Gain:type_name -> server.DB_PropExchange.GainEntry + 110, // 61: server.DB_PropExchangeArray.Arr:type_name -> server.DB_PropExchange + 112, // 62: server.DB_RankCycleArray.Arr:type_name -> server.DB_RankCycle + 114, // 63: server.DB_RankLevelArray.Arr:type_name -> server.DB_RankLevel + 116, // 64: server.DB_RankRewardArray.Arr:type_name -> server.DB_RankReward + 118, // 65: server.DB_Sensitive_WordsArray.Arr:type_name -> server.DB_Sensitive_Words + 120, // 66: server.DB_SlotRateWeightArray.Arr:type_name -> server.DB_SlotRateWeight + 122, // 67: server.DB_SystemChanceArray.Arr:type_name -> server.DB_SystemChance + 138, // 68: server.DB_Task.Award:type_name -> server.DB_Task.AwardEntry + 124, // 69: server.DB_TaskArray.Arr:type_name -> server.DB_Task + 126, // 70: server.DB_ThirdPlatformGameMappingArray.Arr:type_name -> server.DB_ThirdPlatformGameMapping + 128, // 71: server.DB_TipsArray.Arr:type_name -> server.DB_Tips + 139, // 72: server.DB_VIP.Privilege7:type_name -> server.DB_VIP.Privilege7Entry + 140, // 73: server.DB_VIP.Award:type_name -> server.DB_VIP.AwardEntry + 130, // 74: server.DB_VIPArray.Arr:type_name -> server.DB_VIP + 75, // [75:75] is the sub-list for method output_type + 75, // [75:75] is the sub-list for method input_type + 75, // [75:75] is the sub-list for extension type_name + 75, // [75:75] is the sub-list for extension extendee + 0, // [0:75] is the sub-list for field type_name } func init() { file_pbdata_proto_init() } @@ -13458,7 +13284,7 @@ func file_pbdata_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pbdata_proto_rawDesc, NumEnums: 0, - NumMessages: 143, + NumMessages: 141, NumExtensions: 0, NumServices: 0, }, diff --git a/protocol/server/pbdata.proto b/protocol/server/pbdata.proto index 0150a56..71a7cf1 100644 --- a/protocol/server/pbdata.proto +++ b/protocol/server/pbdata.proto @@ -1287,41 +1287,9 @@ message DB_Pigbank_Prop { int32 Id = 1; - string Name = 2; + string PorpName = 2; - int32 Count = 3; - - int32 VipExp = 4; - - repeated int32 Privilege1 = 5; - - repeated int32 Privilege2 = 6; - - int32 ShopId2 = 7; - - repeated int32 Privilege3 = 8; - - int32 Privilege4 = 9; - - int32 Privilege5 = 10; - - int32 Privilege6 = 11; - - map Privilege7 = 12; - - int32 Privilege7Price = 13; - - int32 ShopId7 = 14; - - int32 Privilege8 = 15; - - repeated int32 Param = 16; - - repeated int32 RewardOutlineID = 17; - - map Award = 18; - - repeated string ParamName = 19; + int32 PropValue = 3; } diff --git a/protocol/welfare/welfare.pb.go b/protocol/welfare/welfare.pb.go index 36ac51a..09f34d2 100644 --- a/protocol/welfare/welfare.pb.go +++ b/protocol/welfare/welfare.pb.go @@ -20,7 +20,7 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -//操作结果 +// 操作结果 type OpResultCode int32 const ( @@ -117,10 +117,14 @@ const ( SPacketID_PACKET_CSWelfRelief SPacketID = 2900 //救济金信息 SPacketID_PACKET_SCWelfRelief SPacketID = 2901 //救济金信息 // 邀请活动 - SPacketID_PACKET_CSInviteInfo SPacketID = 2902 //邀请信息 - SPacketID_PACKET_SCInviteInfo SPacketID = 2903 //邀请信息 - SPacketID_PACKET_CSBindInvite SPacketID = 2904 //绑定邀请人 - SPacketID_PACKET_SCBindInvite SPacketID = 2905 //绑定邀请人 + SPacketID_PACKET_CSInviteInfo SPacketID = 2902 //邀请信息 + SPacketID_PACKET_SCInviteInfo SPacketID = 2903 //邀请信息 + SPacketID_PACKET_CSBindInvite SPacketID = 2904 //绑定邀请人 + SPacketID_PACKET_SCBindInvite SPacketID = 2905 //绑定邀请人 + SPacketID_PACKET_CSPigbankGetInfo SPacketID = 2910 // 存钱罐信息获取 + SPacketID_PACKET_SCPigbankGetInfo SPacketID = 2911 // 存钱罐信息获取 + SPacketID_PACKET_CSPigbankTakeCoin SPacketID = 2912 // 存钱罐领取金币 + SPacketID_PACKET_SCPigbankTakeCoin SPacketID = 2913 // 存钱罐领取金币 ) // Enum value maps for SPacketID. @@ -153,6 +157,10 @@ var ( 2903: "PACKET_SCInviteInfo", 2904: "PACKET_CSBindInvite", 2905: "PACKET_SCBindInvite", + 2910: "PACKET_CSPigbankGetInfo", + 2911: "PACKET_SCPigbankGetInfo", + 2912: "PACKET_CSPigbankTakeCoin", + 2913: "PACKET_SCPigbankTakeCoin", } SPacketID_value = map[string]int32{ "PACKET_SHOP_ZERO": 0, @@ -182,6 +190,10 @@ var ( "PACKET_SCInviteInfo": 2903, "PACKET_CSBindInvite": 2904, "PACKET_SCBindInvite": 2905, + "PACKET_CSPigbankGetInfo": 2910, + "PACKET_SCPigbankGetInfo": 2911, + "PACKET_CSPigbankTakeCoin": 2912, + "PACKET_SCPigbankTakeCoin": 2913, } ) @@ -212,8 +224,8 @@ func (SPacketID) EnumDescriptor() ([]byte, []int) { return file_welfare_proto_rawDescGZIP(), []int{1} } -//救济金领取 -//PACKET_CS_WELF_GETRELIEFFUND +// 救济金领取 +// PACKET_CS_WELF_GETRELIEFFUND type CSGetReliefFund struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -261,7 +273,7 @@ func (x *CSGetReliefFund) GetIsVideo() bool { return false } -//PACKET_SC_WELF_GETRELIEFFUND +// PACKET_SC_WELF_GETRELIEFFUND type SCGetReliefFund struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -396,8 +408,8 @@ func (x *WelfareDate) GetItem_Id() int32 { return 0 } -//转动转盘 -//PACKET_CS_WELF_GETTURNPLATE +// 转动转盘 +// PACKET_CS_WELF_GETTURNPLATE type CSGetTurnplate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -445,7 +457,7 @@ func (x *CSGetTurnplate) GetIsVideo() bool { return false } -//PACKET_SC_WELF_GETTURNPLATE +// PACKET_SC_WELF_GETTURNPLATE type SCGetTurnplate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -580,8 +592,8 @@ func (x *AddUpWelfareDate) GetAddUpDate() []*WelfareDate { return nil } -//累计签到 -//PACKET_CS_WELF_GETADDUPSIGN +// 累计签到 +// PACKET_CS_WELF_GETADDUPSIGN type CSGetAddupSign struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -629,7 +641,7 @@ func (x *CSGetAddupSign) GetAddUpDay() int32 { return 0 } -//PACKET_SC_WELF_GETADDUPSIGN +// PACKET_SC_WELF_GETADDUPSIGN type SCGetAddupSign struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -693,8 +705,8 @@ func (x *SCGetAddupSign) GetAddUpSignDay() []int32 { return nil } -//福利信息 -//PACKET_CS_WELF_WELFAREINFO +// 福利信息 +// PACKET_CS_WELF_WELFAREINFO type CSWelfaredInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -851,7 +863,7 @@ func (x *Welfare7SignDate) GetAddUpDate() []*AddUpWelfareDate { return nil } -//PACKET_SC_WELF_WELFAREINFO +// PACKET_SC_WELF_WELFAREINFO type SCWelfaredInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1058,8 +1070,8 @@ func (x *BlindBoxData) GetItem_Id() int32 { return 0 } -//查看盲盒 -//PACKET_CS_WELF_BLINBOXINFO +// 查看盲盒 +// PACKET_CS_WELF_BLINBOXINFO type CSBlindBoxInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1107,7 +1119,7 @@ func (x *CSBlindBoxInfo) GetId() int32 { return 0 } -//PACKET_SC_WELF_BLINBOXINFO +// PACKET_SC_WELF_BLINBOXINFO type SCBlindBoxInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1187,8 +1199,8 @@ func (x *SCBlindBoxInfo) GetCycle() int32 { return 0 } -//领取盲盒 -//PACKET_CS_WELF_GETBLINBOX +// 领取盲盒 +// PACKET_CS_WELF_GETBLINBOX type CSGetBlindBox struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1236,7 +1248,7 @@ func (x *CSGetBlindBox) GetId() int32 { return 0 } -//PACKET_SC_WELF_GETBLINBOX +// PACKET_SC_WELF_GETBLINBOX type SCGetBlindBox struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1379,7 +1391,7 @@ func (x *WelfareSpree) GetDiscount() float64 { return 0 } -//PACKET_CS_WELF_FIRSTPAYINFO +// PACKET_CS_WELF_FIRSTPAYINFO type CSWelfareFirstPayData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1418,7 +1430,7 @@ func (*CSWelfareFirstPayData) Descriptor() ([]byte, []int) { return file_welfare_proto_rawDescGZIP(), []int{18} } -//PACKET_SC_WELF_FIRSTPAYINFO +// PACKET_SC_WELF_FIRSTPAYINFO type SCWelfareFirstPayData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1498,7 +1510,7 @@ func (x *SCWelfareFirstPayData) GetDraw() int32 { return 0 } -//PACKET_CS_WELF_FIRSTPAY +// PACKET_CS_WELF_FIRSTPAY type CSWelfareFirstPay struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1537,7 +1549,7 @@ func (*CSWelfareFirstPay) Descriptor() ([]byte, []int) { return file_welfare_proto_rawDescGZIP(), []int{20} } -//PACKET_SC_WELF_FIRSTPAY +// PACKET_SC_WELF_FIRSTPAY type SCWelfareFirstPay struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1585,7 +1597,7 @@ func (x *SCWelfareFirstPay) GetOpRetCode() OpResultCode { return OpResultCode_OPRC_Sucess } -//PACKET_CS_WELF_CONTINPAYINFO +// PACKET_CS_WELF_CONTINPAYINFO type CSWelfareContinuousPayData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1624,7 +1636,7 @@ func (*CSWelfareContinuousPayData) Descriptor() ([]byte, []int) { return file_welfare_proto_rawDescGZIP(), []int{22} } -//PACKET_SC_WELF_CONTINPAYINFO +// PACKET_SC_WELF_CONTINPAYINFO type SCWelfareContinuousPayData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1712,7 +1724,7 @@ func (x *SCWelfareContinuousPayData) GetDay() int32 { return 0 } -//PACKET_CS_WELF_CONTINPAY +// PACKET_CS_WELF_CONTINPAY type CSWelfareContinuousPay struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1751,7 +1763,7 @@ func (*CSWelfareContinuousPay) Descriptor() ([]byte, []int) { return file_welfare_proto_rawDescGZIP(), []int{24} } -//PACKET_SC_WELF_CONTINPAY +// PACKET_SC_WELF_CONTINPAY type SCWelfareContinuousPay struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2327,7 +2339,7 @@ var file_welfare_proto_rawDesc = []byte{ 0x6e, 0x64, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4d, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10, 0x07, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x50, - 0x52, 0x43, 0x5f, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x10, 0x08, 0x2a, 0xd3, 0x06, + 0x52, 0x43, 0x5f, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x10, 0x08, 0x2a, 0xcd, 0x07, 0x0a, 0x09, 0x53, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, @@ -2381,10 +2393,17 @@ var file_welfare_proto_rawDesc = []byte{ 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x42, 0x69, 0x6e, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10, 0xd8, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x10, 0xd9, 0x16, 0x42, 0x27, 0x5a, 0x25, 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, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x10, 0xd9, 0x16, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, + 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xde, + 0x16, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x69, + 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xdf, 0x16, 0x12, + 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x69, 0x67, 0x62, + 0x61, 0x6e, 0x6b, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x10, 0xe0, 0x16, 0x12, 0x1d, + 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x69, 0x67, 0x62, 0x61, + 0x6e, 0x6b, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x10, 0xe1, 0x16, 0x42, 0x27, 0x5a, + 0x25, 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, 0x77, + 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/protocol/welfare/welfare.proto b/protocol/welfare/welfare.proto index cd25574..fd0f274 100644 --- a/protocol/welfare/welfare.proto +++ b/protocol/welfare/welfare.proto @@ -45,6 +45,11 @@ enum SPacketID { PACKET_SCInviteInfo = 2903;//邀请信息 PACKET_CSBindInvite = 2904;//绑定邀请人 PACKET_SCBindInvite = 2905;//绑定邀请人 + + PACKET_CSPigbankGetInfo = 2910;// 存钱罐信息获取 + PACKET_SCPigbankGetInfo = 2911;// 存钱罐信息获取 + PACKET_CSPigbankTakeCoin = 2912;// 存钱罐领取金币 + PACKET_SCPigbankTakeCoin = 2913;// 存钱罐领取金币 } //救济金领取 diff --git a/tools/xlsx2binary/agc.go b/tools/xlsx2binary/agc.go index 254792a..7190348 100644 --- a/tools/xlsx2binary/agc.go +++ b/tools/xlsx2binary/agc.go @@ -1,8 +1,8 @@ - // Code generated by xlsx2proto. // DO NOT EDIT! package main + import ( "encoding/json" "fmt" @@ -12,15 +12,14 @@ import ( "strings" "github.com/tealeg/xlsx" - "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/proto" "mongo.games.com/game/protocol/server" ) var _ = strings.Split - -func AgcConvertDB_ActSign(fi,fo string) { +func AgcConvertDB_ActSign(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -34,19 +33,19 @@ func AgcConvertDB_ActSign(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_ActSignArray{ - Arr:make([]*server.DB_ActSign, 0, len(sheet.Rows)), + arr := &server.DB_ActSignArray{ + Arr: make([]*server.DB_ActSign, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -54,82 +53,46 @@ func AgcConvertDB_ActSign(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_ActSign{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.Type = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.Name = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 32) data.Item_Id = int32(temp) - - - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[4].String(), 10, 32) data.Grade = int32(temp) - - - - - - - - break } @@ -137,26 +100,26 @@ func AgcConvertDB_ActSign(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_Activity1(fi,fo string) { + +func AgcConvertDB_Activity1(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -170,19 +133,19 @@ func AgcConvertDB_Activity1(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_Activity1Array{ - Arr:make([]*server.DB_Activity1, 0, len(sheet.Rows)), + arr := &server.DB_Activity1Array{ + Arr: make([]*server.DB_Activity1, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -190,165 +153,87 @@ func AgcConvertDB_Activity1(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_Activity1{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.Parameter = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.Turn = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - - - + data.Title = row.Cells[3].String() - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[4].String(), 10, 32) data.Costype = int32(temp) - - - - - - - - - if len(row.Cells)<5+1{ + + if len(row.Cells) < 5+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[5].String(), 10, 32) data.Costp = int32(temp) - - - - - - - - - if len(row.Cells)<6+1{ + + if len(row.Cells) < 6+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[6].String(), 10, 32) data.Cost = int32(temp) - - - - - - - - - if len(row.Cells)<7+1{ + + if len(row.Cells) < 7+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[7].String(), 10, 32) data.Typee = int32(temp) - - - - - - - - - if len(row.Cells)<8+1{ + + if len(row.Cells) < 8+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[8].String(), 10, 32) data.Propid = int32(temp) - - - - - - - - - if len(row.Cells)<9+1{ + + if len(row.Cells) < 9+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[9].String(), 10, 32) data.Value = int32(temp) - - - - - - - - - if len(row.Cells)<10+1{ + + if len(row.Cells) < 10+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[10].String(), 10, 32) data.Getype = int32(temp) - - - - - - - - break } @@ -356,26 +241,26 @@ func AgcConvertDB_Activity1(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_AnimalColor(fi,fo string) { + +func AgcConvertDB_AnimalColor(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -389,19 +274,19 @@ func AgcConvertDB_AnimalColor(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_AnimalColorArray{ - Arr:make([]*server.DB_AnimalColor, 0, len(sheet.Rows)), + arr := &server.DB_AnimalColorArray{ + Arr: make([]*server.DB_AnimalColor, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -409,46 +294,29 @@ func AgcConvertDB_AnimalColor(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_AnimalColor{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - - - + data.Desc = row.Cells[1].String() - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - - - - + arrStr = strings.Split(row.Cells[2].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[2].String() != "" { @@ -459,11 +327,6 @@ func AgcConvertDB_AnimalColor(fi,fo string) { } } data.ColorChance = arrInt - - - - - break } @@ -471,26 +334,26 @@ func AgcConvertDB_AnimalColor(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_ArtilleryRate(fi,fo string) { + +func AgcConvertDB_ArtilleryRate(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -504,19 +367,19 @@ func AgcConvertDB_ArtilleryRate(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_ArtilleryRateArray{ - Arr:make([]*server.DB_ArtilleryRate, 0, len(sheet.Rows)), + arr := &server.DB_ArtilleryRateArray{ + Arr: make([]*server.DB_ArtilleryRate, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -524,67 +387,38 @@ func AgcConvertDB_ArtilleryRate(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_ArtilleryRate{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.Shell = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.Level = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - - - + data.Desc = row.Cells[3].String() - - - - - - break } @@ -592,26 +426,26 @@ func AgcConvertDB_ArtilleryRate(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_ArtillerySkin(fi,fo string) { + +func AgcConvertDB_ArtillerySkin(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -625,19 +459,19 @@ func AgcConvertDB_ArtillerySkin(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_ArtillerySkinArray{ - Arr:make([]*server.DB_ArtillerySkin, 0, len(sheet.Rows)), + arr := &server.DB_ArtillerySkinArray{ + Arr: make([]*server.DB_ArtillerySkin, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -645,181 +479,94 @@ func AgcConvertDB_ArtillerySkin(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_ArtillerySkin{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - - - + data.Name = row.Cells[1].String() - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.CannonId = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 32) data.Type = int32(temp) - - - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[4].String(), 10, 32) data.ExprieTime = int32(temp) - - - - - - - - - if len(row.Cells)<5+1{ + + if len(row.Cells) < 5+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[5].String(), 10, 32) data.Show = int32(temp) - - - - - - - - - if len(row.Cells)<6+1{ + + if len(row.Cells) < 6+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[6].String(), 10, 32) data.Order = int32(temp) - - - - - - - - - if len(row.Cells)<7+1{ + + if len(row.Cells) < 7+1 { break } - - - + data.NameIcon = row.Cells[7].String() - - - - - - - if len(row.Cells)<8+1{ + + if len(row.Cells) < 8+1 { break } - - - + data.PicIcon = row.Cells[8].String() - - - - - - - if len(row.Cells)<9+1{ + + if len(row.Cells) < 9+1 { break } - - - + data.BaseIcon = row.Cells[9].String() - - - - - - - if len(row.Cells)<10+1{ + + if len(row.Cells) < 10+1 { break } - - - + data.ShellIcon = row.Cells[10].String() - - - - - - - if len(row.Cells)<11+1{ + + if len(row.Cells) < 11+1 { break } - - - + data.NetIcon = row.Cells[11].String() - - - - - - - if len(row.Cells)<12+1{ + + if len(row.Cells) < 12+1 { break } - - - - + arrStr = strings.Split(row.Cells[12].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[12].String() != "" { @@ -830,108 +577,54 @@ func AgcConvertDB_ArtillerySkin(fi,fo string) { } } data.Vip = arrInt - - - - - - if len(row.Cells)<13+1{ + + if len(row.Cells) < 13+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[13].String(), 10, 32) data.Gold = int32(temp) - - - - - - - - - if len(row.Cells)<14+1{ + + if len(row.Cells) < 14+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[14].String(), 10, 32) data.Diamond = int32(temp) - - - - - - - - - if len(row.Cells)<15+1{ + + if len(row.Cells) < 15+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[15].String(), 10, 32) data.Income = int32(temp) - - - - - - - - - if len(row.Cells)<16+1{ + + if len(row.Cells) < 16+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[16].String(), 10, 32) data.Speed = int32(temp) - - - - - - - - - if len(row.Cells)<17+1{ + + if len(row.Cells) < 17+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[17].String(), 10, 32) data.Caught = int32(temp) - - - - - - - - - if len(row.Cells)<18+1{ + + if len(row.Cells) < 18+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[18].String(), 10, 32) data.Introduce = int32(temp) - - - - - - - - - if len(row.Cells)<19+1{ + + if len(row.Cells) < 19+1 { break } - - - + data.Source = row.Cells[19].String() - - - - - - break } @@ -939,26 +632,26 @@ func AgcConvertDB_ArtillerySkin(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_BlackWhite(fi,fo string) { + +func AgcConvertDB_BlackWhite(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -972,19 +665,19 @@ func AgcConvertDB_BlackWhite(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_BlackWhiteArray{ - Arr:make([]*server.DB_BlackWhite, 0, len(sheet.Rows)), + arr := &server.DB_BlackWhiteArray{ + Arr: make([]*server.DB_BlackWhite, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -992,33 +685,23 @@ func AgcConvertDB_BlackWhite(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_BlackWhite{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - - - - + arrStr = strings.Split(row.Cells[2].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[2].String() != "" { @@ -1029,18 +712,11 @@ func AgcConvertDB_BlackWhite(fi,fo string) { } } data.BlackOdds = arrInt - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - - - - + arrStr = strings.Split(row.Cells[3].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[3].String() != "" { @@ -1051,11 +727,6 @@ func AgcConvertDB_BlackWhite(fi,fo string) { } } data.WhiteOdds = arrInt - - - - - break } @@ -1063,26 +734,26 @@ func AgcConvertDB_BlackWhite(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_CardsJD(fi,fo string) { + +func AgcConvertDB_CardsJD(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -1096,19 +767,19 @@ func AgcConvertDB_CardsJD(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_CardsJDArray{ - Arr:make([]*server.DB_CardsJD, 0, len(sheet.Rows)), + arr := &server.DB_CardsJDArray{ + Arr: make([]*server.DB_CardsJD, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -1116,242 +787,122 @@ func AgcConvertDB_CardsJD(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_CardsJD{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - - - + data.Card1 = row.Cells[1].String() - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.Card1Score = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 32) data.Card1HandNum = int32(temp) - - - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - - - + data.Change1Cards = row.Cells[4].String() - - - - - - - if len(row.Cells)<5+1{ + + if len(row.Cells) < 5+1 { break } - - - + data.Card2 = row.Cells[5].String() - - - - - - - if len(row.Cells)<6+1{ + + if len(row.Cells) < 6+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[6].String(), 10, 32) data.Card2Score = int32(temp) - - - - - - - - - if len(row.Cells)<7+1{ + + if len(row.Cells) < 7+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[7].String(), 10, 32) data.Card2HandNum = int32(temp) - - - - - - - - - if len(row.Cells)<8+1{ + + if len(row.Cells) < 8+1 { break } - - - + data.Change2Cards = row.Cells[8].String() - - - - - - - if len(row.Cells)<9+1{ + + if len(row.Cells) < 9+1 { break } - - - + data.Card3 = row.Cells[9].String() - - - - - - - if len(row.Cells)<10+1{ + + if len(row.Cells) < 10+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[10].String(), 10, 32) data.Card3Score = int32(temp) - - - - - - - - - if len(row.Cells)<11+1{ + + if len(row.Cells) < 11+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[11].String(), 10, 32) data.Card3HandNum = int32(temp) - - - - - - - - - if len(row.Cells)<12+1{ + + if len(row.Cells) < 12+1 { break } - - - + data.Change3Cards = row.Cells[12].String() - - - - - - - if len(row.Cells)<13+1{ + + if len(row.Cells) < 13+1 { break } - - - + data.Card4 = row.Cells[13].String() - - - - - - - if len(row.Cells)<14+1{ + + if len(row.Cells) < 14+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[14].String(), 10, 32) data.Card4Score = int32(temp) - - - - - - - - - if len(row.Cells)<15+1{ + + if len(row.Cells) < 15+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[15].String(), 10, 32) data.Card4HandNum = int32(temp) - - - - - - - - - if len(row.Cells)<16+1{ + + if len(row.Cells) < 16+1 { break } - - - + data.Change4Cards = row.Cells[16].String() - - - - - - break } @@ -1359,26 +910,26 @@ func AgcConvertDB_CardsJD(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_CardsYuLe(fi,fo string) { + +func AgcConvertDB_CardsYuLe(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -1392,19 +943,19 @@ func AgcConvertDB_CardsYuLe(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_CardsYuLeArray{ - Arr:make([]*server.DB_CardsYuLe, 0, len(sheet.Rows)), + arr := &server.DB_CardsYuLeArray{ + Arr: make([]*server.DB_CardsYuLe, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -1412,242 +963,122 @@ func AgcConvertDB_CardsYuLe(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_CardsYuLe{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - - - + data.Card1 = row.Cells[1].String() - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.Card1Score = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 32) data.Card1HandNum = int32(temp) - - - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - - - + data.Change1Cards = row.Cells[4].String() - - - - - - - if len(row.Cells)<5+1{ + + if len(row.Cells) < 5+1 { break } - - - + data.Card2 = row.Cells[5].String() - - - - - - - if len(row.Cells)<6+1{ + + if len(row.Cells) < 6+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[6].String(), 10, 32) data.Card2Score = int32(temp) - - - - - - - - - if len(row.Cells)<7+1{ + + if len(row.Cells) < 7+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[7].String(), 10, 32) data.Card2HandNum = int32(temp) - - - - - - - - - if len(row.Cells)<8+1{ + + if len(row.Cells) < 8+1 { break } - - - + data.Change2Cards = row.Cells[8].String() - - - - - - - if len(row.Cells)<9+1{ + + if len(row.Cells) < 9+1 { break } - - - + data.Card3 = row.Cells[9].String() - - - - - - - if len(row.Cells)<10+1{ + + if len(row.Cells) < 10+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[10].String(), 10, 32) data.Card3Score = int32(temp) - - - - - - - - - if len(row.Cells)<11+1{ + + if len(row.Cells) < 11+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[11].String(), 10, 32) data.Card3HandNum = int32(temp) - - - - - - - - - if len(row.Cells)<12+1{ + + if len(row.Cells) < 12+1 { break } - - - + data.Change3Cards = row.Cells[12].String() - - - - - - - if len(row.Cells)<13+1{ + + if len(row.Cells) < 13+1 { break } - - - + data.Card4 = row.Cells[13].String() - - - - - - - if len(row.Cells)<14+1{ + + if len(row.Cells) < 14+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[14].String(), 10, 32) data.Card4Score = int32(temp) - - - - - - - - - if len(row.Cells)<15+1{ + + if len(row.Cells) < 15+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[15].String(), 10, 32) data.Card4HandNum = int32(temp) - - - - - - - - - if len(row.Cells)<16+1{ + + if len(row.Cells) < 16+1 { break } - - - + data.Change4Cards = row.Cells[16].String() - - - - - - break } @@ -1655,26 +1086,26 @@ func AgcConvertDB_CardsYuLe(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_ChessBilledRules(fi,fo string) { + +func AgcConvertDB_ChessBilledRules(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -1688,19 +1119,19 @@ func AgcConvertDB_ChessBilledRules(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_ChessBilledRulesArray{ - Arr:make([]*server.DB_ChessBilledRules, 0, len(sheet.Rows)), + arr := &server.DB_ChessBilledRulesArray{ + Arr: make([]*server.DB_ChessBilledRules, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -1708,110 +1139,60 @@ func AgcConvertDB_ChessBilledRules(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_ChessBilledRules{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.TypeId = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.WinScore = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 32) data.LoseScore = int32(temp) - - - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[4].String(), 10, 32) data.DrawScore = int32(temp) - - - - - - - - - if len(row.Cells)<5+1{ + + if len(row.Cells) < 5+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[5].String(), 10, 32) data.WinTimes = int32(temp) - - - - - - - - - if len(row.Cells)<6+1{ + + if len(row.Cells) < 6+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[6].String(), 10, 32) data.OtherScore = int32(temp) - - - - - - - - break } @@ -1819,26 +1200,26 @@ func AgcConvertDB_ChessBilledRules(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_ChessMatchRules(fi,fo string) { + +func AgcConvertDB_ChessMatchRules(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -1852,19 +1233,19 @@ func AgcConvertDB_ChessMatchRules(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_ChessMatchRulesArray{ - Arr:make([]*server.DB_ChessMatchRules, 0, len(sheet.Rows)), + arr := &server.DB_ChessMatchRulesArray{ + Arr: make([]*server.DB_ChessMatchRules, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -1872,89 +1253,51 @@ func AgcConvertDB_ChessMatchRules(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_ChessMatchRules{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.ScoreMin = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.ScoreMax = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 32) data.MatchScoreMin = int32(temp) - - - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[4].String(), 10, 32) data.MatchScoreMax = int32(temp) - - - - - - - - - if len(row.Cells)<5+1{ + + if len(row.Cells) < 5+1 { break } - - - - + arrStr = strings.Split(row.Cells[5].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[5].String() != "" { @@ -1965,18 +1308,11 @@ func AgcConvertDB_ChessMatchRules(fi,fo string) { } } data.MatchScoreLowStep = arrInt - - - - - - if len(row.Cells)<6+1{ + + if len(row.Cells) < 6+1 { break } - - - - + arrStr = strings.Split(row.Cells[6].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[6].String() != "" { @@ -1987,11 +1323,6 @@ func AgcConvertDB_ChessMatchRules(fi,fo string) { } } data.MatchScoreHightStep = arrInt - - - - - break } @@ -1999,26 +1330,26 @@ func AgcConvertDB_ChessMatchRules(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_ChessRank(fi,fo string) { + +func AgcConvertDB_ChessRank(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -2032,19 +1363,19 @@ func AgcConvertDB_ChessRank(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_ChessRankArray{ - Arr:make([]*server.DB_ChessRank, 0, len(sheet.Rows)), + arr := &server.DB_ChessRankArray{ + Arr: make([]*server.DB_ChessRank, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -2052,53 +1383,31 @@ func AgcConvertDB_ChessRank(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_ChessRank{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.Score = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - - - + data.Name = row.Cells[2].String() - - - - - - break } @@ -2106,26 +1415,26 @@ func AgcConvertDB_ChessRank(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_ClientVer(fi,fo string) { + +func AgcConvertDB_ClientVer(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -2139,19 +1448,19 @@ func AgcConvertDB_ClientVer(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_ClientVerArray{ - Arr:make([]*server.DB_ClientVer, 0, len(sheet.Rows)), + arr := &server.DB_ClientVerArray{ + Arr: make([]*server.DB_ClientVer, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -2159,65 +1468,36 @@ func AgcConvertDB_ClientVer(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_ClientVer{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - - - + data.PackageFlag = row.Cells[1].String() - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - - - + data.PackVers = row.Cells[2].String() - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - - - + data.GameVers = row.Cells[3].String() - - - - - - break } @@ -2225,26 +1505,26 @@ func AgcConvertDB_ClientVer(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_CollectBox(fi,fo string) { + +func AgcConvertDB_CollectBox(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -2258,19 +1538,19 @@ func AgcConvertDB_CollectBox(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_CollectBoxArray{ - Arr:make([]*server.DB_CollectBox, 0, len(sheet.Rows)), + arr := &server.DB_CollectBoxArray{ + Arr: make([]*server.DB_CollectBox, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -2278,73 +1558,51 @@ func AgcConvertDB_CollectBox(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_CollectBox{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.Rate = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - - - - - - - - if row.Cells[2].String() != ""{ - pairs := strings.Split(row.Cells[2].String(), ";") - resultMap := make(map[int64]int64) - for _, pair := range pairs { - kv := strings.Split(pair, ",") - key, err := strconv.ParseInt(kv[0], 10, 64) - if err != nil { - // 错误处理 - fmt.Println("无法转换为int64:", kv[0]) - continue - } - value, err := strconv.ParseInt(kv[1], 10, 64) - if err != nil { - // 错误处理 - fmt.Println("无法转换为int64:", kv[1]) - continue - } - resultMap[key] = value + + if row.Cells[2].String() != "" { + pairs := strings.Split(row.Cells[2].String(), ";") + resultMap := make(map[int64]int64) + for _, pair := range pairs { + kv := strings.Split(pair, ",") + key, err := strconv.ParseInt(kv[0], 10, 64) + if err != nil { + // 错误处理 + fmt.Println("无法转换为int64:", kv[0]) + continue } - data.ItemID = resultMap + value, err := strconv.ParseInt(kv[1], 10, 64) + if err != nil { + // 错误处理 + fmt.Println("无法转换为int64:", kv[1]) + continue + } + resultMap[key] = value } - - + data.ItemID = resultMap + } break } @@ -2352,26 +1610,26 @@ func AgcConvertDB_CollectBox(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_CollectBoxGain(fi,fo string) { + +func AgcConvertDB_CollectBoxGain(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -2385,19 +1643,19 @@ func AgcConvertDB_CollectBoxGain(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_CollectBoxGainArray{ - Arr:make([]*server.DB_CollectBoxGain, 0, len(sheet.Rows)), + arr := &server.DB_CollectBoxGainArray{ + Arr: make([]*server.DB_CollectBoxGain, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -2405,40 +1663,25 @@ func AgcConvertDB_CollectBoxGain(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_CollectBoxGain{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.Rate = int32(temp) - - - - - - - - break } @@ -2446,26 +1689,26 @@ func AgcConvertDB_CollectBoxGain(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_CrashSearch(fi,fo string) { + +func AgcConvertDB_CrashSearch(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -2479,19 +1722,19 @@ func AgcConvertDB_CrashSearch(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_CrashSearchArray{ - Arr:make([]*server.DB_CrashSearch, 0, len(sheet.Rows)), + arr := &server.DB_CrashSearchArray{ + Arr: make([]*server.DB_CrashSearch, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -2499,54 +1742,32 @@ func AgcConvertDB_CrashSearch(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_CrashSearch{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.Time = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.Price = int32(temp) - - - - - - - - break } @@ -2554,26 +1775,26 @@ func AgcConvertDB_CrashSearch(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_Createroom(fi,fo string) { + +func AgcConvertDB_Createroom(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -2587,19 +1808,19 @@ func AgcConvertDB_Createroom(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_CreateroomArray{ - Arr:make([]*server.DB_Createroom, 0, len(sheet.Rows)), + arr := &server.DB_CreateroomArray{ + Arr: make([]*server.DB_Createroom, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -2607,61 +1828,37 @@ func AgcConvertDB_Createroom(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_Createroom{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.GameId = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.GameSite = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - - - - + arrStr = strings.Split(row.Cells[3].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[3].String() != "" { @@ -2672,18 +1869,11 @@ func AgcConvertDB_Createroom(fi,fo string) { } } data.GoldRange = arrInt - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - - - - + arrStr = strings.Split(row.Cells[4].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[4].String() != "" { @@ -2694,11 +1884,6 @@ func AgcConvertDB_Createroom(fi,fo string) { } } data.BetRange = arrInt - - - - - break } @@ -2706,26 +1891,26 @@ func AgcConvertDB_Createroom(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_Fish(fi,fo string) { + +func AgcConvertDB_Fish(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -2739,19 +1924,19 @@ func AgcConvertDB_Fish(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_FishArray{ - Arr:make([]*server.DB_Fish, 0, len(sheet.Rows)), + arr := &server.DB_FishArray{ + Arr: make([]*server.DB_Fish, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -2759,59 +1944,35 @@ func AgcConvertDB_Fish(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_Fish{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - - - + data.Name = row.Cells[1].String() - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - - - + data.NameE = row.Cells[2].String() - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - - - - + arrStr = strings.Split(row.Cells[3].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[3].String() != "" { @@ -2822,143 +1983,73 @@ func AgcConvertDB_Fish(fi,fo string) { } } data.Gold = arrInt - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - - - + data.Icon = row.Cells[4].String() - - - - - - - if len(row.Cells)<5+1{ + + if len(row.Cells) < 5+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[5].String(), 10, 32) data.Speed = int32(temp) - - - - - - - - - if len(row.Cells)<6+1{ + + if len(row.Cells) < 6+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[6].String(), 10, 32) data.Exp = int32(temp) - - - - - - - - - if len(row.Cells)<7+1{ + + if len(row.Cells) < 7+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[7].String(), 10, 32) data.FrameCnt = int32(temp) - - - - - - - - - if len(row.Cells)<8+1{ + + if len(row.Cells) < 8+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[8].String(), 10, 32) data.FrameDelay = int32(temp) - - - - - - - - - if len(row.Cells)<9+1{ + + if len(row.Cells) < 9+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[9].String(), 10, 32) data.Rate = int32(temp) - - - - - - - - - if len(row.Cells)<10+1{ + + if len(row.Cells) < 10+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[10].String(), 10, 32) data.ShowType = int32(temp) - - - - - - - - - if len(row.Cells)<11+1{ + + if len(row.Cells) < 11+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[11].String(), 10, 32) data.Show = int32(temp) - - - - - - - - - if len(row.Cells)<12+1{ + + if len(row.Cells) < 12+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[12].String(), 10, 32) data.ShowScale = int32(temp) - - - - - - - - - if len(row.Cells)<13+1{ + + if len(row.Cells) < 13+1 { break } - - - - + arrStr = strings.Split(row.Cells[13].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[13].String() != "" { @@ -2969,169 +2060,85 @@ func AgcConvertDB_Fish(fi,fo string) { } } data.ShowPos = arrInt - - - - - - if len(row.Cells)<14+1{ + + if len(row.Cells) < 14+1 { break } - - - + data.DieSound = row.Cells[14].String() - - - - - - - if len(row.Cells)<15+1{ + + if len(row.Cells) < 15+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[15].String(), 10, 32) data.DieFrame = int32(temp) - - - - - - - - - if len(row.Cells)<16+1{ + + if len(row.Cells) < 16+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[16].String(), 10, 32) data.DieRotate = int32(temp) - - - - - - - - - if len(row.Cells)<17+1{ + + if len(row.Cells) < 17+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[17].String(), 10, 32) data.DieEffect = int32(temp) - - - - - - - - - if len(row.Cells)<18+1{ + + if len(row.Cells) < 18+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[18].String(), 10, 32) data.DieShake = int32(temp) - - - - - - - - - if len(row.Cells)<19+1{ + + if len(row.Cells) < 19+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[19].String(), 10, 32) data.ShakeRange = int32(temp) - - - - - - - - - if len(row.Cells)<20+1{ + + if len(row.Cells) < 20+1 { break } - - - + data.Shape = row.Cells[20].String() - - - - - - - if len(row.Cells)<21+1{ + + if len(row.Cells) < 21+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[21].String(), 10, 32) data.IsBoss = int32(temp) - - - - - - - - - if len(row.Cells)<22+1{ + + if len(row.Cells) < 22+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[22].String(), 10, 32) data.ResId = int32(temp) - - - - - - - - - if len(row.Cells)<23+1{ + + if len(row.Cells) < 23+1 { break } - - - + data.DieParticle = row.Cells[23].String() - - - - - - - if len(row.Cells)<24+1{ + + if len(row.Cells) < 24+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[24].String(), 10, 32) data.GroupShape = int32(temp) - - - - - - - - - if len(row.Cells)<25+1{ + + if len(row.Cells) < 25+1 { break } - - - - + arrStr = strings.Split(row.Cells[25].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[25].String() != "" { @@ -3142,132 +2149,64 @@ func AgcConvertDB_Fish(fi,fo string) { } } data.GroupFishes = arrInt - - - - - - if len(row.Cells)<26+1{ + + if len(row.Cells) < 26+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[26].String(), 10, 32) data.Zorder = int32(temp) - - - - - - - - - if len(row.Cells)<27+1{ + + if len(row.Cells) < 27+1 { break } - - - + data.ResPng = row.Cells[27].String() - - - - - - - if len(row.Cells)<28+1{ + + if len(row.Cells) < 28+1 { break } - - - + data.ResPlist = row.Cells[28].String() - - - - - - - if len(row.Cells)<29+1{ + + if len(row.Cells) < 29+1 { break } - - - + data.ExportJson = row.Cells[29].String() - - - - - - - if len(row.Cells)<30+1{ + + if len(row.Cells) < 30+1 { break } - - - + data.AimIcon = row.Cells[30].String() - - - - - - - if len(row.Cells)<31+1{ + + if len(row.Cells) < 31+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[31].String(), 10, 32) data.GameId = int32(temp) - - - - - - - - - if len(row.Cells)<32+1{ + + if len(row.Cells) < 32+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[32].String(), 10, 32) data.Sort = int32(temp) - - - - - - - - - if len(row.Cells)<33+1{ + + if len(row.Cells) < 33+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[33].String(), 10, 32) data.FishType = int32(temp) - - - - - - - - - if len(row.Cells)<34+1{ + + if len(row.Cells) < 34+1 { break } - - - + data.RandomCoin = row.Cells[34].String() - - - - - - break } @@ -3275,26 +2214,26 @@ func AgcConvertDB_Fish(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_FishOut(fi,fo string) { + +func AgcConvertDB_FishOut(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -3308,19 +2247,19 @@ func AgcConvertDB_FishOut(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_FishOutArray{ - Arr:make([]*server.DB_FishOut, 0, len(sheet.Rows)), + arr := &server.DB_FishOutArray{ + Arr: make([]*server.DB_FishOut, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -3328,74 +2267,43 @@ func AgcConvertDB_FishOut(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_FishOut{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.SceneType = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - - - + data.Name = row.Cells[2].String() - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 32) data.Exp = int32(temp) - - - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - - - - + arrStr = strings.Split(row.Cells[4].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[4].String() != "" { @@ -3406,18 +2314,11 @@ func AgcConvertDB_FishOut(fi,fo string) { } } data.Multiple = arrInt - - - - - - if len(row.Cells)<5+1{ + + if len(row.Cells) < 5+1 { break } - - - - + arrStr = strings.Split(row.Cells[5].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[5].String() != "" { @@ -3428,18 +2329,11 @@ func AgcConvertDB_FishOut(fi,fo string) { } } data.Path = arrInt - - - - - - if len(row.Cells)<6+1{ + + if len(row.Cells) < 6+1 { break } - - - - + arrStr = strings.Split(row.Cells[6].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[6].String() != "" { @@ -3450,53 +2344,27 @@ func AgcConvertDB_FishOut(fi,fo string) { } } data.Count = arrInt - - - - - - if len(row.Cells)<7+1{ + + if len(row.Cells) < 7+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[7].String(), 10, 32) data.RefreshInterval = int32(temp) - - - - - - - - - if len(row.Cells)<8+1{ + + if len(row.Cells) < 8+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[8].String(), 10, 32) data.Speed = int32(temp) - - - - - - - - - if len(row.Cells)<9+1{ + + if len(row.Cells) < 9+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[9].String(), 10, 32) data.Event = int32(temp) - - - - - - - - break } @@ -3504,26 +2372,26 @@ func AgcConvertDB_FishOut(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_FishPath(fi,fo string) { + +func AgcConvertDB_FishPath(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -3537,19 +2405,19 @@ func AgcConvertDB_FishPath(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_FishPathArray{ - Arr:make([]*server.DB_FishPath, 0, len(sheet.Rows)), + arr := &server.DB_FishPathArray{ + Arr: make([]*server.DB_FishPath, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -3557,54 +2425,32 @@ func AgcConvertDB_FishPath(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_FishPath{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.AppearTime = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.DisappearTime = int32(temp) - - - - - - - - break } @@ -3612,26 +2458,26 @@ func AgcConvertDB_FishPath(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_FishRoom(fi,fo string) { + +func AgcConvertDB_FishRoom(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -3645,19 +2491,19 @@ func AgcConvertDB_FishRoom(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_FishRoomArray{ - Arr:make([]*server.DB_FishRoom, 0, len(sheet.Rows)), + arr := &server.DB_FishRoomArray{ + Arr: make([]*server.DB_FishRoom, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -3665,172 +2511,87 @@ func AgcConvertDB_FishRoom(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_FishRoom{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.RoomId = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - - - + data.Name = row.Cells[2].String() - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - - - + data.SumGold1 = row.Cells[3].String() - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - - - + data.SumGold2 = row.Cells[4].String() - - - - - - - if len(row.Cells)<5+1{ + + if len(row.Cells) < 5+1 { break } - - - + data.SumGold3 = row.Cells[5].String() - - - - - - - if len(row.Cells)<6+1{ + + if len(row.Cells) < 6+1 { break } - - - + data.SumGold4 = row.Cells[6].String() - - - - - - - if len(row.Cells)<7+1{ + + if len(row.Cells) < 7+1 { break } - - - + data.SumGold5 = row.Cells[7].String() - - - - - - - if len(row.Cells)<8+1{ + + if len(row.Cells) < 8+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[8].String(), 10, 32) data.BossCDTime = int32(temp) - - - - - - - - - if len(row.Cells)<9+1{ + + if len(row.Cells) < 9+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[9].String(), 10, 32) data.LittleBossCDTime = int32(temp) - - - - - - - - - if len(row.Cells)<10+1{ + + if len(row.Cells) < 10+1 { break } - - - + data.EnableBoss = row.Cells[10].String() - - - - - - - if len(row.Cells)<11+1{ + + if len(row.Cells) < 11+1 { break } - - - + data.EnableLittleBoss = row.Cells[11].String() - - - - - - break } @@ -3838,26 +2599,26 @@ func AgcConvertDB_FishRoom(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_FishSkill(fi,fo string) { + +func AgcConvertDB_FishSkill(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -3871,19 +2632,19 @@ func AgcConvertDB_FishSkill(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_FishSkillArray{ - Arr:make([]*server.DB_FishSkill, 0, len(sheet.Rows)), + arr := &server.DB_FishSkillArray{ + Arr: make([]*server.DB_FishSkill, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -3891,74 +2652,43 @@ func AgcConvertDB_FishSkill(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_FishSkill{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - - - + data.Name = row.Cells[1].String() - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.Vip = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 32) data.Consume = int32(temp) - - - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - - - - + arrStr = strings.Split(row.Cells[4].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[4].String() != "" { @@ -3969,18 +2699,11 @@ func AgcConvertDB_FishSkill(fi,fo string) { } } data.Item = arrInt - - - - - - if len(row.Cells)<5+1{ + + if len(row.Cells) < 5+1 { break } - - - - + arrStr = strings.Split(row.Cells[5].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[5].String() != "" { @@ -3991,190 +2714,94 @@ func AgcConvertDB_FishSkill(fi,fo string) { } } data.OtherConsumer = arrInt - - - - - - if len(row.Cells)<6+1{ + + if len(row.Cells) < 6+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[6].String(), 10, 32) data.Multiple = int32(temp) - - - - - - - - - if len(row.Cells)<7+1{ + + if len(row.Cells) < 7+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[7].String(), 10, 32) data.Duration = int32(temp) - - - - - - - - - if len(row.Cells)<8+1{ + + if len(row.Cells) < 8+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[8].String(), 10, 32) data.SkillGroups = int32(temp) - - - - - - - - - if len(row.Cells)<9+1{ + + if len(row.Cells) < 9+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[9].String(), 10, 32) data.GCD = int32(temp) - - - - - - - - - if len(row.Cells)<10+1{ + + if len(row.Cells) < 10+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[10].String(), 10, 32) data.Cooldown = int32(temp) - - - - - - - - - if len(row.Cells)<11+1{ + + if len(row.Cells) < 11+1 { break } - - - + data.Hidden = row.Cells[11].String() - - - - - - - if len(row.Cells)<12+1{ + + if len(row.Cells) < 12+1 { break } - - - + data.Describe = row.Cells[12].String() - - - - - - - if len(row.Cells)<13+1{ + + if len(row.Cells) < 13+1 { break } - - - + data.Boss = row.Cells[13].String() - - - - - - - if len(row.Cells)<14+1{ + + if len(row.Cells) < 14+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[14].String(), 10, 32) data.Type = int32(temp) - - - - - - - - - if len(row.Cells)<15+1{ + + if len(row.Cells) < 15+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[15].String(), 10, 32) data.Limit = int32(temp) - - - - - - - - - if len(row.Cells)<16+1{ + + if len(row.Cells) < 16+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[16].String(), 10, 32) data.Mutex = int32(temp) - - - - - - - - - if len(row.Cells)<17+1{ + + if len(row.Cells) < 17+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[17].String(), 10, 32) data.MutexTime = int32(temp) - - - - - - - - - if len(row.Cells)<18+1{ + + if len(row.Cells) < 18+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[18].String(), 10, 32) data.Fury = int32(temp) - - - - - - - - break } @@ -4182,26 +2809,26 @@ func AgcConvertDB_FishSkill(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_FortuneGod_Odds(fi,fo string) { + +func AgcConvertDB_FortuneGod_Odds(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -4215,19 +2842,19 @@ func AgcConvertDB_FortuneGod_Odds(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_FortuneGod_OddsArray{ - Arr:make([]*server.DB_FortuneGod_Odds, 0, len(sheet.Rows)), + arr := &server.DB_FortuneGod_OddsArray{ + Arr: make([]*server.DB_FortuneGod_Odds, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -4235,81 +2862,45 @@ func AgcConvertDB_FortuneGod_Odds(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_FortuneGod_Odds{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - - - + data.Name = row.Cells[1].String() - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.Rateodds3 = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 32) data.Rateodds4 = int32(temp) - - - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[4].String(), 10, 32) data.Rateodds5 = int32(temp) - - - - - - - - break } @@ -4317,26 +2908,26 @@ func AgcConvertDB_FortuneGod_Odds(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_FortuneGod_TurnRate(fi,fo string) { + +func AgcConvertDB_FortuneGod_TurnRate(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -4350,19 +2941,19 @@ func AgcConvertDB_FortuneGod_TurnRate(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_FortuneGod_TurnRateArray{ - Arr:make([]*server.DB_FortuneGod_TurnRate, 0, len(sheet.Rows)), + arr := &server.DB_FortuneGod_TurnRateArray{ + Arr: make([]*server.DB_FortuneGod_TurnRate, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -4370,61 +2961,37 @@ func AgcConvertDB_FortuneGod_TurnRate(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_FortuneGod_TurnRate{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.ReturnRateMin = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.ReturnRateMax = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - - - - + arrStr = strings.Split(row.Cells[3].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[3].String() != "" { @@ -4435,11 +3002,6 @@ func AgcConvertDB_FortuneGod_TurnRate(fi,fo string) { } } data.Chance = arrInt - - - - - break } @@ -4447,26 +3009,26 @@ func AgcConvertDB_FortuneGod_TurnRate(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_FortuneGod_Weight(fi,fo string) { + +func AgcConvertDB_FortuneGod_Weight(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -4480,19 +3042,19 @@ func AgcConvertDB_FortuneGod_Weight(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_FortuneGod_WeightArray{ - Arr:make([]*server.DB_FortuneGod_Weight, 0, len(sheet.Rows)), + arr := &server.DB_FortuneGod_WeightArray{ + Arr: make([]*server.DB_FortuneGod_Weight, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -4500,46 +3062,29 @@ func AgcConvertDB_FortuneGod_Weight(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_FortuneGod_Weight{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - - - + data.Name = row.Cells[1].String() - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - - - - + arrStr = strings.Split(row.Cells[2].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[2].String() != "" { @@ -4550,11 +3095,6 @@ func AgcConvertDB_FortuneGod_Weight(fi,fo string) { } } data.Weight = arrInt - - - - - break } @@ -4562,26 +3102,26 @@ func AgcConvertDB_FortuneGod_Weight(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_FortuneGod_WeightCondition(fi,fo string) { + +func AgcConvertDB_FortuneGod_WeightCondition(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -4595,19 +3135,19 @@ func AgcConvertDB_FortuneGod_WeightCondition(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_FortuneGod_WeightConditionArray{ - Arr:make([]*server.DB_FortuneGod_WeightCondition, 0, len(sheet.Rows)), + arr := &server.DB_FortuneGod_WeightConditionArray{ + Arr: make([]*server.DB_FortuneGod_WeightCondition, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -4615,47 +3155,30 @@ func AgcConvertDB_FortuneGod_WeightCondition(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_FortuneGod_WeightCondition{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.IsNew = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - - - - + arrStr = strings.Split(row.Cells[2].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[2].String() != "" { @@ -4666,18 +3189,11 @@ func AgcConvertDB_FortuneGod_WeightCondition(fi,fo string) { } } data.BetScope = arrInt - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - - - - + arrStr = strings.Split(row.Cells[3].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[3].String() != "" { @@ -4688,25 +3204,13 @@ func AgcConvertDB_FortuneGod_WeightCondition(fi,fo string) { } } data.TrueCalcRate = arrInt - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[4].String(), 10, 32) data.WeightId = int32(temp) - - - - - - - - break } @@ -4714,26 +3218,26 @@ func AgcConvertDB_FortuneGod_WeightCondition(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_GamMatchLV(fi,fo string) { + +func AgcConvertDB_GamMatchLV(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -4747,19 +3251,19 @@ func AgcConvertDB_GamMatchLV(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_GamMatchLVArray{ - Arr:make([]*server.DB_GamMatchLV, 0, len(sheet.Rows)), + arr := &server.DB_GamMatchLVArray{ + Arr: make([]*server.DB_GamMatchLV, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -4767,33 +3271,23 @@ func AgcConvertDB_GamMatchLV(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_GamMatchLV{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - - - - + arrStr = strings.Split(row.Cells[1].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[1].String() != "" { @@ -4804,164 +3298,82 @@ func AgcConvertDB_GamMatchLV(fi,fo string) { } } data.Star = arrInt - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - - - + data.Name = row.Cells[2].String() - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 32) data.Star2 = int32(temp) - - - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[4].String(), 10, 32) data.AwardType1 = int32(temp) - - - - - - - - - if len(row.Cells)<5+1{ + + if len(row.Cells) < 5+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[5].String(), 10, 32) data.AwardId1 = int32(temp) - - - - - - - - - if len(row.Cells)<6+1{ + + if len(row.Cells) < 6+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[6].String(), 10, 32) data.Number1 = int32(temp) - - - - - - - - - if len(row.Cells)<7+1{ + + if len(row.Cells) < 7+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[7].String(), 10, 32) data.AwardType2 = int32(temp) - - - - - - - - - if len(row.Cells)<8+1{ + + if len(row.Cells) < 8+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[8].String(), 10, 32) data.AwardId2 = int32(temp) - - - - - - - - - if len(row.Cells)<9+1{ + + if len(row.Cells) < 9+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[9].String(), 10, 32) data.Number2 = int32(temp) - - - - - - - - - if len(row.Cells)<10+1{ + + if len(row.Cells) < 10+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[10].String(), 10, 32) data.AwardType3 = int32(temp) - - - - - - - - - if len(row.Cells)<11+1{ + + if len(row.Cells) < 11+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[11].String(), 10, 32) data.AwardId3 = int32(temp) - - - - - - - - - if len(row.Cells)<12+1{ + + if len(row.Cells) < 12+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[12].String(), 10, 32) data.Number3 = int32(temp) - - - - - - - - break } @@ -4969,26 +3381,26 @@ func AgcConvertDB_GamMatchLV(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_GameCoinPool(fi,fo string) { + +func AgcConvertDB_GameCoinPool(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -5002,19 +3414,19 @@ func AgcConvertDB_GameCoinPool(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_GameCoinPoolArray{ - Arr:make([]*server.DB_GameCoinPool, 0, len(sheet.Rows)), + arr := &server.DB_GameCoinPoolArray{ + Arr: make([]*server.DB_GameCoinPool, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -5022,180 +3434,95 @@ func AgcConvertDB_GameCoinPool(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_GameCoinPool{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - - + temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 64) data.InitValue = int64(temp) - - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - - + temp, _ = strconv.ParseInt(row.Cells[4].String(), 10, 64) data.LowerLimit = int64(temp) - - - - - - - - if len(row.Cells)<5+1{ + + if len(row.Cells) < 5+1 { break } - - + temp, _ = strconv.ParseInt(row.Cells[5].String(), 10, 64) data.UpperLimit = int64(temp) - - - - - - - - if len(row.Cells)<6+1{ + + if len(row.Cells) < 6+1 { break } - - + temp, _ = strconv.ParseInt(row.Cells[6].String(), 10, 64) data.QuDu = int64(temp) - - - - - - - - if len(row.Cells)<7+1{ + + if len(row.Cells) < 7+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[7].String(), 10, 32) data.UpperOdds = int32(temp) - - - - - - - - - if len(row.Cells)<8+1{ + + if len(row.Cells) < 8+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[8].String(), 10, 32) data.UpperOddsMax = int32(temp) - - - - - - - - - if len(row.Cells)<9+1{ + + if len(row.Cells) < 9+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[9].String(), 10, 32) data.LowerOdds = int32(temp) - - - - - - - - - if len(row.Cells)<10+1{ + + if len(row.Cells) < 10+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[10].String(), 10, 32) data.LowerOddsMax = int32(temp) - - - - - - - - - if len(row.Cells)<11+1{ + + if len(row.Cells) < 11+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[11].String(), 10, 32) data.ProfitRate = int32(temp) - - - - - - - - - if len(row.Cells)<12+1{ + + if len(row.Cells) < 12+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[12].String(), 10, 32) data.CtrlRate = int32(temp) - - - - - - - - - if len(row.Cells)<13+1{ + + if len(row.Cells) < 13+1 { break } - - + temp, _ = strconv.ParseInt(row.Cells[13].String(), 10, 64) data.InitNovicValue = int64(temp) - - - - - - - break } @@ -5203,26 +3530,26 @@ func AgcConvertDB_GameCoinPool(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_GameFree(fi,fo string) { + +func AgcConvertDB_GameFree(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -5236,19 +3563,19 @@ func AgcConvertDB_GameFree(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_GameFreeArray{ - Arr:make([]*server.DB_GameFree, 0, len(sheet.Rows)), + arr := &server.DB_GameFreeArray{ + Arr: make([]*server.DB_GameFree, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -5256,365 +3583,187 @@ func AgcConvertDB_GameFree(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_GameFree{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - - - + data.Name = row.Cells[1].String() - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - - - + data.Title = row.Cells[2].String() - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 32) data.GameId = int32(temp) - - - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[4].String(), 10, 32) data.GameMode = int32(temp) - - - - - - - - - if len(row.Cells)<5+1{ + + if len(row.Cells) < 5+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[5].String(), 10, 32) data.FreeMode = int32(temp) - - - - - - - - - if len(row.Cells)<6+1{ + + if len(row.Cells) < 6+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[6].String(), 10, 32) data.GameRule = int32(temp) - - - - - - - - - if len(row.Cells)<7+1{ + + if len(row.Cells) < 7+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[7].String(), 10, 32) data.GameType = int32(temp) - - - - - - - - - if len(row.Cells)<8+1{ + + if len(row.Cells) < 8+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[8].String(), 10, 32) data.SceneType = int32(temp) - - - - - - - - - if len(row.Cells)<9+1{ + + if len(row.Cells) < 9+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[9].String(), 10, 32) data.RankType = int32(temp) - - - - - - - - - if len(row.Cells)<10+1{ + + if len(row.Cells) < 10+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[10].String(), 10, 32) data.SceneAdd = int32(temp) - - - - - - - - - if len(row.Cells)<11+1{ + + if len(row.Cells) < 11+1 { break } - - - + data.Desc = row.Cells[11].String() - - - - - - - if len(row.Cells)<12+1{ + + if len(row.Cells) < 12+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[12].String(), 10, 32) data.ShowType = int32(temp) - - - - - - - - - if len(row.Cells)<13+1{ + + if len(row.Cells) < 13+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[13].String(), 10, 32) data.SubShowType = int32(temp) - - - - - - - - - if len(row.Cells)<14+1{ + + if len(row.Cells) < 14+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[14].String(), 10, 32) data.Flag = int32(temp) - - - - - - - - - if len(row.Cells)<15+1{ + + if len(row.Cells) < 15+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[15].String(), 10, 32) data.TestTakeCoin = int32(temp) - - - - - - - - - if len(row.Cells)<16+1{ + + if len(row.Cells) < 16+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[16].String(), 10, 32) data.ShowId = int32(temp) - - - - - - - - - if len(row.Cells)<17+1{ + + if len(row.Cells) < 17+1 { break } - - + temp, _ = strconv.ParseInt(row.Cells[17].String(), 10, 64) data.LimitCoin = int64(temp) - - - - - - - - if len(row.Cells)<18+1{ + + if len(row.Cells) < 18+1 { break } - - + temp, _ = strconv.ParseInt(row.Cells[18].String(), 10, 64) data.MaxCoinLimit = int64(temp) - - - - - - - - if len(row.Cells)<19+1{ + + if len(row.Cells) < 19+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[19].String(), 10, 32) data.ServiceFee = int32(temp) - - - - - - - - - if len(row.Cells)<20+1{ + + if len(row.Cells) < 20+1 { break } - - + temp, _ = strconv.ParseInt(row.Cells[20].String(), 10, 64) data.LowerThanKick = int64(temp) - - - - - - - - if len(row.Cells)<21+1{ + + if len(row.Cells) < 21+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[21].String(), 10, 32) data.BaseScore = int32(temp) - - - - - - - - - if len(row.Cells)<22+1{ + + if len(row.Cells) < 22+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[22].String(), 10, 32) data.Turn = int32(temp) - - - - - - - - - if len(row.Cells)<23+1{ + + if len(row.Cells) < 23+1 { break } - - - + data.BetDec = row.Cells[23].String() - - - - - - - if len(row.Cells)<24+1{ + + if len(row.Cells) < 24+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[24].String(), 10, 32) data.Bot = int32(temp) - - - - - - - - - if len(row.Cells)<25+1{ + + if len(row.Cells) < 25+1 { break } - - - - + arrStr = strings.Split(row.Cells[25].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[25].String() != "" { @@ -5625,48 +3774,25 @@ func AgcConvertDB_GameFree(fi,fo string) { } } data.Ai = arrInt - - - - - - if len(row.Cells)<26+1{ + + if len(row.Cells) < 26+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[26].String(), 10, 32) data.Banker = int32(temp) - - - - - - - - - if len(row.Cells)<27+1{ + + if len(row.Cells) < 27+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[27].String(), 10, 32) data.MaxChip = int32(temp) - - - - - - - - - if len(row.Cells)<28+1{ + + if len(row.Cells) < 28+1 { break } - - - - - - + arrStr = strings.Split(row.Cells[28].String(), "|") arrInt64 = nil if len(arrStr) > 0 && row.Cells[28].String() != "" { @@ -5677,18 +3803,11 @@ func AgcConvertDB_GameFree(fi,fo string) { } } data.OtherIntParams = arrInt64 - - - - if len(row.Cells)<29+1{ + + if len(row.Cells) < 29+1 { break } - - - - - - + arrStr = strings.Split(row.Cells[29].String(), "|") arrInt64 = nil if len(arrStr) > 0 && row.Cells[29].String() != "" { @@ -5699,18 +3818,11 @@ func AgcConvertDB_GameFree(fi,fo string) { } } data.ChessScoreParams = arrInt64 - - - - if len(row.Cells)<30+1{ + + if len(row.Cells) < 30+1 { break } - - - - - - + arrStr = strings.Split(row.Cells[30].String(), "|") arrInt64 = nil if len(arrStr) > 0 && row.Cells[30].String() != "" { @@ -5721,16 +3833,11 @@ func AgcConvertDB_GameFree(fi,fo string) { } } data.RankScoreParams = arrInt64 - - - - if len(row.Cells)<31+1{ + + if len(row.Cells) < 31+1 { break } - - - - + arrStr = strings.Split(row.Cells[31].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[31].String() != "" { @@ -5741,18 +3848,11 @@ func AgcConvertDB_GameFree(fi,fo string) { } } data.Jackpot = arrInt - - - - - - if len(row.Cells)<32+1{ + + if len(row.Cells) < 32+1 { break } - - - - + arrStr = strings.Split(row.Cells[32].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[32].String() != "" { @@ -5763,20 +3863,11 @@ func AgcConvertDB_GameFree(fi,fo string) { } } data.RobotNumRng = arrInt - - - - - - if len(row.Cells)<33+1{ + + if len(row.Cells) < 33+1 { break } - - - - - - + arrStr = strings.Split(row.Cells[33].String(), "|") arrInt64 = nil if len(arrStr) > 0 && row.Cells[33].String() != "" { @@ -5787,18 +3878,11 @@ func AgcConvertDB_GameFree(fi,fo string) { } } data.RobotTakeCoin = arrInt64 - - - - if len(row.Cells)<34+1{ + + if len(row.Cells) < 34+1 { break } - - - - - - + arrStr = strings.Split(row.Cells[34].String(), "|") arrInt64 = nil if len(arrStr) > 0 && row.Cells[34].String() != "" { @@ -5809,112 +3893,58 @@ func AgcConvertDB_GameFree(fi,fo string) { } } data.RobotLimitCoin = arrInt64 - - - - if len(row.Cells)<35+1{ + + if len(row.Cells) < 35+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[35].String(), 10, 32) data.BetLimit = int32(temp) - - - - - - - - - if len(row.Cells)<36+1{ + + if len(row.Cells) < 36+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[36].String(), 10, 32) data.TaxRate = int32(temp) - - - - - - - - - if len(row.Cells)<37+1{ + + if len(row.Cells) < 37+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[37].String(), 10, 32) data.SameIpLimit = int32(temp) - - - - - - - - - if len(row.Cells)<38+1{ + + if len(row.Cells) < 38+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[38].String(), 10, 32) data.SamePlaceLimit = int32(temp) - - - - - - - - - if len(row.Cells)<39+1{ + + if len(row.Cells) < 39+1 { break } - - - + data.GameDif = row.Cells[39].String() - - - - - - - if len(row.Cells)<40+1{ + + if len(row.Cells) < 40+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[40].String(), 10, 32) data.GameClass = int32(temp) - - - - - - - - - if len(row.Cells)<41+1{ + + if len(row.Cells) < 41+1 { break } - - - + data.PlatformName = row.Cells[41].String() - - - - - - - if len(row.Cells)<42+1{ + + if len(row.Cells) < 42+1 { break } - - - - + arrStr = strings.Split(row.Cells[42].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[42].String() != "" { @@ -5925,143 +3955,73 @@ func AgcConvertDB_GameFree(fi,fo string) { } } data.MaxBetCoin = arrInt - - - - - - if len(row.Cells)<43+1{ + + if len(row.Cells) < 43+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[43].String(), 10, 32) data.PlayNumLimit = int32(temp) - - - - - - - - - if len(row.Cells)<44+1{ + + if len(row.Cells) < 44+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[44].String(), 10, 32) data.CreateRoomNum = int32(temp) - - - - - - - - - if len(row.Cells)<45+1{ + + if len(row.Cells) < 45+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[45].String(), 10, 32) data.MatchTrueMan = int32(temp) - - - - - - - - - if len(row.Cells)<46+1{ + + if len(row.Cells) < 46+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[46].String(), 10, 32) data.PlayerWaterRate = int32(temp) - - - - - - - - - if len(row.Cells)<47+1{ + + if len(row.Cells) < 47+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[47].String(), 10, 32) data.MatchMode = int32(temp) - - - - - - - - - if len(row.Cells)<48+1{ + + if len(row.Cells) < 48+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[48].String(), 10, 32) data.KillingRate = int32(temp) - - - - - - - - - if len(row.Cells)<49+1{ + + if len(row.Cells) < 49+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[49].String(), 10, 32) data.BetWaterRate = int32(temp) - - - - - - - - - if len(row.Cells)<50+1{ + + if len(row.Cells) < 50+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[50].String(), 10, 32) data.Lottery = int32(temp) - - - - - - - - - if len(row.Cells)<51+1{ + + if len(row.Cells) < 51+1 { break } - - - + data.LotteryConfig = row.Cells[51].String() - - - - - - - if len(row.Cells)<52+1{ + + if len(row.Cells) < 52+1 { break } - - - - + arrStr = strings.Split(row.Cells[52].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[52].String() != "" { @@ -6072,46 +4032,25 @@ func AgcConvertDB_GameFree(fi,fo string) { } } data.BalanceLine = arrInt - - - - - - if len(row.Cells)<53+1{ + + if len(row.Cells) < 53+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[53].String(), 10, 32) data.JackpotRatio = int32(temp) - - - - - - - - - if len(row.Cells)<54+1{ + + if len(row.Cells) < 54+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[54].String(), 10, 32) data.JackpotMin = int32(temp) - - - - - - - - - if len(row.Cells)<55+1{ + + if len(row.Cells) < 55+1 { break } - - - - + arrStr = strings.Split(row.Cells[55].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[55].String() != "" { @@ -6122,220 +4061,110 @@ func AgcConvertDB_GameFree(fi,fo string) { } } data.ChessGradeLimit = arrInt - - - - - - if len(row.Cells)<56+1{ + + if len(row.Cells) < 56+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[56].String(), 10, 32) data.LeaveDeduct = int32(temp) - - - - - - - - - if len(row.Cells)<57+1{ + + if len(row.Cells) < 57+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[57].String(), 10, 32) data.LeaveCombat = int32(temp) - - - - - - - - - if len(row.Cells)<58+1{ + + if len(row.Cells) < 58+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[58].String(), 10, 32) data.IntuseCannonMin = int32(temp) - - - - - - - - - if len(row.Cells)<59+1{ + + if len(row.Cells) < 59+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[59].String(), 10, 32) data.IntuseCannonMax = int32(temp) - - - - - - - - - if len(row.Cells)<60+1{ + + if len(row.Cells) < 60+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[60].String(), 10, 32) data.BossDrainageBet = int32(temp) - - - - - - - - - if len(row.Cells)<61+1{ + + if len(row.Cells) < 61+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[61].String(), 10, 32) data.Draw = int32(temp) - - - - - - - - - if len(row.Cells)<62+1{ + + if len(row.Cells) < 62+1 { break } - - + temp, _ = strconv.ParseInt(row.Cells[62].String(), 10, 64) data.Fluctuate = int64(temp) - - - - - - - - if len(row.Cells)<63+1{ + + if len(row.Cells) < 63+1 { break } - - - + data.FluctuateMax = row.Cells[63].String() - - - - - - - if len(row.Cells)<64+1{ + + if len(row.Cells) < 64+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[64].String(), 10, 32) data.Ratio = int32(temp) - - - - - - - - - if len(row.Cells)<65+1{ + + if len(row.Cells) < 65+1 { break } - - + temp, _ = strconv.ParseInt(row.Cells[65].String(), 10, 64) data.MinValue = int64(temp) - - - - - - - - if len(row.Cells)<66+1{ + + if len(row.Cells) < 66+1 { break } - - + temp, _ = strconv.ParseInt(row.Cells[66].String(), 10, 64) data.MaxValue = int64(temp) - - - - - - - - if len(row.Cells)<67+1{ + + if len(row.Cells) < 67+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[67].String(), 10, 32) data.DrainageBet = int32(temp) - - - - - - - - - if len(row.Cells)<68+1{ + + if len(row.Cells) < 68+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[68].String(), 10, 32) data.DiamondDrop = int32(temp) - - - - - - - - - if len(row.Cells)<69+1{ + + if len(row.Cells) < 69+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[69].String(), 10, 32) data.NegativeMax = int32(temp) - - - - - - - - - if len(row.Cells)<70+1{ + + if len(row.Cells) < 70+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[70].String(), 10, 32) data.RatioMax = int32(temp) - - - - - - - - break } @@ -6343,26 +4172,26 @@ func AgcConvertDB_GameFree(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_GameItem(fi,fo string) { + +func AgcConvertDB_GameItem(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -6376,19 +4205,19 @@ func AgcConvertDB_GameItem(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_GameItemArray{ - Arr:make([]*server.DB_GameItem, 0, len(sheet.Rows)), + arr := &server.DB_GameItemArray{ + Arr: make([]*server.DB_GameItem, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -6396,46 +4225,29 @@ func AgcConvertDB_GameItem(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_GameItem{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - - - + data.Name = row.Cells[1].String() - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - - - - + arrStr = strings.Split(row.Cells[2].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[2].String() != "" { @@ -6446,18 +4258,11 @@ func AgcConvertDB_GameItem(fi,fo string) { } } data.ShowLocation = arrInt - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - - - - + arrStr = strings.Split(row.Cells[3].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[3].String() != "" { @@ -6468,32 +4273,18 @@ func AgcConvertDB_GameItem(fi,fo string) { } } data.Classify = arrInt - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[4].String(), 10, 32) data.Type = int32(temp) - - - - - - - - - if len(row.Cells)<5+1{ + + if len(row.Cells) < 5+1 { break } - - - - + arrStr = strings.Split(row.Cells[5].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[5].String() != "" { @@ -6504,18 +4295,11 @@ func AgcConvertDB_GameItem(fi,fo string) { } } data.Effect0 = arrInt - - - - - - if len(row.Cells)<6+1{ + + if len(row.Cells) < 6+1 { break } - - - - + arrStr = strings.Split(row.Cells[6].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[6].String() != "" { @@ -6526,134 +4310,66 @@ func AgcConvertDB_GameItem(fi,fo string) { } } data.Effect = arrInt - - - - - - if len(row.Cells)<7+1{ + + if len(row.Cells) < 7+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[7].String(), 10, 32) data.SaleType = int32(temp) - - - - - - - - - if len(row.Cells)<8+1{ + + if len(row.Cells) < 8+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[8].String(), 10, 32) data.SaleGold = int32(temp) - - - - - - - - - if len(row.Cells)<9+1{ + + if len(row.Cells) < 9+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[9].String(), 10, 32) data.Composition = int32(temp) - - - - - - - - - if len(row.Cells)<10+1{ + + if len(row.Cells) < 10+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[10].String(), 10, 32) data.CompositionMax = int32(temp) - - - - - - - - - if len(row.Cells)<11+1{ + + if len(row.Cells) < 11+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[11].String(), 10, 32) data.Time = int32(temp) - - - - - - - - - if len(row.Cells)<12+1{ + + if len(row.Cells) < 12+1 { break } - - - + data.Location = row.Cells[12].String() - - - - - - - if len(row.Cells)<13+1{ + + if len(row.Cells) < 13+1 { break } - - - + data.Describe = row.Cells[13].String() - - - - - - - if len(row.Cells)<14+1{ + + if len(row.Cells) < 14+1 { break } - - + temp, _ = strconv.ParseInt(row.Cells[14].String(), 10, 64) data.Num = int64(temp) - - - - - - - - if len(row.Cells)<15+1{ + + if len(row.Cells) < 15+1 { break } - - - + data.Value = row.Cells[15].String() - - - - - - break } @@ -6661,26 +4377,26 @@ func AgcConvertDB_GameItem(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_GameMatchLevel(fi,fo string) { + +func AgcConvertDB_GameMatchLevel(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -6694,19 +4410,19 @@ func AgcConvertDB_GameMatchLevel(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_GameMatchLevelArray{ - Arr:make([]*server.DB_GameMatchLevel, 0, len(sheet.Rows)), + arr := &server.DB_GameMatchLevelArray{ + Arr: make([]*server.DB_GameMatchLevel, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -6714,75 +4430,44 @@ func AgcConvertDB_GameMatchLevel(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_GameMatchLevel{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.GameFreeId = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.MatchLevel = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 32) data.RobotUpRatio = int32(temp) - - - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - - - - + arrStr = strings.Split(row.Cells[4].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[4].String() != "" { @@ -6793,18 +4478,11 @@ func AgcConvertDB_GameMatchLevel(fi,fo string) { } } data.UpGrade = arrInt - - - - - - if len(row.Cells)<5+1{ + + if len(row.Cells) < 5+1 { break } - - - - + arrStr = strings.Split(row.Cells[5].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[5].String() != "" { @@ -6815,18 +4493,11 @@ func AgcConvertDB_GameMatchLevel(fi,fo string) { } } data.UpGradeOdds = arrInt - - - - - - if len(row.Cells)<6+1{ + + if len(row.Cells) < 6+1 { break } - - - - + arrStr = strings.Split(row.Cells[6].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[6].String() != "" { @@ -6837,18 +4508,11 @@ func AgcConvertDB_GameMatchLevel(fi,fo string) { } } data.DownGrade = arrInt - - - - - - if len(row.Cells)<7+1{ + + if len(row.Cells) < 7+1 { break } - - - - + arrStr = strings.Split(row.Cells[7].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[7].String() != "" { @@ -6859,11 +4523,6 @@ func AgcConvertDB_GameMatchLevel(fi,fo string) { } } data.DownGradeOdds = arrInt - - - - - break } @@ -6871,26 +4530,26 @@ func AgcConvertDB_GameMatchLevel(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_GameRule(fi,fo string) { + +func AgcConvertDB_GameRule(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -6904,19 +4563,19 @@ func AgcConvertDB_GameRule(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_GameRuleArray{ - Arr:make([]*server.DB_GameRule, 0, len(sheet.Rows)), + arr := &server.DB_GameRuleArray{ + Arr: make([]*server.DB_GameRule, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -6924,74 +4583,43 @@ func AgcConvertDB_GameRule(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_GameRule{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - - - + data.Name = row.Cells[1].String() - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.GameId = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 32) data.GameMode = int32(temp) - - - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - - - - + arrStr = strings.Split(row.Cells[4].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[4].String() != "" { @@ -7002,37 +4630,18 @@ func AgcConvertDB_GameRule(fi,fo string) { } } data.Params = arrInt - - - - - - if len(row.Cells)<5+1{ + + if len(row.Cells) < 5+1 { break } - - - + data.RuleDesc = row.Cells[5].String() - - - - - - - if len(row.Cells)<6+1{ + + if len(row.Cells) < 6+1 { break } - - - + data.GameDif = row.Cells[6].String() - - - - - - break } @@ -7040,26 +4649,26 @@ func AgcConvertDB_GameRule(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_GameSubsidy(fi,fo string) { + +func AgcConvertDB_GameSubsidy(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -7073,19 +4682,19 @@ func AgcConvertDB_GameSubsidy(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_GameSubsidyArray{ - Arr:make([]*server.DB_GameSubsidy, 0, len(sheet.Rows)), + arr := &server.DB_GameSubsidyArray{ + Arr: make([]*server.DB_GameSubsidy, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -7093,68 +4702,39 @@ func AgcConvertDB_GameSubsidy(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_GameSubsidy{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.LimitNum = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.Get = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 32) data.Times = int32(temp) - - - - - - - - break } @@ -7162,26 +4742,26 @@ func AgcConvertDB_GameSubsidy(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_Game_Drop(fi,fo string) { + +func AgcConvertDB_Game_Drop(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -7195,19 +4775,19 @@ func AgcConvertDB_Game_Drop(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_Game_DropArray{ - Arr:make([]*server.DB_Game_Drop, 0, len(sheet.Rows)), + arr := &server.DB_Game_DropArray{ + Arr: make([]*server.DB_Game_Drop, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -7215,103 +4795,58 @@ func AgcConvertDB_Game_Drop(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_Game_Drop{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.GameId = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.Bet = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 32) data.ItemName1 = int32(temp) - - - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[4].String(), 10, 32) data.ItemId1 = int32(temp) - - - - - - - - - if len(row.Cells)<5+1{ + + if len(row.Cells) < 5+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[5].String(), 10, 32) data.Rate1 = int32(temp) - - - - - - - - - if len(row.Cells)<6+1{ + + if len(row.Cells) < 6+1 { break } - - - - + arrStr = strings.Split(row.Cells[6].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[6].String() != "" { @@ -7322,11 +4857,6 @@ func AgcConvertDB_Game_Drop(fi,fo string) { } } data.Amount1 = arrInt - - - - - break } @@ -7334,26 +4864,26 @@ func AgcConvertDB_Game_Drop(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_Game_Introduction(fi,fo string) { + +func AgcConvertDB_Game_Introduction(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -7367,19 +4897,19 @@ func AgcConvertDB_Game_Introduction(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_Game_IntroductionArray{ - Arr:make([]*server.DB_Game_Introduction, 0, len(sheet.Rows)), + arr := &server.DB_Game_IntroductionArray{ + Arr: make([]*server.DB_Game_Introduction, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -7387,93 +4917,50 @@ func AgcConvertDB_Game_Introduction(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_Game_Introduction{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.Type = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - - - + data.Name = row.Cells[2].String() - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - - - + data.Story = row.Cells[3].String() - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - - - + data.AwardTitle = row.Cells[4].String() - - - - - - - if len(row.Cells)<5+1{ + + if len(row.Cells) < 5+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[5].String(), 10, 32) data.LevelMax = int32(temp) - - - - - - - - break } @@ -7481,26 +4968,26 @@ func AgcConvertDB_Game_Introduction(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_Game_Pet(fi,fo string) { + +func AgcConvertDB_Game_Pet(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -7514,19 +5001,19 @@ func AgcConvertDB_Game_Pet(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_Game_PetArray{ - Arr:make([]*server.DB_Game_Pet, 0, len(sheet.Rows)), + arr := &server.DB_Game_PetArray{ + Arr: make([]*server.DB_Game_Pet, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -7534,151 +5021,80 @@ func AgcConvertDB_Game_Pet(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_Game_Pet{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.PetId = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - - - + data.Name = row.Cells[2].String() - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 32) data.Grade = int32(temp) - - - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[4].String(), 10, 32) data.Level = int32(temp) - - - - - - - - - if len(row.Cells)<5+1{ + + if len(row.Cells) < 5+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[5].String(), 10, 32) data.Fragment = int32(temp) - - - - - - - - - if len(row.Cells)<6+1{ + + if len(row.Cells) < 6+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[6].String(), 10, 32) data.Amount = int32(temp) - - - - - - - - - if len(row.Cells)<7+1{ + + if len(row.Cells) < 7+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[7].String(), 10, 32) data.AwardType = int32(temp) - - - - - - - - - if len(row.Cells)<8+1{ + + if len(row.Cells) < 8+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[8].String(), 10, 32) data.Award = int32(temp) - - - - - - - - - if len(row.Cells)<9+1{ + + if len(row.Cells) < 9+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[9].String(), 10, 32) data.AwardRate = int32(temp) - - - - - - - - break } @@ -7686,26 +5102,26 @@ func AgcConvertDB_Game_Pet(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_Game_Role(fi,fo string) { + +func AgcConvertDB_Game_Role(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -7719,19 +5135,19 @@ func AgcConvertDB_Game_Role(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_Game_RoleArray{ - Arr:make([]*server.DB_Game_Role, 0, len(sheet.Rows)), + arr := &server.DB_Game_RoleArray{ + Arr: make([]*server.DB_Game_Role, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -7739,151 +5155,80 @@ func AgcConvertDB_Game_Role(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_Game_Role{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.RoleId = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - - - + data.Name = row.Cells[2].String() - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 32) data.Grade = int32(temp) - - - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[4].String(), 10, 32) data.Level = int32(temp) - - - - - - - - - if len(row.Cells)<5+1{ + + if len(row.Cells) < 5+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[5].String(), 10, 32) data.Fragment = int32(temp) - - - - - - - - - if len(row.Cells)<6+1{ + + if len(row.Cells) < 6+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[6].String(), 10, 32) data.Amount = int32(temp) - - - - - - - - - if len(row.Cells)<7+1{ + + if len(row.Cells) < 7+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[7].String(), 10, 32) data.AwardType = int32(temp) - - - - - - - - - if len(row.Cells)<8+1{ + + if len(row.Cells) < 8+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[8].String(), 10, 32) data.Award = int32(temp) - - - - - - - - - if len(row.Cells)<9+1{ + + if len(row.Cells) < 9+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[9].String(), 10, 32) data.AwardRate = int32(temp) - - - - - - - - break } @@ -7891,26 +5236,26 @@ func AgcConvertDB_Game_Role(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_GiftBox(fi,fo string) { + +func AgcConvertDB_GiftBox(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -7924,19 +5269,19 @@ func AgcConvertDB_GiftBox(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_GiftBoxArray{ - Arr:make([]*server.DB_GiftBox, 0, len(sheet.Rows)), + arr := &server.DB_GiftBoxArray{ + Arr: make([]*server.DB_GiftBox, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -7944,73 +5289,51 @@ func AgcConvertDB_GiftBox(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_GiftBox{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.Rate = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - - - - - - - - if row.Cells[2].String() != ""{ - pairs := strings.Split(row.Cells[2].String(), ";") - resultMap := make(map[int64]int64) - for _, pair := range pairs { - kv := strings.Split(pair, ",") - key, err := strconv.ParseInt(kv[0], 10, 64) - if err != nil { - // 错误处理 - fmt.Println("无法转换为int64:", kv[0]) - continue - } - value, err := strconv.ParseInt(kv[1], 10, 64) - if err != nil { - // 错误处理 - fmt.Println("无法转换为int64:", kv[1]) - continue - } - resultMap[key] = value + + if row.Cells[2].String() != "" { + pairs := strings.Split(row.Cells[2].String(), ";") + resultMap := make(map[int64]int64) + for _, pair := range pairs { + kv := strings.Split(pair, ",") + key, err := strconv.ParseInt(kv[0], 10, 64) + if err != nil { + // 错误处理 + fmt.Println("无法转换为int64:", kv[0]) + continue } - data.ItemID = resultMap + value, err := strconv.ParseInt(kv[1], 10, 64) + if err != nil { + // 错误处理 + fmt.Println("无法转换为int64:", kv[1]) + continue + } + resultMap[key] = value } - - + data.ItemID = resultMap + } break } @@ -8018,26 +5341,26 @@ func AgcConvertDB_GiftBox(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_GiftCard(fi,fo string) { + +func AgcConvertDB_GiftCard(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -8051,19 +5374,19 @@ func AgcConvertDB_GiftCard(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_GiftCardArray{ - Arr:make([]*server.DB_GiftCard, 0, len(sheet.Rows)), + arr := &server.DB_GiftCardArray{ + Arr: make([]*server.DB_GiftCard, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -8071,140 +5394,95 @@ func AgcConvertDB_GiftCard(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_GiftCard{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.ShopID = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - - - + data.Name = row.Cells[2].String() - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - - - - - - - - if row.Cells[3].String() != ""{ - pairs := strings.Split(row.Cells[3].String(), ";") - resultMap := make(map[int64]int64) - for _, pair := range pairs { - kv := strings.Split(pair, ",") - key, err := strconv.ParseInt(kv[0], 10, 64) - if err != nil { - // 错误处理 - fmt.Println("无法转换为int64:", kv[0]) - continue - } - value, err := strconv.ParseInt(kv[1], 10, 64) - if err != nil { - // 错误处理 - fmt.Println("无法转换为int64:", kv[1]) - continue - } - resultMap[key] = value + + if row.Cells[3].String() != "" { + pairs := strings.Split(row.Cells[3].String(), ";") + resultMap := make(map[int64]int64) + for _, pair := range pairs { + kv := strings.Split(pair, ",") + key, err := strconv.ParseInt(kv[0], 10, 64) + if err != nil { + // 错误处理 + fmt.Println("无法转换为int64:", kv[0]) + continue } - data.Rewards = resultMap - } - - - if len(row.Cells)<4+1{ - break - } - - - - - - - - if row.Cells[4].String() != ""{ - pairs := strings.Split(row.Cells[4].String(), ";") - resultMap := make(map[int64]int64) - for _, pair := range pairs { - kv := strings.Split(pair, ",") - key, err := strconv.ParseInt(kv[0], 10, 64) - if err != nil { - // 错误处理 - fmt.Println("无法转换为int64:", kv[0]) - continue - } - value, err := strconv.ParseInt(kv[1], 10, 64) - if err != nil { - // 错误处理 - fmt.Println("无法转换为int64:", kv[1]) - continue - } - resultMap[key] = value + value, err := strconv.ParseInt(kv[1], 10, 64) + if err != nil { + // 错误处理 + fmt.Println("无法转换为int64:", kv[1]) + continue } - data.DayRewards = resultMap + resultMap[key] = value } - - - if len(row.Cells)<5+1{ + data.Rewards = resultMap + } + + if len(row.Cells) < 4+1 { break } - + + if row.Cells[4].String() != "" { + pairs := strings.Split(row.Cells[4].String(), ";") + resultMap := make(map[int64]int64) + for _, pair := range pairs { + kv := strings.Split(pair, ",") + key, err := strconv.ParseInt(kv[0], 10, 64) + if err != nil { + // 错误处理 + fmt.Println("无法转换为int64:", kv[0]) + continue + } + value, err := strconv.ParseInt(kv[1], 10, 64) + if err != nil { + // 错误处理 + fmt.Println("无法转换为int64:", kv[1]) + continue + } + resultMap[key] = value + } + data.DayRewards = resultMap + } + + if len(row.Cells) < 5+1 { + break + } + temp, _ = strconv.ParseInt(row.Cells[5].String(), 10, 32) data.Time = int32(temp) - - - - - - - - - if len(row.Cells)<6+1{ + + if len(row.Cells) < 6+1 { break } - - - - + arrStr = strings.Split(row.Cells[6].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[6].String() != "" { @@ -8215,11 +5493,6 @@ func AgcConvertDB_GiftCard(fi,fo string) { } } data.Equity = arrInt - - - - - break } @@ -8227,26 +5500,26 @@ func AgcConvertDB_GiftCard(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_IceAgeElementRate(fi,fo string) { + +func AgcConvertDB_IceAgeElementRate(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -8260,19 +5533,19 @@ func AgcConvertDB_IceAgeElementRate(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_IceAgeElementRateArray{ - Arr:make([]*server.DB_IceAgeElementRate, 0, len(sheet.Rows)), + arr := &server.DB_IceAgeElementRateArray{ + Arr: make([]*server.DB_IceAgeElementRate, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -8280,60 +5553,36 @@ func AgcConvertDB_IceAgeElementRate(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_IceAgeElementRate{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - - - + data.ModeName = row.Cells[1].String() - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.ModeType = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - - - - + arrStr = strings.Split(row.Cells[3].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[3].String() != "" { @@ -8344,11 +5593,6 @@ func AgcConvertDB_IceAgeElementRate(fi,fo string) { } } data.Params = arrInt - - - - - break } @@ -8356,26 +5600,26 @@ func AgcConvertDB_IceAgeElementRate(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_Legend_Odds(fi,fo string) { + +func AgcConvertDB_Legend_Odds(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -8389,19 +5633,19 @@ func AgcConvertDB_Legend_Odds(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_Legend_OddsArray{ - Arr:make([]*server.DB_Legend_Odds, 0, len(sheet.Rows)), + arr := &server.DB_Legend_OddsArray{ + Arr: make([]*server.DB_Legend_Odds, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -8409,81 +5653,45 @@ func AgcConvertDB_Legend_Odds(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_Legend_Odds{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - - - + data.Name = row.Cells[1].String() - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.Rateodds3 = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 32) data.Rateodds4 = int32(temp) - - - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[4].String(), 10, 32) data.Rateodds5 = int32(temp) - - - - - - - - break } @@ -8491,26 +5699,26 @@ func AgcConvertDB_Legend_Odds(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_Legend_TurnRate(fi,fo string) { + +func AgcConvertDB_Legend_TurnRate(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -8524,19 +5732,19 @@ func AgcConvertDB_Legend_TurnRate(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_Legend_TurnRateArray{ - Arr:make([]*server.DB_Legend_TurnRate, 0, len(sheet.Rows)), + arr := &server.DB_Legend_TurnRateArray{ + Arr: make([]*server.DB_Legend_TurnRate, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -8544,61 +5752,37 @@ func AgcConvertDB_Legend_TurnRate(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_Legend_TurnRate{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.ReturnRateMin = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.ReturnRateMax = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - - - - + arrStr = strings.Split(row.Cells[3].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[3].String() != "" { @@ -8609,11 +5793,6 @@ func AgcConvertDB_Legend_TurnRate(fi,fo string) { } } data.Chance = arrInt - - - - - break } @@ -8621,26 +5800,26 @@ func AgcConvertDB_Legend_TurnRate(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_Legend_Weight(fi,fo string) { + +func AgcConvertDB_Legend_Weight(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -8654,19 +5833,19 @@ func AgcConvertDB_Legend_Weight(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_Legend_WeightArray{ - Arr:make([]*server.DB_Legend_Weight, 0, len(sheet.Rows)), + arr := &server.DB_Legend_WeightArray{ + Arr: make([]*server.DB_Legend_Weight, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -8674,46 +5853,29 @@ func AgcConvertDB_Legend_Weight(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_Legend_Weight{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - - - + data.Name = row.Cells[1].String() - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - - - - + arrStr = strings.Split(row.Cells[2].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[2].String() != "" { @@ -8724,11 +5886,6 @@ func AgcConvertDB_Legend_Weight(fi,fo string) { } } data.Weight = arrInt - - - - - break } @@ -8736,26 +5893,26 @@ func AgcConvertDB_Legend_Weight(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_Legend_WeightCondition(fi,fo string) { + +func AgcConvertDB_Legend_WeightCondition(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -8769,19 +5926,19 @@ func AgcConvertDB_Legend_WeightCondition(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_Legend_WeightConditionArray{ - Arr:make([]*server.DB_Legend_WeightCondition, 0, len(sheet.Rows)), + arr := &server.DB_Legend_WeightConditionArray{ + Arr: make([]*server.DB_Legend_WeightCondition, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -8789,47 +5946,30 @@ func AgcConvertDB_Legend_WeightCondition(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_Legend_WeightCondition{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.IsNew = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - - - - + arrStr = strings.Split(row.Cells[2].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[2].String() != "" { @@ -8840,18 +5980,11 @@ func AgcConvertDB_Legend_WeightCondition(fi,fo string) { } } data.BetScope = arrInt - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - - - - + arrStr = strings.Split(row.Cells[3].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[3].String() != "" { @@ -8862,25 +5995,13 @@ func AgcConvertDB_Legend_WeightCondition(fi,fo string) { } } data.TrueCalcRate = arrInt - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[4].String(), 10, 32) data.WeightId = int32(temp) - - - - - - - - break } @@ -8888,26 +6009,26 @@ func AgcConvertDB_Legend_WeightCondition(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_MatchRank(fi,fo string) { + +func AgcConvertDB_MatchRank(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -8921,19 +6042,19 @@ func AgcConvertDB_MatchRank(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_MatchRankArray{ - Arr:make([]*server.DB_MatchRank, 0, len(sheet.Rows)), + arr := &server.DB_MatchRankArray{ + Arr: make([]*server.DB_MatchRank, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -8941,33 +6062,23 @@ func AgcConvertDB_MatchRank(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_MatchRank{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - - - - + arrStr = strings.Split(row.Cells[1].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[1].String() != "" { @@ -8978,11 +6089,6 @@ func AgcConvertDB_MatchRank(fi,fo string) { } } data.RankStar = arrInt - - - - - break } @@ -8990,26 +6096,26 @@ func AgcConvertDB_MatchRank(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_Name(fi,fo string) { + +func AgcConvertDB_Name(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -9023,19 +6129,19 @@ func AgcConvertDB_Name(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_NameArray{ - Arr:make([]*server.DB_Name, 0, len(sheet.Rows)), + arr := &server.DB_NameArray{ + Arr: make([]*server.DB_Name, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -9043,39 +6149,24 @@ func AgcConvertDB_Name(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_Name{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - - - + data.Name = row.Cells[1].String() - - - - - - break } @@ -9083,26 +6174,26 @@ func AgcConvertDB_Name(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_NameBoy(fi,fo string) { + +func AgcConvertDB_NameBoy(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -9116,19 +6207,19 @@ func AgcConvertDB_NameBoy(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_NameBoyArray{ - Arr:make([]*server.DB_NameBoy, 0, len(sheet.Rows)), + arr := &server.DB_NameBoyArray{ + Arr: make([]*server.DB_NameBoy, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -9136,39 +6227,24 @@ func AgcConvertDB_NameBoy(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_NameBoy{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - - - + data.Name = row.Cells[1].String() - - - - - - break } @@ -9176,26 +6252,26 @@ func AgcConvertDB_NameBoy(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_NameGirl(fi,fo string) { + +func AgcConvertDB_NameGirl(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -9209,19 +6285,19 @@ func AgcConvertDB_NameGirl(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_NameGirlArray{ - Arr:make([]*server.DB_NameGirl, 0, len(sheet.Rows)), + arr := &server.DB_NameGirlArray{ + Arr: make([]*server.DB_NameGirl, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -9229,39 +6305,24 @@ func AgcConvertDB_NameGirl(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_NameGirl{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - - - + data.Name = row.Cells[1].String() - - - - - - break } @@ -9269,26 +6330,26 @@ func AgcConvertDB_NameGirl(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_NewPlayer(fi,fo string) { + +func AgcConvertDB_NewPlayer(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -9302,19 +6363,19 @@ func AgcConvertDB_NewPlayer(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_NewPlayerArray{ - Arr:make([]*server.DB_NewPlayer, 0, len(sheet.Rows)), + arr := &server.DB_NewPlayerArray{ + Arr: make([]*server.DB_NewPlayer, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -9322,152 +6383,81 @@ func AgcConvertDB_NewPlayer(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_NewPlayer{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.Condition1 = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - - + temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 64) data.ConditionValue1 = int64(temp) - - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[4].String(), 10, 32) data.Condition2 = int32(temp) - - - - - - - - - if len(row.Cells)<5+1{ + + if len(row.Cells) < 5+1 { break } - - + temp, _ = strconv.ParseInt(row.Cells[5].String(), 10, 64) data.ConditionValue2 = int64(temp) - - - - - - - - if len(row.Cells)<6+1{ + + if len(row.Cells) < 6+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[6].String(), 10, 32) data.Bond = int32(temp) - - - - - - - - - if len(row.Cells)<7+1{ + + if len(row.Cells) < 7+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[7].String(), 10, 32) data.AddType = int32(temp) - - - - - - - - - if len(row.Cells)<8+1{ + + if len(row.Cells) < 8+1 { break } - - + temp, _ = strconv.ParseInt(row.Cells[8].String(), 10, 64) data.AddMax = int64(temp) - - - - - - - - if len(row.Cells)<9+1{ + + if len(row.Cells) < 9+1 { break } - - + temp, _ = strconv.ParseInt(row.Cells[9].String(), 10, 64) data.AddMin = int64(temp) - - - - - - - - if len(row.Cells)<10+1{ + + if len(row.Cells) < 10+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[10].String(), 10, 32) data.TianHuRate = int32(temp) - - - - - - - - break } @@ -9475,26 +6465,26 @@ func AgcConvertDB_NewPlayer(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_PhoneLottery(fi,fo string) { + +func AgcConvertDB_PhoneLottery(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -9508,19 +6498,19 @@ func AgcConvertDB_PhoneLottery(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_PhoneLotteryArray{ - Arr:make([]*server.DB_PhoneLottery, 0, len(sheet.Rows)), + arr := &server.DB_PhoneLotteryArray{ + Arr: make([]*server.DB_PhoneLottery, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -9528,180 +6518,95 @@ func AgcConvertDB_PhoneLottery(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_PhoneLottery{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.Type = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.Name = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 32) data.Item_Id = int32(temp) - - - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[4].String(), 10, 32) data.Grade = int32(temp) - - - - - - - - - if len(row.Cells)<5+1{ + + if len(row.Cells) < 5+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[5].String(), 10, 32) data.Odd = int32(temp) - - - - - - - - - if len(row.Cells)<6+1{ + + if len(row.Cells) < 6+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[6].String(), 10, 32) data.Oddrate1 = int32(temp) - - - - - - - - - if len(row.Cells)<7+1{ + + if len(row.Cells) < 7+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[7].String(), 10, 32) data.Odd2 = int32(temp) - - - - - - - - - if len(row.Cells)<8+1{ + + if len(row.Cells) < 8+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[8].String(), 10, 32) data.Oddrate2 = int32(temp) - - - - - - - - - if len(row.Cells)<9+1{ + + if len(row.Cells) < 9+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[9].String(), 10, 32) data.Odd3 = int32(temp) - - - - - - - - - if len(row.Cells)<10+1{ + + if len(row.Cells) < 10+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[10].String(), 10, 32) data.Oddrate3 = int32(temp) - - - - - - - - - if len(row.Cells)<11+1{ + + if len(row.Cells) < 11+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[11].String(), 10, 32) data.Oddrate4 = int32(temp) - - - - - - - - break } @@ -9709,26 +6614,26 @@ func AgcConvertDB_PhoneLottery(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_PigBank_Diamond(fi,fo string) { + +func AgcConvertDB_PigBank_Diamond(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -9742,19 +6647,19 @@ func AgcConvertDB_PigBank_Diamond(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_PigBank_DiamondArray{ - Arr:make([]*server.DB_PigBank_Diamond, 0, len(sheet.Rows)), + arr := &server.DB_PigBank_DiamondArray{ + Arr: make([]*server.DB_PigBank_Diamond, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -9762,68 +6667,39 @@ func AgcConvertDB_PigBank_Diamond(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_PigBank_Diamond{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.BuyCountMin = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.BuyCountMax = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 32) data.CostDiamond = int32(temp) - - - - - - - - break } @@ -9831,26 +6707,26 @@ func AgcConvertDB_PigBank_Diamond(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_Pigbank_Prop(fi,fo string) { + +func AgcConvertDB_Pigbank_Prop(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -9864,19 +6740,19 @@ func AgcConvertDB_Pigbank_Prop(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_Pigbank_PropArray{ - Arr:make([]*server.DB_Pigbank_Prop, 0, len(sheet.Rows)), + arr := &server.DB_Pigbank_PropArray{ + Arr: make([]*server.DB_Pigbank_Prop, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -9884,357 +6760,31 @@ func AgcConvertDB_Pigbank_Prop(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_Pigbank_Prop{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - - - - data.Name = row.Cells[1].String() - - - - - - - if len(row.Cells)<2+1{ + + data.PorpName = row.Cells[1].String() + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) - data.Count = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ - break - } - - temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 32) - data.VipExp = int32(temp) - - - - - - - - - if len(row.Cells)<4+1{ - break - } - - - - - arrStr = strings.Split(row.Cells[4].String(), "|") - arrInt = nil - if len(arrStr) > 0 && row.Cells[4].String() != "" { - arrInt = make([]int32, len(arrStr), len(arrStr)) - for i, v := range arrStr { - temp, _ = strconv.ParseInt(strings.TrimSpace(v), 10, 32) - arrInt[i] = int32(temp) - } - } - data.Privilege1 = arrInt - - - - - - if len(row.Cells)<5+1{ - break - } - - - - - arrStr = strings.Split(row.Cells[5].String(), "|") - arrInt = nil - if len(arrStr) > 0 && row.Cells[5].String() != "" { - arrInt = make([]int32, len(arrStr), len(arrStr)) - for i, v := range arrStr { - temp, _ = strconv.ParseInt(strings.TrimSpace(v), 10, 32) - arrInt[i] = int32(temp) - } - } - data.Privilege2 = arrInt - - - - - - if len(row.Cells)<6+1{ - break - } - - temp, _ = strconv.ParseInt(row.Cells[6].String(), 10, 32) - data.ShopId2 = int32(temp) - - - - - - - - - if len(row.Cells)<7+1{ - break - } - - - - - arrStr = strings.Split(row.Cells[7].String(), "|") - arrInt = nil - if len(arrStr) > 0 && row.Cells[7].String() != "" { - arrInt = make([]int32, len(arrStr), len(arrStr)) - for i, v := range arrStr { - temp, _ = strconv.ParseInt(strings.TrimSpace(v), 10, 32) - arrInt[i] = int32(temp) - } - } - data.Privilege3 = arrInt - - - - - - if len(row.Cells)<8+1{ - break - } - - temp, _ = strconv.ParseInt(row.Cells[8].String(), 10, 32) - data.Privilege4 = int32(temp) - - - - - - - - - if len(row.Cells)<9+1{ - break - } - - temp, _ = strconv.ParseInt(row.Cells[9].String(), 10, 32) - data.Privilege5 = int32(temp) - - - - - - - - - if len(row.Cells)<10+1{ - break - } - - temp, _ = strconv.ParseInt(row.Cells[10].String(), 10, 32) - data.Privilege6 = int32(temp) - - - - - - - - - if len(row.Cells)<11+1{ - break - } - - - - - - - - if row.Cells[11].String() != ""{ - pairs := strings.Split(row.Cells[11].String(), ";") - resultMap := make(map[int64]int64) - for _, pair := range pairs { - kv := strings.Split(pair, ",") - key, err := strconv.ParseInt(kv[0], 10, 64) - if err != nil { - // 错误处理 - fmt.Println("无法转换为int64:", kv[0]) - continue - } - value, err := strconv.ParseInt(kv[1], 10, 64) - if err != nil { - // 错误处理 - fmt.Println("无法转换为int64:", kv[1]) - continue - } - resultMap[key] = value - } - data.Privilege7 = resultMap - } - - - if len(row.Cells)<12+1{ - break - } - - temp, _ = strconv.ParseInt(row.Cells[12].String(), 10, 32) - data.Privilege7Price = int32(temp) - - - - - - - - - if len(row.Cells)<13+1{ - break - } - - temp, _ = strconv.ParseInt(row.Cells[13].String(), 10, 32) - data.ShopId7 = int32(temp) - - - - - - - - - if len(row.Cells)<14+1{ - break - } - - temp, _ = strconv.ParseInt(row.Cells[14].String(), 10, 32) - data.Privilege8 = int32(temp) - - - - - - - - - if len(row.Cells)<15+1{ - break - } - - - - - arrStr = strings.Split(row.Cells[15].String(), "|") - arrInt = nil - if len(arrStr) > 0 && row.Cells[15].String() != "" { - arrInt = make([]int32, len(arrStr), len(arrStr)) - for i, v := range arrStr { - temp, _ = strconv.ParseInt(strings.TrimSpace(v), 10, 32) - arrInt[i] = int32(temp) - } - } - data.Param = arrInt - - - - - - if len(row.Cells)<16+1{ - break - } - - - - - arrStr = strings.Split(row.Cells[16].String(), "|") - arrInt = nil - if len(arrStr) > 0 && row.Cells[16].String() != "" { - arrInt = make([]int32, len(arrStr), len(arrStr)) - for i, v := range arrStr { - temp, _ = strconv.ParseInt(strings.TrimSpace(v), 10, 32) - arrInt[i] = int32(temp) - } - } - data.RewardOutlineID = arrInt - - - - - - if len(row.Cells)<17+1{ - break - } - - - - - - - - if row.Cells[17].String() != ""{ - pairs := strings.Split(row.Cells[17].String(), ";") - resultMap := make(map[int64]int64) - for _, pair := range pairs { - kv := strings.Split(pair, ",") - key, err := strconv.ParseInt(kv[0], 10, 64) - if err != nil { - // 错误处理 - fmt.Println("无法转换为int64:", kv[0]) - continue - } - value, err := strconv.ParseInt(kv[1], 10, 64) - if err != nil { - // 错误处理 - fmt.Println("无法转换为int64:", kv[1]) - continue - } - resultMap[key] = value - } - data.Award = resultMap - } - - - if len(row.Cells)<18+1{ - break - } - - - - - - if row.Cells[18].String() != "" { - arrStr = strings.Split(row.Cells[18].String(), "|") - data.ParamName = arrStr - } - - - - + data.PropValue = int32(temp) break } @@ -10242,26 +6792,26 @@ func AgcConvertDB_Pigbank_Prop(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_PlayerExp(fi,fo string) { + +func AgcConvertDB_PlayerExp(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -10275,19 +6825,19 @@ func AgcConvertDB_PlayerExp(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_PlayerExpArray{ - Arr:make([]*server.DB_PlayerExp, 0, len(sheet.Rows)), + arr := &server.DB_PlayerExpArray{ + Arr: make([]*server.DB_PlayerExp, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -10295,40 +6845,25 @@ func AgcConvertDB_PlayerExp(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_PlayerExp{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.Exp = int32(temp) - - - - - - - - break } @@ -10336,26 +6871,26 @@ func AgcConvertDB_PlayerExp(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_PlayerInfo(fi,fo string) { + +func AgcConvertDB_PlayerInfo(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -10369,19 +6904,19 @@ func AgcConvertDB_PlayerInfo(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_PlayerInfoArray{ - Arr:make([]*server.DB_PlayerInfo, 0, len(sheet.Rows)), + arr := &server.DB_PlayerInfoArray{ + Arr: make([]*server.DB_PlayerInfo, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -10389,80 +6924,44 @@ func AgcConvertDB_PlayerInfo(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_PlayerInfo{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - - - + data.City = row.Cells[0].String() - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.Head = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - - - + data.Name = row.Cells[2].String() - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 32) data.Sex = int32(temp) - - - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[4].String(), 10, 32) data.Id = int32(temp) - - - - - - - - break } @@ -10470,26 +6969,26 @@ func AgcConvertDB_PlayerInfo(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_PlayerType(fi,fo string) { + +func AgcConvertDB_PlayerType(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -10503,19 +7002,19 @@ func AgcConvertDB_PlayerType(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_PlayerTypeArray{ - Arr:make([]*server.DB_PlayerType, 0, len(sheet.Rows)), + arr := &server.DB_PlayerTypeArray{ + Arr: make([]*server.DB_PlayerType, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -10523,200 +7022,106 @@ func AgcConvertDB_PlayerType(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_PlayerType{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - - - + data.Name = row.Cells[1].String() - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.GameFreeId = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 32) data.PayLowerLimit = int32(temp) - - - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[4].String(), 10, 32) data.PayUpperLimit = int32(temp) - - - - - - - - - if len(row.Cells)<5+1{ + + if len(row.Cells) < 5+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[5].String(), 10, 32) data.GameTimeLowerLimit = int32(temp) - - - - - - - - - if len(row.Cells)<6+1{ + + if len(row.Cells) < 6+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[6].String(), 10, 32) data.GameTimeUpperLimit = int32(temp) - - - - - - - - - if len(row.Cells)<7+1{ + + if len(row.Cells) < 7+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[7].String(), 10, 32) data.TotalInLowerLimit = int32(temp) - - - - - - - - - if len(row.Cells)<8+1{ + + if len(row.Cells) < 8+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[8].String(), 10, 32) data.TotalInUpperLimit = int32(temp) - - - - - - - - - if len(row.Cells)<9+1{ + + if len(row.Cells) < 9+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[9].String(), 10, 32) data.OddsLowerLimit = int32(temp) - - - - - - - - - if len(row.Cells)<10+1{ + + if len(row.Cells) < 10+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[10].String(), 10, 32) data.OddsUpperLimit = int32(temp) - - - - - - - - - if len(row.Cells)<11+1{ + + if len(row.Cells) < 11+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[11].String(), 10, 32) data.LuckyRate = int32(temp) - - - - - - - - - if len(row.Cells)<12+1{ + + if len(row.Cells) < 12+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[12].String(), 10, 32) data.ChangeCardRate = int32(temp) - - - - - - - - - if len(row.Cells)<13+1{ + + if len(row.Cells) < 13+1 { break } - - - - + arrStr = strings.Split(row.Cells[13].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[13].String() != "" { @@ -10727,18 +7132,11 @@ func AgcConvertDB_PlayerType(fi,fo string) { } } data.CardValueRange = arrInt - - - - - - if len(row.Cells)<14+1{ + + if len(row.Cells) < 14+1 { break } - - - - + arrStr = strings.Split(row.Cells[14].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[14].String() != "" { @@ -10749,18 +7147,11 @@ func AgcConvertDB_PlayerType(fi,fo string) { } } data.MatchPriority = arrInt - - - - - - if len(row.Cells)<15+1{ + + if len(row.Cells) < 15+1 { break } - - - - + arrStr = strings.Split(row.Cells[15].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[15].String() != "" { @@ -10771,32 +7162,18 @@ func AgcConvertDB_PlayerType(fi,fo string) { } } data.ExcludeMatch = arrInt - - - - - - if len(row.Cells)<16+1{ + + if len(row.Cells) < 16+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[16].String(), 10, 32) data.CardLibRate = int32(temp) - - - - - - - - - if len(row.Cells)<17+1{ + + if len(row.Cells) < 17+1 { break } - - - - + arrStr = strings.Split(row.Cells[17].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[17].String() != "" { @@ -10807,11 +7184,6 @@ func AgcConvertDB_PlayerType(fi,fo string) { } } data.CardLibArr = arrInt - - - - - break } @@ -10819,26 +7191,26 @@ func AgcConvertDB_PlayerType(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_PotOdd(fi,fo string) { + +func AgcConvertDB_PotOdd(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -10852,19 +7224,19 @@ func AgcConvertDB_PotOdd(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_PotOddArray{ - Arr:make([]*server.DB_PotOdd, 0, len(sheet.Rows)), + arr := &server.DB_PotOddArray{ + Arr: make([]*server.DB_PotOdd, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -10872,59 +7244,35 @@ func AgcConvertDB_PotOdd(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_PotOdd{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - - - + data.Name = row.Cells[1].String() - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - - - + data.Title = row.Cells[2].String() - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - - - - + arrStr = strings.Split(row.Cells[3].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[3].String() != "" { @@ -10935,11 +7283,6 @@ func AgcConvertDB_PotOdd(fi,fo string) { } } data.VipOdd = arrInt - - - - - break } @@ -10947,26 +7290,26 @@ func AgcConvertDB_PotOdd(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_PropExchange(fi,fo string) { + +func AgcConvertDB_PropExchange(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -10980,19 +7323,19 @@ func AgcConvertDB_PropExchange(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_PropExchangeArray{ - Arr:make([]*server.DB_PropExchange, 0, len(sheet.Rows)), + arr := &server.DB_PropExchangeArray{ + Arr: make([]*server.DB_PropExchange, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -11000,106 +7343,77 @@ func AgcConvertDB_PropExchange(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_PropExchange{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.Group = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - - - - - - - - if row.Cells[2].String() != ""{ - pairs := strings.Split(row.Cells[2].String(), ";") - resultMap := make(map[int64]int64) - for _, pair := range pairs { - kv := strings.Split(pair, ",") - key, err := strconv.ParseInt(kv[0], 10, 64) - if err != nil { - // 错误处理 - fmt.Println("无法转换为int64:", kv[0]) - continue - } - value, err := strconv.ParseInt(kv[1], 10, 64) - if err != nil { - // 错误处理 - fmt.Println("无法转换为int64:", kv[1]) - continue - } - resultMap[key] = value + + if row.Cells[2].String() != "" { + pairs := strings.Split(row.Cells[2].String(), ";") + resultMap := make(map[int64]int64) + for _, pair := range pairs { + kv := strings.Split(pair, ",") + key, err := strconv.ParseInt(kv[0], 10, 64) + if err != nil { + // 错误处理 + fmt.Println("无法转换为int64:", kv[0]) + continue } - data.Cost = resultMap + value, err := strconv.ParseInt(kv[1], 10, 64) + if err != nil { + // 错误处理 + fmt.Println("无法转换为int64:", kv[1]) + continue + } + resultMap[key] = value } - - - if len(row.Cells)<3+1{ + data.Cost = resultMap + } + + if len(row.Cells) < 3+1 { break } - - - - - - - - if row.Cells[3].String() != ""{ - pairs := strings.Split(row.Cells[3].String(), ";") - resultMap := make(map[int64]int64) - for _, pair := range pairs { - kv := strings.Split(pair, ",") - key, err := strconv.ParseInt(kv[0], 10, 64) - if err != nil { - // 错误处理 - fmt.Println("无法转换为int64:", kv[0]) - continue - } - value, err := strconv.ParseInt(kv[1], 10, 64) - if err != nil { - // 错误处理 - fmt.Println("无法转换为int64:", kv[1]) - continue - } - resultMap[key] = value + + if row.Cells[3].String() != "" { + pairs := strings.Split(row.Cells[3].String(), ";") + resultMap := make(map[int64]int64) + for _, pair := range pairs { + kv := strings.Split(pair, ",") + key, err := strconv.ParseInt(kv[0], 10, 64) + if err != nil { + // 错误处理 + fmt.Println("无法转换为int64:", kv[0]) + continue } - data.Gain = resultMap + value, err := strconv.ParseInt(kv[1], 10, 64) + if err != nil { + // 错误处理 + fmt.Println("无法转换为int64:", kv[1]) + continue + } + resultMap[key] = value } - - + data.Gain = resultMap + } break } @@ -11107,26 +7421,26 @@ func AgcConvertDB_PropExchange(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_RankCycle(fi,fo string) { + +func AgcConvertDB_RankCycle(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -11140,19 +7454,19 @@ func AgcConvertDB_RankCycle(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_RankCycleArray{ - Arr:make([]*server.DB_RankCycle, 0, len(sheet.Rows)), + arr := &server.DB_RankCycleArray{ + Arr: make([]*server.DB_RankCycle, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -11160,52 +7474,30 @@ func AgcConvertDB_RankCycle(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_RankCycle{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - - - + data.Start = row.Cells[1].String() - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - - - + data.End = row.Cells[2].String() - - - - - - break } @@ -11213,26 +7505,26 @@ func AgcConvertDB_RankCycle(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_RankLevel(fi,fo string) { + +func AgcConvertDB_RankLevel(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -11246,19 +7538,19 @@ func AgcConvertDB_RankLevel(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_RankLevelArray{ - Arr:make([]*server.DB_RankLevel, 0, len(sheet.Rows)), + arr := &server.DB_RankLevelArray{ + Arr: make([]*server.DB_RankLevel, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -11266,81 +7558,45 @@ func AgcConvertDB_RankLevel(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_RankLevel{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.RankType = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.Level = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - - - + data.Name = row.Cells[3].String() - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - - + temp, _ = strconv.ParseInt(row.Cells[4].String(), 10, 64) data.Score = int64(temp) - - - - - - - break } @@ -11348,26 +7604,26 @@ func AgcConvertDB_RankLevel(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_RankReward(fi,fo string) { + +func AgcConvertDB_RankReward(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -11381,19 +7637,19 @@ func AgcConvertDB_RankReward(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_RankRewardArray{ - Arr:make([]*server.DB_RankReward, 0, len(sheet.Rows)), + arr := &server.DB_RankRewardArray{ + Arr: make([]*server.DB_RankReward, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -11401,138 +7657,74 @@ func AgcConvertDB_RankReward(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_RankReward{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.RankType = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.Level = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 32) data.Award1Id = int32(temp) - - - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[4].String(), 10, 32) data.Award1Num = int32(temp) - - - - - - - - - if len(row.Cells)<5+1{ + + if len(row.Cells) < 5+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[5].String(), 10, 32) data.Award2Id = int32(temp) - - - - - - - - - if len(row.Cells)<6+1{ + + if len(row.Cells) < 6+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[6].String(), 10, 32) data.Award2Num = int32(temp) - - - - - - - - - if len(row.Cells)<7+1{ + + if len(row.Cells) < 7+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[7].String(), 10, 32) data.Award3Id = int32(temp) - - - - - - - - - if len(row.Cells)<8+1{ + + if len(row.Cells) < 8+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[8].String(), 10, 32) data.Award3Num = int32(temp) - - - - - - - - break } @@ -11540,26 +7732,26 @@ func AgcConvertDB_RankReward(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_Sensitive_Words(fi,fo string) { + +func AgcConvertDB_Sensitive_Words(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -11573,19 +7765,19 @@ func AgcConvertDB_Sensitive_Words(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_Sensitive_WordsArray{ - Arr:make([]*server.DB_Sensitive_Words, 0, len(sheet.Rows)), + arr := &server.DB_Sensitive_WordsArray{ + Arr: make([]*server.DB_Sensitive_Words, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -11593,39 +7785,24 @@ func AgcConvertDB_Sensitive_Words(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_Sensitive_Words{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - - - + data.Sensitive_Words = row.Cells[1].String() - - - - - - break } @@ -11633,26 +7810,26 @@ func AgcConvertDB_Sensitive_Words(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_SlotRateWeight(fi,fo string) { + +func AgcConvertDB_SlotRateWeight(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -11666,19 +7843,19 @@ func AgcConvertDB_SlotRateWeight(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_SlotRateWeightArray{ - Arr:make([]*server.DB_SlotRateWeight, 0, len(sheet.Rows)), + arr := &server.DB_SlotRateWeightArray{ + Arr: make([]*server.DB_SlotRateWeight, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -11686,61 +7863,37 @@ func AgcConvertDB_SlotRateWeight(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_SlotRateWeight{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.GameFreeId = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.Pos = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - - - - + arrStr = strings.Split(row.Cells[3].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[3].String() != "" { @@ -11751,18 +7904,11 @@ func AgcConvertDB_SlotRateWeight(fi,fo string) { } } data.NormCol1 = arrInt - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - - - - + arrStr = strings.Split(row.Cells[4].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[4].String() != "" { @@ -11773,18 +7919,11 @@ func AgcConvertDB_SlotRateWeight(fi,fo string) { } } data.NormCol2 = arrInt - - - - - - if len(row.Cells)<5+1{ + + if len(row.Cells) < 5+1 { break } - - - - + arrStr = strings.Split(row.Cells[5].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[5].String() != "" { @@ -11795,18 +7934,11 @@ func AgcConvertDB_SlotRateWeight(fi,fo string) { } } data.NormCol3 = arrInt - - - - - - if len(row.Cells)<6+1{ + + if len(row.Cells) < 6+1 { break } - - - - + arrStr = strings.Split(row.Cells[6].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[6].String() != "" { @@ -11817,18 +7949,11 @@ func AgcConvertDB_SlotRateWeight(fi,fo string) { } } data.NormCol4 = arrInt - - - - - - if len(row.Cells)<7+1{ + + if len(row.Cells) < 7+1 { break } - - - - + arrStr = strings.Split(row.Cells[7].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[7].String() != "" { @@ -11839,18 +7964,11 @@ func AgcConvertDB_SlotRateWeight(fi,fo string) { } } data.NormCol5 = arrInt - - - - - - if len(row.Cells)<8+1{ + + if len(row.Cells) < 8+1 { break } - - - - + arrStr = strings.Split(row.Cells[8].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[8].String() != "" { @@ -11861,18 +7979,11 @@ func AgcConvertDB_SlotRateWeight(fi,fo string) { } } data.FreeCol1 = arrInt - - - - - - if len(row.Cells)<9+1{ + + if len(row.Cells) < 9+1 { break } - - - - + arrStr = strings.Split(row.Cells[9].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[9].String() != "" { @@ -11883,18 +7994,11 @@ func AgcConvertDB_SlotRateWeight(fi,fo string) { } } data.FreeCol2 = arrInt - - - - - - if len(row.Cells)<10+1{ + + if len(row.Cells) < 10+1 { break } - - - - + arrStr = strings.Split(row.Cells[10].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[10].String() != "" { @@ -11905,18 +8009,11 @@ func AgcConvertDB_SlotRateWeight(fi,fo string) { } } data.FreeCol3 = arrInt - - - - - - if len(row.Cells)<11+1{ + + if len(row.Cells) < 11+1 { break } - - - - + arrStr = strings.Split(row.Cells[11].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[11].String() != "" { @@ -11927,18 +8024,11 @@ func AgcConvertDB_SlotRateWeight(fi,fo string) { } } data.FreeCol4 = arrInt - - - - - - if len(row.Cells)<12+1{ + + if len(row.Cells) < 12+1 { break } - - - - + arrStr = strings.Split(row.Cells[12].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[12].String() != "" { @@ -11949,18 +8039,11 @@ func AgcConvertDB_SlotRateWeight(fi,fo string) { } } data.FreeCol5 = arrInt - - - - - - if len(row.Cells)<13+1{ + + if len(row.Cells) < 13+1 { break } - - - - + arrStr = strings.Split(row.Cells[13].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[13].String() != "" { @@ -11971,18 +8054,11 @@ func AgcConvertDB_SlotRateWeight(fi,fo string) { } } data.MaryOut = arrInt - - - - - - if len(row.Cells)<14+1{ + + if len(row.Cells) < 14+1 { break } - - - - + arrStr = strings.Split(row.Cells[14].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[14].String() != "" { @@ -11993,18 +8069,11 @@ func AgcConvertDB_SlotRateWeight(fi,fo string) { } } data.MaryMid = arrInt - - - - - - if len(row.Cells)<15+1{ + + if len(row.Cells) < 15+1 { break } - - - - + arrStr = strings.Split(row.Cells[15].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[15].String() != "" { @@ -12015,11 +8084,6 @@ func AgcConvertDB_SlotRateWeight(fi,fo string) { } } data.JackPot = arrInt - - - - - break } @@ -12027,26 +8091,26 @@ func AgcConvertDB_SlotRateWeight(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_SystemChance(fi,fo string) { + +func AgcConvertDB_SystemChance(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -12060,19 +8124,19 @@ func AgcConvertDB_SystemChance(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_SystemChanceArray{ - Arr:make([]*server.DB_SystemChance, 0, len(sheet.Rows)), + arr := &server.DB_SystemChanceArray{ + Arr: make([]*server.DB_SystemChance, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -12080,81 +8144,45 @@ func AgcConvertDB_SystemChance(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_SystemChance{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - - - + data.Desc = row.Cells[1].String() - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.ChanceType = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 32) data.Coin = int32(temp) - - - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[4].String(), 10, 32) data.Rate = int32(temp) - - - - - - - - break } @@ -12162,26 +8190,26 @@ func AgcConvertDB_SystemChance(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_Task(fi,fo string) { + +func AgcConvertDB_Task(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -12195,19 +8223,19 @@ func AgcConvertDB_Task(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_TaskArray{ - Arr:make([]*server.DB_Task, 0, len(sheet.Rows)), + arr := &server.DB_TaskArray{ + Arr: make([]*server.DB_Task, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -12215,150 +8243,91 @@ func AgcConvertDB_Task(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_Task{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.Order = int32(temp) - - - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[4].String(), 10, 32) data.ActivityType = int32(temp) - - - - - - - - - if len(row.Cells)<5+1{ + + if len(row.Cells) < 5+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[5].String(), 10, 32) data.TaskType = int32(temp) - - - - - - - - - if len(row.Cells)<6+1{ + + if len(row.Cells) < 6+1 { break } - - + temp, _ = strconv.ParseInt(row.Cells[6].String(), 10, 64) data.TargetTimes = int64(temp) - - - - - - - - if len(row.Cells)<7+1{ + + if len(row.Cells) < 7+1 { break } - - + temp, _ = strconv.ParseInt(row.Cells[7].String(), 10, 64) data.FinishTimes = int64(temp) - - - - - - - - if len(row.Cells)<8+1{ + + if len(row.Cells) < 8+1 { break } - - - - - - - - if row.Cells[8].String() != ""{ - pairs := strings.Split(row.Cells[8].String(), ";") - resultMap := make(map[int64]int64) - for _, pair := range pairs { - kv := strings.Split(pair, ",") - key, err := strconv.ParseInt(kv[0], 10, 64) - if err != nil { - // 错误处理 - fmt.Println("无法转换为int64:", kv[0]) - continue - } - value, err := strconv.ParseInt(kv[1], 10, 64) - if err != nil { - // 错误处理 - fmt.Println("无法转换为int64:", kv[1]) - continue - } - resultMap[key] = value + + if row.Cells[8].String() != "" { + pairs := strings.Split(row.Cells[8].String(), ";") + resultMap := make(map[int64]int64) + for _, pair := range pairs { + kv := strings.Split(pair, ",") + key, err := strconv.ParseInt(kv[0], 10, 64) + if err != nil { + // 错误处理 + fmt.Println("无法转换为int64:", kv[0]) + continue } - data.Award = resultMap + value, err := strconv.ParseInt(kv[1], 10, 64) + if err != nil { + // 错误处理 + fmt.Println("无法转换为int64:", kv[1]) + continue + } + resultMap[key] = value } - - - if len(row.Cells)<9+1{ + data.Award = resultMap + } + + if len(row.Cells) < 9+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[9].String(), 10, 32) data.GameType = int32(temp) - - - - - - - - - if len(row.Cells)<10+1{ + + if len(row.Cells) < 10+1 { break } - - - - + arrStr = strings.Split(row.Cells[10].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[10].String() != "" { @@ -12369,11 +8338,6 @@ func AgcConvertDB_Task(fi,fo string) { } } data.Position = arrInt - - - - - break } @@ -12381,26 +8345,26 @@ func AgcConvertDB_Task(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_ThirdPlatformGameMapping(fi,fo string) { + +func AgcConvertDB_ThirdPlatformGameMapping(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -12414,19 +8378,19 @@ func AgcConvertDB_ThirdPlatformGameMapping(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_ThirdPlatformGameMappingArray{ - Arr:make([]*server.DB_ThirdPlatformGameMapping, 0, len(sheet.Rows)), + arr := &server.DB_ThirdPlatformGameMappingArray{ + Arr: make([]*server.DB_ThirdPlatformGameMapping, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -12434,107 +8398,57 @@ func AgcConvertDB_ThirdPlatformGameMapping(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_ThirdPlatformGameMapping{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[1].String(), 10, 32) data.SystemGameID = int32(temp) - - - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - - - + data.ThirdPlatformName = row.Cells[2].String() - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - - - + data.ThirdGameID = row.Cells[3].String() - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - - - + data.Desc = row.Cells[4].String() - - - - - - - if len(row.Cells)<5+1{ + + if len(row.Cells) < 5+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[5].String(), 10, 32) data.ScreenOrientationType = int32(temp) - - - - - - - - - if len(row.Cells)<6+1{ + + if len(row.Cells) < 6+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[6].String(), 10, 32) data.ThirdID = int32(temp) - - - - - - - - break } @@ -12542,26 +8456,26 @@ func AgcConvertDB_ThirdPlatformGameMapping(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_Tips(fi,fo string) { + +func AgcConvertDB_Tips(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -12575,19 +8489,19 @@ func AgcConvertDB_Tips(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_TipsArray{ - Arr:make([]*server.DB_Tips, 0, len(sheet.Rows)), + arr := &server.DB_TipsArray{ + Arr: make([]*server.DB_Tips, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -12595,33 +8509,23 @@ func AgcConvertDB_Tips(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_Tips{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - - - - + arrStr = strings.Split(row.Cells[1].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[1].String() != "" { @@ -12632,24 +8536,12 @@ func AgcConvertDB_Tips(fi,fo string) { } } data.GameId = arrInt - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - - - + data.Des = row.Cells[2].String() - - - - - - break } @@ -12657,26 +8549,26 @@ func AgcConvertDB_Tips(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func AgcConvertDB_VIP(fi,fo string) { + +func AgcConvertDB_VIP(fi, fo string) { xlsxFile, err := xlsx.OpenFile(fi) if err != nil { fmt.Println("excel file open error:", err, "filename:", fi) @@ -12690,19 +8582,19 @@ func AgcConvertDB_VIP(fi,fo string) { fmt.Println("stack--->", string(buf[:lens])) } for _, sheet := range xlsxFile.Sheets { - arr:=&server.DB_VIPArray{ - Arr:make([]*server.DB_VIP, 0, len(sheet.Rows)), + arr := &server.DB_VIPArray{ + Arr: make([]*server.DB_VIP, 0, len(sheet.Rows)), } for i, row := range sheet.Rows { if i <= 1 { continue } - + if len(row.Cells) == 0 { break } - + temp := int64(0) var arrInt []int32 var arrInt64 []int64 @@ -12710,74 +8602,43 @@ func AgcConvertDB_VIP(fi,fo string) { var _ = arrInt var _ = arrStr var _ = arrInt64 - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data := &server.DB_VIP{} for { - - if len(row.Cells)<0+1{ + + if len(row.Cells) < 0+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[0].String(), 10, 32) data.Id = int32(temp) - - - - - - - - - if len(row.Cells)<1+1{ + + if len(row.Cells) < 1+1 { break } - - - + data.Name = row.Cells[1].String() - - - - - - - if len(row.Cells)<2+1{ + + if len(row.Cells) < 2+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32) data.Count = int32(temp) - - - - - - - - - if len(row.Cells)<3+1{ + + if len(row.Cells) < 3+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 32) data.VipExp = int32(temp) - - - - - - - - - if len(row.Cells)<4+1{ + + if len(row.Cells) < 4+1 { break } - - - - + arrStr = strings.Split(row.Cells[4].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[4].String() != "" { @@ -12788,18 +8649,11 @@ func AgcConvertDB_VIP(fi,fo string) { } } data.Privilege1 = arrInt - - - - - - if len(row.Cells)<5+1{ + + if len(row.Cells) < 5+1 { break } - - - - + arrStr = strings.Split(row.Cells[5].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[5].String() != "" { @@ -12810,32 +8664,18 @@ func AgcConvertDB_VIP(fi,fo string) { } } data.Privilege2 = arrInt - - - - - - if len(row.Cells)<6+1{ + + if len(row.Cells) < 6+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[6].String(), 10, 32) data.ShopId2 = int32(temp) - - - - - - - - - if len(row.Cells)<7+1{ + + if len(row.Cells) < 7+1 { break } - - - - + arrStr = strings.Split(row.Cells[7].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[7].String() != "" { @@ -12846,135 +8686,79 @@ func AgcConvertDB_VIP(fi,fo string) { } } data.Privilege3 = arrInt - - - - - - if len(row.Cells)<8+1{ + + if len(row.Cells) < 8+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[8].String(), 10, 32) data.Privilege4 = int32(temp) - - - - - - - - - if len(row.Cells)<9+1{ + + if len(row.Cells) < 9+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[9].String(), 10, 32) data.Privilege5 = int32(temp) - - - - - - - - - if len(row.Cells)<10+1{ + + if len(row.Cells) < 10+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[10].String(), 10, 32) data.Privilege6 = int32(temp) - - - - - - - - - if len(row.Cells)<11+1{ + + if len(row.Cells) < 11+1 { break } - - - - - - - - if row.Cells[11].String() != ""{ - pairs := strings.Split(row.Cells[11].String(), ";") - resultMap := make(map[int64]int64) - for _, pair := range pairs { - kv := strings.Split(pair, ",") - key, err := strconv.ParseInt(kv[0], 10, 64) - if err != nil { - // 错误处理 - fmt.Println("无法转换为int64:", kv[0]) - continue - } - value, err := strconv.ParseInt(kv[1], 10, 64) - if err != nil { - // 错误处理 - fmt.Println("无法转换为int64:", kv[1]) - continue - } - resultMap[key] = value + + if row.Cells[11].String() != "" { + pairs := strings.Split(row.Cells[11].String(), ";") + resultMap := make(map[int64]int64) + for _, pair := range pairs { + kv := strings.Split(pair, ",") + key, err := strconv.ParseInt(kv[0], 10, 64) + if err != nil { + // 错误处理 + fmt.Println("无法转换为int64:", kv[0]) + continue } - data.Privilege7 = resultMap + value, err := strconv.ParseInt(kv[1], 10, 64) + if err != nil { + // 错误处理 + fmt.Println("无法转换为int64:", kv[1]) + continue + } + resultMap[key] = value } - - - if len(row.Cells)<12+1{ + data.Privilege7 = resultMap + } + + if len(row.Cells) < 12+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[12].String(), 10, 32) data.Privilege7Price = int32(temp) - - - - - - - - - if len(row.Cells)<13+1{ + + if len(row.Cells) < 13+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[13].String(), 10, 32) data.ShopId7 = int32(temp) - - - - - - - - - if len(row.Cells)<14+1{ + + if len(row.Cells) < 14+1 { break } - + temp, _ = strconv.ParseInt(row.Cells[14].String(), 10, 32) data.Privilege8 = int32(temp) - - - - - - - - - if len(row.Cells)<15+1{ + + if len(row.Cells) < 15+1 { break } - - - - + arrStr = strings.Split(row.Cells[15].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[15].String() != "" { @@ -12985,18 +8769,11 @@ func AgcConvertDB_VIP(fi,fo string) { } } data.Param = arrInt - - - - - - if len(row.Cells)<16+1{ + + if len(row.Cells) < 16+1 { break } - - - - + arrStr = strings.Split(row.Cells[16].String(), "|") arrInt = nil if len(arrStr) > 0 && row.Cells[16].String() != "" { @@ -13007,60 +8784,41 @@ func AgcConvertDB_VIP(fi,fo string) { } } data.RewardOutlineID = arrInt - - - - - - if len(row.Cells)<17+1{ + + if len(row.Cells) < 17+1 { break } - - - - - - - - if row.Cells[17].String() != ""{ - pairs := strings.Split(row.Cells[17].String(), ";") - resultMap := make(map[int64]int64) - for _, pair := range pairs { - kv := strings.Split(pair, ",") - key, err := strconv.ParseInt(kv[0], 10, 64) - if err != nil { - // 错误处理 - fmt.Println("无法转换为int64:", kv[0]) - continue - } - value, err := strconv.ParseInt(kv[1], 10, 64) - if err != nil { - // 错误处理 - fmt.Println("无法转换为int64:", kv[1]) - continue - } - resultMap[key] = value + + if row.Cells[17].String() != "" { + pairs := strings.Split(row.Cells[17].String(), ";") + resultMap := make(map[int64]int64) + for _, pair := range pairs { + kv := strings.Split(pair, ",") + key, err := strconv.ParseInt(kv[0], 10, 64) + if err != nil { + // 错误处理 + fmt.Println("无法转换为int64:", kv[0]) + continue } - data.Award = resultMap + value, err := strconv.ParseInt(kv[1], 10, 64) + if err != nil { + // 错误处理 + fmt.Println("无法转换为int64:", kv[1]) + continue + } + resultMap[key] = value } - - - if len(row.Cells)<18+1{ + data.Award = resultMap + } + + if len(row.Cells) < 18+1 { break } - - - - - + if row.Cells[18].String() != "" { arrStr = strings.Split(row.Cells[18].String(), "|") data.ParamName = arrStr } - - - - break } @@ -13068,158 +8826,157 @@ func AgcConvertDB_VIP(fi,fo string) { } byteData, err := proto.Marshal(arr) - if err == nil{ + if err == nil { err := os.WriteFile(fo, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } + fmt.Println(err) + } } - + byteData, err = json.MarshalIndent(arr, "", "\t") if err == nil { foJson := strings.Replace(fo, ".dat", ".json", -1) err := os.WriteFile(foJson, byteData, os.ModePerm) if err != nil { - fmt.Println(err) - } - } + fmt.Println(err) + } + } break //only fetch first sheet } } - -func main(){ +func main() { - AgcConvertDB_ActSign(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_ActSign.xlsx`,`..\..\data\DB_ActSign.dat`) + AgcConvertDB_ActSign(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_ActSign.xlsx`, `..\..\data\DB_ActSign.dat`) - AgcConvertDB_Activity1(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Activity1.xlsx`,`..\..\data\DB_Activity1.dat`) + AgcConvertDB_Activity1(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Activity1.xlsx`, `..\..\data\DB_Activity1.dat`) - AgcConvertDB_AnimalColor(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_AnimalColor.xlsx`,`..\..\data\DB_AnimalColor.dat`) + AgcConvertDB_AnimalColor(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_AnimalColor.xlsx`, `..\..\data\DB_AnimalColor.dat`) - AgcConvertDB_ArtilleryRate(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_ArtilleryRate.xlsx`,`..\..\data\DB_ArtilleryRate.dat`) + AgcConvertDB_ArtilleryRate(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_ArtilleryRate.xlsx`, `..\..\data\DB_ArtilleryRate.dat`) - AgcConvertDB_ArtillerySkin(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_ArtillerySkin.xlsx`,`..\..\data\DB_ArtillerySkin.dat`) + AgcConvertDB_ArtillerySkin(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_ArtillerySkin.xlsx`, `..\..\data\DB_ArtillerySkin.dat`) - AgcConvertDB_BlackWhite(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_BlackWhite.xlsx`,`..\..\data\DB_BlackWhite.dat`) + AgcConvertDB_BlackWhite(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_BlackWhite.xlsx`, `..\..\data\DB_BlackWhite.dat`) - AgcConvertDB_CardsJD(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_CardsJD.xlsx`,`..\..\data\DB_CardsJD.dat`) + AgcConvertDB_CardsJD(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_CardsJD.xlsx`, `..\..\data\DB_CardsJD.dat`) - AgcConvertDB_CardsYuLe(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_CardsYuLe.xlsx`,`..\..\data\DB_CardsYuLe.dat`) + AgcConvertDB_CardsYuLe(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_CardsYuLe.xlsx`, `..\..\data\DB_CardsYuLe.dat`) - AgcConvertDB_ChessBilledRules(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_ChessBilledRules.xlsx`,`..\..\data\DB_ChessBilledRules.dat`) + AgcConvertDB_ChessBilledRules(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_ChessBilledRules.xlsx`, `..\..\data\DB_ChessBilledRules.dat`) - AgcConvertDB_ChessMatchRules(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_ChessMatchRules.xlsx`,`..\..\data\DB_ChessMatchRules.dat`) + AgcConvertDB_ChessMatchRules(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_ChessMatchRules.xlsx`, `..\..\data\DB_ChessMatchRules.dat`) - AgcConvertDB_ChessRank(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_ChessRank.xlsx`,`..\..\data\DB_ChessRank.dat`) + AgcConvertDB_ChessRank(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_ChessRank.xlsx`, `..\..\data\DB_ChessRank.dat`) - AgcConvertDB_ClientVer(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_ClientVer.xlsx`,`..\..\data\DB_ClientVer.dat`) + AgcConvertDB_ClientVer(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_ClientVer.xlsx`, `..\..\data\DB_ClientVer.dat`) - AgcConvertDB_CollectBox(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_CollectBox.xlsx`,`..\..\data\DB_CollectBox.dat`) + AgcConvertDB_CollectBox(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_CollectBox.xlsx`, `..\..\data\DB_CollectBox.dat`) - AgcConvertDB_CollectBoxGain(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_CollectBoxGain.xlsx`,`..\..\data\DB_CollectBoxGain.dat`) + AgcConvertDB_CollectBoxGain(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_CollectBoxGain.xlsx`, `..\..\data\DB_CollectBoxGain.dat`) - AgcConvertDB_CrashSearch(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_CrashSearch.xlsx`,`..\..\data\DB_CrashSearch.dat`) + AgcConvertDB_CrashSearch(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_CrashSearch.xlsx`, `..\..\data\DB_CrashSearch.dat`) - AgcConvertDB_Createroom(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Createroom.xlsx`,`..\..\data\DB_Createroom.dat`) + AgcConvertDB_Createroom(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Createroom.xlsx`, `..\..\data\DB_Createroom.dat`) - AgcConvertDB_Fish(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Fish.xlsx`,`..\..\data\DB_Fish.dat`) + AgcConvertDB_Fish(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Fish.xlsx`, `..\..\data\DB_Fish.dat`) - AgcConvertDB_FishOut(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_FishOut.xlsx`,`..\..\data\DB_FishOut.dat`) + AgcConvertDB_FishOut(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_FishOut.xlsx`, `..\..\data\DB_FishOut.dat`) - AgcConvertDB_FishPath(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_FishPath.xlsx`,`..\..\data\DB_FishPath.dat`) + AgcConvertDB_FishPath(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_FishPath.xlsx`, `..\..\data\DB_FishPath.dat`) - AgcConvertDB_FishRoom(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_FishRoom.xlsx`,`..\..\data\DB_FishRoom.dat`) + AgcConvertDB_FishRoom(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_FishRoom.xlsx`, `..\..\data\DB_FishRoom.dat`) - AgcConvertDB_FishSkill(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_FishSkill.xlsx`,`..\..\data\DB_FishSkill.dat`) + AgcConvertDB_FishSkill(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_FishSkill.xlsx`, `..\..\data\DB_FishSkill.dat`) - AgcConvertDB_FortuneGod_Odds(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_FortuneGod_Odds.xlsx`,`..\..\data\DB_FortuneGod_Odds.dat`) + AgcConvertDB_FortuneGod_Odds(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_FortuneGod_Odds.xlsx`, `..\..\data\DB_FortuneGod_Odds.dat`) - AgcConvertDB_FortuneGod_TurnRate(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_FortuneGod_TurnRate.xlsx`,`..\..\data\DB_FortuneGod_TurnRate.dat`) + AgcConvertDB_FortuneGod_TurnRate(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_FortuneGod_TurnRate.xlsx`, `..\..\data\DB_FortuneGod_TurnRate.dat`) - AgcConvertDB_FortuneGod_Weight(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_FortuneGod_Weight.xlsx`,`..\..\data\DB_FortuneGod_Weight.dat`) + AgcConvertDB_FortuneGod_Weight(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_FortuneGod_Weight.xlsx`, `..\..\data\DB_FortuneGod_Weight.dat`) - AgcConvertDB_FortuneGod_WeightCondition(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_FortuneGod_WeightCondition.xlsx`,`..\..\data\DB_FortuneGod_WeightCondition.dat`) + AgcConvertDB_FortuneGod_WeightCondition(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_FortuneGod_WeightCondition.xlsx`, `..\..\data\DB_FortuneGod_WeightCondition.dat`) - AgcConvertDB_GamMatchLV(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_GamMatchLV.xlsx`,`..\..\data\DB_GamMatchLV.dat`) + AgcConvertDB_GamMatchLV(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_GamMatchLV.xlsx`, `..\..\data\DB_GamMatchLV.dat`) - AgcConvertDB_GameCoinPool(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_GameCoinPool.xlsx`,`..\..\data\DB_GameCoinPool.dat`) + AgcConvertDB_GameCoinPool(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_GameCoinPool.xlsx`, `..\..\data\DB_GameCoinPool.dat`) - AgcConvertDB_GameFree(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_GameFree.xlsx`,`..\..\data\DB_GameFree.dat`) + AgcConvertDB_GameFree(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_GameFree.xlsx`, `..\..\data\DB_GameFree.dat`) - AgcConvertDB_GameItem(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_GameItem.xlsx`,`..\..\data\DB_GameItem.dat`) + AgcConvertDB_GameItem(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_GameItem.xlsx`, `..\..\data\DB_GameItem.dat`) - AgcConvertDB_GameMatchLevel(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_GameMatchLevel.xlsx`,`..\..\data\DB_GameMatchLevel.dat`) + AgcConvertDB_GameMatchLevel(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_GameMatchLevel.xlsx`, `..\..\data\DB_GameMatchLevel.dat`) - AgcConvertDB_GameRule(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_GameRule.xlsx`,`..\..\data\DB_GameRule.dat`) + AgcConvertDB_GameRule(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_GameRule.xlsx`, `..\..\data\DB_GameRule.dat`) - AgcConvertDB_GameSubsidy(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_GameSubsidy.xlsx`,`..\..\data\DB_GameSubsidy.dat`) + AgcConvertDB_GameSubsidy(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_GameSubsidy.xlsx`, `..\..\data\DB_GameSubsidy.dat`) - AgcConvertDB_Game_Drop(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Game_Drop.xlsx`,`..\..\data\DB_Game_Drop.dat`) + AgcConvertDB_Game_Drop(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Game_Drop.xlsx`, `..\..\data\DB_Game_Drop.dat`) - AgcConvertDB_Game_Introduction(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Game_Introduction.xlsx`,`..\..\data\DB_Game_Introduction.dat`) + AgcConvertDB_Game_Introduction(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Game_Introduction.xlsx`, `..\..\data\DB_Game_Introduction.dat`) - AgcConvertDB_Game_Pet(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Game_Pet.xlsx`,`..\..\data\DB_Game_Pet.dat`) + AgcConvertDB_Game_Pet(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Game_Pet.xlsx`, `..\..\data\DB_Game_Pet.dat`) - AgcConvertDB_Game_Role(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Game_Role.xlsx`,`..\..\data\DB_Game_Role.dat`) + AgcConvertDB_Game_Role(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Game_Role.xlsx`, `..\..\data\DB_Game_Role.dat`) - AgcConvertDB_GiftBox(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_GiftBox.xlsx`,`..\..\data\DB_GiftBox.dat`) + AgcConvertDB_GiftBox(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_GiftBox.xlsx`, `..\..\data\DB_GiftBox.dat`) - AgcConvertDB_GiftCard(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_GiftCard.xlsx`,`..\..\data\DB_GiftCard.dat`) + AgcConvertDB_GiftCard(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_GiftCard.xlsx`, `..\..\data\DB_GiftCard.dat`) - AgcConvertDB_IceAgeElementRate(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_IceAgeElementRate.xlsx`,`..\..\data\DB_IceAgeElementRate.dat`) + AgcConvertDB_IceAgeElementRate(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_IceAgeElementRate.xlsx`, `..\..\data\DB_IceAgeElementRate.dat`) - AgcConvertDB_Legend_Odds(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Legend_Odds.xlsx`,`..\..\data\DB_Legend_Odds.dat`) + AgcConvertDB_Legend_Odds(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Legend_Odds.xlsx`, `..\..\data\DB_Legend_Odds.dat`) - AgcConvertDB_Legend_TurnRate(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Legend_TurnRate.xlsx`,`..\..\data\DB_Legend_TurnRate.dat`) + AgcConvertDB_Legend_TurnRate(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Legend_TurnRate.xlsx`, `..\..\data\DB_Legend_TurnRate.dat`) - AgcConvertDB_Legend_Weight(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Legend_Weight.xlsx`,`..\..\data\DB_Legend_Weight.dat`) + AgcConvertDB_Legend_Weight(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Legend_Weight.xlsx`, `..\..\data\DB_Legend_Weight.dat`) - AgcConvertDB_Legend_WeightCondition(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Legend_WeightCondition.xlsx`,`..\..\data\DB_Legend_WeightCondition.dat`) + AgcConvertDB_Legend_WeightCondition(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Legend_WeightCondition.xlsx`, `..\..\data\DB_Legend_WeightCondition.dat`) - AgcConvertDB_MatchRank(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_MatchRank.xlsx`,`..\..\data\DB_MatchRank.dat`) + AgcConvertDB_MatchRank(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_MatchRank.xlsx`, `..\..\data\DB_MatchRank.dat`) - AgcConvertDB_Name(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Name.xlsx`,`..\..\data\DB_Name.dat`) + AgcConvertDB_Name(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Name.xlsx`, `..\..\data\DB_Name.dat`) - AgcConvertDB_NameBoy(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_NameBoy.xlsx`,`..\..\data\DB_NameBoy.dat`) + AgcConvertDB_NameBoy(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_NameBoy.xlsx`, `..\..\data\DB_NameBoy.dat`) - AgcConvertDB_NameGirl(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_NameGirl.xlsx`,`..\..\data\DB_NameGirl.dat`) + AgcConvertDB_NameGirl(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_NameGirl.xlsx`, `..\..\data\DB_NameGirl.dat`) - AgcConvertDB_NewPlayer(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_NewPlayer.xlsx`,`..\..\data\DB_NewPlayer.dat`) + AgcConvertDB_NewPlayer(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_NewPlayer.xlsx`, `..\..\data\DB_NewPlayer.dat`) - AgcConvertDB_PhoneLottery(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_PhoneLottery.xlsx`,`..\..\data\DB_PhoneLottery.dat`) + AgcConvertDB_PhoneLottery(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_PhoneLottery.xlsx`, `..\..\data\DB_PhoneLottery.dat`) - AgcConvertDB_PigBank_Diamond(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_PigBank_Diamond.xlsx`,`..\..\data\DB_PigBank_Diamond.dat`) + AgcConvertDB_PigBank_Diamond(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_PigBank_Diamond.xlsx`, `..\..\data\DB_PigBank_Diamond.dat`) - AgcConvertDB_Pigbank_Prop(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Pigbank_Prop.xlsx`,`..\..\data\DB_Pigbank_Prop.dat`) + AgcConvertDB_Pigbank_Prop(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Pigbank_Prop.xlsx`, `..\..\data\DB_Pigbank_Prop.dat`) - AgcConvertDB_PlayerExp(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_PlayerExp.xlsx`,`..\..\data\DB_PlayerExp.dat`) + AgcConvertDB_PlayerExp(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_PlayerExp.xlsx`, `..\..\data\DB_PlayerExp.dat`) - AgcConvertDB_PlayerInfo(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_PlayerInfo.xlsx`,`..\..\data\DB_PlayerInfo.dat`) + AgcConvertDB_PlayerInfo(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_PlayerInfo.xlsx`, `..\..\data\DB_PlayerInfo.dat`) - AgcConvertDB_PlayerType(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_PlayerType.xlsx`,`..\..\data\DB_PlayerType.dat`) + AgcConvertDB_PlayerType(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_PlayerType.xlsx`, `..\..\data\DB_PlayerType.dat`) - AgcConvertDB_PotOdd(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_PotOdd.xlsx`,`..\..\data\DB_PotOdd.dat`) + AgcConvertDB_PotOdd(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_PotOdd.xlsx`, `..\..\data\DB_PotOdd.dat`) - AgcConvertDB_PropExchange(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_PropExchange.xlsx`,`..\..\data\DB_PropExchange.dat`) + AgcConvertDB_PropExchange(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_PropExchange.xlsx`, `..\..\data\DB_PropExchange.dat`) - AgcConvertDB_RankCycle(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_RankCycle.xlsx`,`..\..\data\DB_RankCycle.dat`) + AgcConvertDB_RankCycle(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_RankCycle.xlsx`, `..\..\data\DB_RankCycle.dat`) - AgcConvertDB_RankLevel(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_RankLevel.xlsx`,`..\..\data\DB_RankLevel.dat`) + AgcConvertDB_RankLevel(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_RankLevel.xlsx`, `..\..\data\DB_RankLevel.dat`) - AgcConvertDB_RankReward(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_RankReward.xlsx`,`..\..\data\DB_RankReward.dat`) + AgcConvertDB_RankReward(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_RankReward.xlsx`, `..\..\data\DB_RankReward.dat`) - AgcConvertDB_Sensitive_Words(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Sensitive_Words.xlsx`,`..\..\data\DB_Sensitive_Words.dat`) + AgcConvertDB_Sensitive_Words(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Sensitive_Words.xlsx`, `..\..\data\DB_Sensitive_Words.dat`) - AgcConvertDB_SlotRateWeight(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_SlotRateWeight.xlsx`,`..\..\data\DB_SlotRateWeight.dat`) + AgcConvertDB_SlotRateWeight(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_SlotRateWeight.xlsx`, `..\..\data\DB_SlotRateWeight.dat`) - AgcConvertDB_SystemChance(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_SystemChance.xlsx`,`..\..\data\DB_SystemChance.dat`) + AgcConvertDB_SystemChance(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_SystemChance.xlsx`, `..\..\data\DB_SystemChance.dat`) - AgcConvertDB_Task(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Task.xlsx`,`..\..\data\DB_Task.dat`) + AgcConvertDB_Task(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Task.xlsx`, `..\..\data\DB_Task.dat`) - AgcConvertDB_ThirdPlatformGameMapping(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_ThirdPlatformGameMapping.xlsx`,`..\..\data\DB_ThirdPlatformGameMapping.dat`) + AgcConvertDB_ThirdPlatformGameMapping(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_ThirdPlatformGameMapping.xlsx`, `..\..\data\DB_ThirdPlatformGameMapping.dat`) - AgcConvertDB_Tips(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Tips.xlsx`,`..\..\data\DB_Tips.dat`) + AgcConvertDB_Tips(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Tips.xlsx`, `..\..\data\DB_Tips.dat`) - AgcConvertDB_VIP(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_VIP.xlsx`,`..\..\data\DB_VIP.dat`) + AgcConvertDB_VIP(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_VIP.xlsx`, `..\..\data\DB_VIP.dat`) } diff --git a/worldsrv/action_welfare.go b/worldsrv/action_welfare.go index 2a05db7..554ac89 100644 --- a/worldsrv/action_welfare.go +++ b/worldsrv/action_welfare.go @@ -415,6 +415,40 @@ func CSBindInvite(s *netlib.Session, packetid int, data interface{}, sid int64) return nil } +// ------------------------------------------------ +type CSPigBankGetInfoPacketFactory struct { +} + +type CSPigBankGetInfoHandler struct { +} + +func (this *CSPigBankGetInfoPacketFactory) CreatePacket() interface{} { + + return nil +} + +func (this *CSPigBankGetInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { + + return nil +} + +// ------------------------------------------------ +type CSPigBankTakeCoinPacketFactory struct { +} + +type CSPigBankTakeCoinHandler struct { +} + +func (this *CSPigBankTakeCoinPacketFactory) CreatePacket() interface{} { + + return nil +} + +func (this *CSPigBankTakeCoinHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { + + return nil +} + func init() { // 领取救济金 common.RegisterHandler(int(welfare.SPacketID_PACKET_CS_WELF_GETRELIEFFUND), &CSGetReliefFundHandler{}) @@ -452,4 +486,11 @@ func init() { common.Register(int(welfare.SPacketID_PACKET_CSInviteInfo), welfare.CSInviteInfo{}, CSInviteInfo) // 绑定信息 common.Register(int(welfare.SPacketID_PACKET_CSBindInvite), welfare.CSBindInvite{}, CSBindInvite) + + //获取存钱罐数据 + common.RegisterHandler(int(welfare.SPacketID_PACKET_CSPigbankGetInfo), &CSPigBankGetInfoHandler{}) + netlib.RegisterFactory(int(welfare.SPacketID_PACKET_CSPigbankGetInfo), &CSPigBankGetInfoPacketFactory{}) + //领取存钱罐金币 + common.RegisterHandler(int(welfare.SPacketID_PACKET_CSPigbankTakeCoin), &CSPigBankTakeCoinHandler{}) + netlib.RegisterFactory(int(welfare.SPacketID_PACKET_CSPigbankTakeCoin), &CSPigBankTakeCoinPacketFactory{}) } diff --git a/xlsx/DB_Pigbank_Prop.xlsx b/xlsx/DB_Pigbank_Prop.xlsx index 65f038c1edd73d72637fa640b5b9eacf173c61f1..b7989090a04a0b591af11b03e12a0f8e2f05d5b6 100644 GIT binary patch literal 13909 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 Q7l{Cn1$z4>%OC&!f54X*vH$=8 literal 20105 zcmZ_0V|ZoH@;1C<+qP}nwrx)`v2ELSGLuYfPHfw@C)S(!o%g{x&-t$pd-dvdH|nlh z-FMQ+pFdM|%e+2E{KJ>Q@HjKd@&Qk53*T0Kgs? z06_e|VMY!P^zL@HIf)a}AWWzskAYW+b-zyH!jm&lg$80YYue&6cQ;=p=okg-CPIG46&Gg2z)U2Wn(mVOqa}wY>g%;Zu zP+Jfk;Ry04y?U+iav}u45=Nn+J9QD?st_su%2#(sw8P1n4bfKO4J~mnvtrHW_Av+| zW5S1z1N{kQ3pCJU5948-&HiU=_V-CDf;|QfL4cX-u8&zmVT-apHXd$U;_`~NNJ>Ok zhMvFm&{PT(WqoKVoTXzxfk*h=Q1%8@a1;Ac479jbm&9=D!HF`tQgka#4EiZPDKQh}wyJprBvk;Dxl{z-gQD5mB?Yg!~z&)}qs^qGY zKHSXj*GS{@Cty^k&gp5QY^)#Y2ogL)XnQj35ZTC%p=j>p=@u>EgK83@I>p;~b)HRT zAc(jkP|yu-oF`;YWoNzAk4GWoD>l?89BS!SKia3zJK)+MR!6E^w5vRS{G5UOfbz{= zUuP>CR9j2cPf7irjm6sL8mnPu9G=cJOns9M)wzvDMi;{#X znJ--oT?KxMjC4-KRj+Zc#v}aFnD@<6XZR5T$!C| ztUyp0*_NrnI|K_7qAtmm!E?E9s_h_yE-qA7cvXqQlNB8g&(ZSSuZJwBUNz_IXT!gYZj42H`FSdUbsOtJULkX#QYULaA#dsFyHz_ zqubB(df9xx8n?Y`1!ixCqWLro<4jgaQCL`(*sl+A%ECRN_lhw{Bg}8LUn7gB?UN~Y zkc`|Joq;BEG7;2XS=&grHh92nVE2>*$DM!SAYlOFFR%Z7!~yx@)!p_##+px^www1a z;)B1&qrYR#7r?~c&d%(cvlG)_)-O`0Y*2*$VZDzzkb@_S+Ia8sflwSq%yW8kXrcjU zWHK~^sW=zeb`^C_z3N6WWfonUsz8+&GjYD#oMMgdz~H*79jbs3^k*6+>{tiEYmN`W z;lxiS9mhNE1jmHC^ay1Y?pezEPTN?ztmBor@hUG#l*Ag^5wGY>%MfT*8@+Dx<=iu6 z@(^%f+4SLry7)oOWq6l}^jqj;A=8mP`UJyUGg|2E#Gek7Dc|rF&R+D+6LCdSh4iI| z_KX>8)%BBMae1nGK?_F`@3@Gp}3tsaZu1~1+0w{@`}9^>SPZ4vZNbkbY*GE_8=)4kWPev*vCnzR>5F>bb9m3OR#RTzv3 zd)bI#GU9(hxH~oE&!tU2Rnf`0e5qn*t+4)C(OFgQC*Xa-HW@fc9j$+1H#IZRppH2#J&@nKr$@$r$`N}L`v z#`EEarTO~>>VLK+*ngRdsiTpb)i;a(oWPtpW46@4%RFY1X7*WS zpj7>Je17N89yOhwODU^XW+terP1o-%N+{}5~0?l`Zi1K ztJT$GeN%P_k(=zOztst+{+5+aVKX$0NrIJzKWiK%#lWgmC)6@3()0;dg+r*T5K?PN zJB^J`)FZ#w2gD*`dauhge3H$iW|q)wmm)UK8$;+gYt!?{rjMgN*ikcx`6!<416!qf zv&(7Bf$TUhz_&SQ$VePOy)JtE@$Tz^NlyY|ZB>e6y$cX{AK0$o))6&kOvcOmh|n|1Ip@VQ_uD6tu$5AVIAmof?(!wvio`hoHoo8zxR zGU1KSw8E8g>)9oVsBrB;>@}h`cw0H5g;GKOW=90-p}?*FrKSQk@eQgfhas4hqdIM7 zi>ii6L6M}I=H@@%*J0dJL82mBjQW)6d|1li-9H@SQTe< zU_}*cI?P}zi?9Kug4*)Az>SZi#yc}FZ&KUk_0$96+T)b6<6yYy z%M0l>_l7V~J3Pmh*?dT?bu*1b)629FlN2^^2p#_7e8M5Z3^E`|;EMVCn~B3yYVB#w zr{uyv;HdJawQxj7EJ^iT-a4C{->u%?UoUx9Ue;OeF$lj)Ul0_e7@(nFl`Mu9^L#|8 z_Zm$QsEKbD*YcE6IhnZa3?}f9oNLU*#>J36A@COaq|j;31*>Y6)LyWqzV0STbpGOd zQuuKvk-Dc+%L`L<_7r%BwTIiPq;Qw5$d7$^&Bi!K@$vk)|44So2+P2j=khH#j&X<~ zfXfqZoTDtzqc%LuZosVQdnpdw*47p4TMt~vUVZ(Ry}-wjzKOU_*Ie-tWwzezomSbA zyX;gH#tyHam~ZY(?I|nktI)PVY`~Eh?4Ld)^E~(f4hG4|`lW4IH&%+@&*UwnNA>cP zENPNWkJtq`t9{!EkJ!CRoC+tG?C<|9bN>4z0ROMg(aqk`#>vvm%=te*-Cgf2$_iuv zKu;Y2!2Ex({}lOWUdYjva>5=#?&=PIB!Gl>a*s`z_h%n84pcK{0+zCEGpaB{B7p+0 zF;%$UGf-DkcTrcL-M;BfoDf57PG?Cki&ozrO+6T0h2fOl6`wj!dN zCE)EBv$ZHb!t9$--TS$4XIoph>dSjsa`m0--M>-WFFcA(NK=VnbG6=^njkxLP|adB}$aRaB@ zJ8+$ZK#}qYdoK5{)_i_da!YfzC-swp_8yuqZ=6AtmGc&q_X9nHHQ; z0_yvZ+h^V%X~wp{OGu`>(z^yS@|s~Bo`|!?%op#(D15aw z_R=tF;-}0@5zbb;)oD_2tZ>dPC%% zKoCeEh~7_0Sa>;t=_du2qq+r44$D*Lf26rJlwA8tbzRfkQc(J34(H*XU+`_mH^B>h zrnn53rN*hQ7{?OozlO+*ElN_1jEYsFKd2cdVUW#C;o)V!1%l&zg!lV>f-P@LkiN`( z%*5F~EihnqtuvT1IPQcQDDoq8Ut;+BlcMJX=y zlI3k-rHIVEV{4)or}8r#5n#1!_{(6E$r=L6x0^80gt!Dl3ey6B=mVH~647*h81Q`f zy&()e1!JX$k)CnY`jCW#xX8HjO2}*WeNx+cl&`h0fyZj69I0xupJ+9J$10{~Q8g#M zQ&W2!FY6n?Qp3fXNp5PMd=uO?{o9cdqOKeJ`-In%+%=QrtC@ zhh9FMAqUQ>u`?+;3(2+o_aV!Noj6`kY{n_zTe(7H#LlL zPM(;>jc}0E3lAA0HipxUbUO_tWQ5rkQa`ZKDXoRNQpJDr5YJ4`ZXmit({7~2N?dP` zBB7Az3eDY6g8hWl#!txjR))kQNqd}C+s5Q8WpY)D^ox)9$3ZShA{%pV*N)QT@gs84 zMt(;Ic5+d3qBwdw&rp#XeucnCr?sIq@$OQX=&e-y8?WAAoYtK)`#46J^_%v@pP)s` z&+g;pW8c}(KLRbIGw3QN#?zjMkqH(>n9I{N~8T{y>l24*Es7{kA0Ja-s2 z-wnlowB|W>kyv71l=*&eFI*!2?{V=SH8E_>_R9?ur z3c9dxJ#i9vgy(nSt}0b~ughhe*{u<>n=*moykMHu{W!S=M^jN+UzBag5u7Svir>UX ztgb8`9*M>IKK9IYDh`t+F?hH-fY-GaK3#>k#d-jG^uuL>{i0fa8otDGfC zJ11ErK@?=KN;>GN^>;}AUfbrxVxC4AOte#z(*mK%kZ4(eC@j=E$ezb26~EJLiI<-J2Hq{3jtwS{(D#sk=U0JP z1L#L1)XWb|yFwpbTOD`qk<`@?h3Sk{aFIv&N+Jg#R0#EUtA3lf;r#rg@L~r{g{|vw z7q>4_=}BXLYG2{T(VJ~-`o=@V1FIc$NQQ~dMll3L1@cB?#`u$Ul`zee!@kTzz3dot zV*L8jxY{=EZ?Vf{9>vg2vwO)M<1>GtcIy)dAXs>MO&>Md7}K1Mv&vAg9pRAqIH7-p zqsqzDP-&58Io<+Y`S!$Z+Ty^AtjqZ&7$in3fIhn>9$)X;pNY1Hju@rEDhn~_g_Ehk zFn>b`2^dsV%CI0yyyGGK=ZIIVq;%lTAGkOm;HGPwWC}q-t9`+3ch%c*pG}5(pzY#H zL|+OlW#JfV@ZmxF_W}X^_!U`_@UtE-w$dnI36UDf+S|x?$(3n70SJF_zUlkZ zPa$#$6_6~#EjWWPSg=@$Kwt^k@5VH!oJK@K=+Mj63Q@zLF{|YL`ND|Mn1pVM!Gb_a z$ePFhn48Vrm$?-hewiDI2+$}BWjw1Rr2{Xu$8?TR4xGHpVi3<$yd-$7C?#i#1#nTq zrty8>C?;E5;v zSZV5-OC6E!H)eyymjVjK0EU9=U;G395C5%S{8I<~!#}`PrB%oS81OZYRDX>l%;ql( z_K^Xr_+d-|TUlYE%;99f0NaNXfv&-X8O-&_AC;@@;2ZrL_lni zRWa;F3m#xzZ#Lrw0AS~t0}{Ll)dm=Xsn@b5x_%h<*2I?u_9N6^wL}RKBnE6O`-B3i zfMyZyz*z*lkK(pE^CAN{cliN5;v1zX=1|OQkVgZh+S!>_fW9mXD1JspJ0w1#$0jJI za_oMH(qBQupakKGJ;EF@?iWZ}SC6;}!FhkhiAJDQxE7inUOk(ZN`N(vctXU>Fg7V9DVa^0k;2cxkT}(im1h2Pa(te&d9&CYunpuVJ8olm*O`m? zYsLC%LQUQCfO+PiwS-rQkqhcuy4kU96YN0T9B6|^oi&2&{GuOs=5ZPby1XWzI&MNT zlvj$T7(OWKyK@4k38EQCl!rtuMS1$@3TXJ6ig9)=JaDSRb=PEc?t4ot3GQ&OJjx| zzQKH8nDrd9S%i&}cBh5kFHP3%>6<2SUH*_`(c(cu&Z@ZOdq$NN`E%e$dGq0g_dS+Z z&9Bp|aGPw@R#D=oRtE1kW)cM;(#PY;;@8B+vU0T?2%bVHRS4wNTjQPHSo$TEY^Urd zMvD4`FWKPj?$@WR;aSLnPf99X^;dle**L2}0uTO)*5c|zXfCVDaokd7H>Roy5IaMn z8(cxxd-4oaB*-#+Gj$~wE*Suv4mmYIbs-p00P^|+zglM#u}cfoXnC(~Cbj}_g-^F^ zx@dzV&Dw60BPv1AEsi>=TqTb`dX)Nk>U5znur^m%@QZMRF-Lstg5*qOIaIWBm4CR| z5`PMi5<>wwo0_4lkLhZl`Z10e%@Ms4c0L+2k+zrwzpl{L9J_E!APK_9bs=)4LMe>X zFr!vBp;>?w985t4(lE3zq-?KH6cd}7=cs*K#3BVCi5W!~+|ZE-wL{R5dyZt4hwB=; zhqTQu!0J^Ov}g<7ka_60EL=@u)$xdui+bXfiMpuTzK|ia(4&d!+Jv%#rZP8fzGQa@ z6I(;Uk42YxL+vKP7#>Ip;h3UQ&N@8n?1p&#;7s7NboJfFZN)5QkUzrZI~EY!>fy$4 z-{pETSx+0)EaJn}1i$1mLpF|KA`~#!fm~& zd+Xw9AXg3}490dwm6}si3Q`-Di<)_zh6IJQxG8(}xD)K(bSdccB4r zX6!+68r3Pb6@(ZEE&(`=8-@hG-DlMQn1hPoq~1{960W8Taejw5A~Ye3Da$>UvT};z zD2-(w>fpqd9YgQ9SvQ*0XF|KBDZ6kNafaA7ydlT53s>|9z33+@u%z8&ggn+HisZ0T zZ&NoMv)vnEHt7^i6$CLkC7DC-5PC zQ-Zelx7JYm{2o(I<5w&vWipy>jkXmdub2uq_2`~qmkrX?;tmxhVyi?kso4qA5)LEc zFoWbAbvpxA8jp8u4BwlPEb)_&`t&pTCXBXenfi7+^JZqTHR#y*Pw~w>3ZGX#jQRvQ zWeB)RJ(xbPpJvOi^hmtx-*xM<#Y7`y%XA;0NOKBaxX?PuY5=rdQ-2k7Rn2CXpVH9O zq6&s3HegNukrZR2MQOu{9~QFj!BXk--)K_`BkQFa>RdLpxMHX?HKD{Xk3X7XD^^0n6G z<)5vi-y`qM&^!=>9A5tHsjdZ;@~#FMP@HNKK%TQ5UfzcMbMl=2xujai}0O9oY} z0L$!ynofsl$cj;o*qNhOfTB}$qa-;jDli<;a-cZ8la46F1CJD8{`zI_K4wec4iPL33)>v%K%Bu;MFNh;fAD4j2pXr;0zA52 z0iaW{B?eIV6Z+5gFRKK^Q{VvNi;&9= zW#3gnI8vp7BxkV!h|CdszzFu(Hv=9%0P+P`&Hze83fGD$h2Ite? z%smQSz$Kj+48Q@7GpOixd#JI-fBTN;|A%%va~gt>bG-$`fBZ%Qlu*4F?HzNBy=-OB z8qMQvhBY7QR|eBS^SS=>8s3qm@Q&Squ>U1A2C;9Y6=zA7QpVA*-_j>{l2PwbW8m0=R$**#Ly5(qM$%jE*sd z65&AUsGdj^`7FLpECgE1uKj~u!Oa$EE4TBd@rGl>iY<67O*f1ujA&P{0yErTpvt9z zWB!8l*@+b36$?OOhunnm$L(VI$w-j!^OBIo011m8Z@}+Pd=oNT{<9v$@Ep?0Q$2Xu z$Q;xlviXNyW(fa=YCc9t8EcezDH0~}(NwT|W+Pau0G>W!*qNyDf%~L5=+(5(f zhp~#3)5Pbg8T#orfj!rsj3GF?p#To6d7B@Ts(t_t`Bc$#rh6YW+uARs?1;~fZkyX4 zOfylkY1?hWY1$j@Ep1Ll5{9e!fq-I0IYX>xZpCCjlb1X@uN%M6eK70!W_4CEGhE}z za{9SDIQr%aa5wpF2bf#&3s5O;pJhr5`+&`Q%glY8VevO&_hHy`1&v|z>eFEZ= zC)V8GeSiq&boxq{*5cJh^hJ7LcRsLKlHQy(7Bi2z+-T zlv&1h&u@s^ZTYS9Ih_eY>D~$c-On`VgXT00`Q>Ax_#d~onE!FHX6iWY4k8b2DJ(q0 zCvSpC(i-XxR%jzR?ONrcr!fD`>`1GCD`fBOu^W*45Uw!MW zxzLi^a7SCAv$?dD@4@qar>bS&rMUx5qvcjvJ*^|a@5hq9&yUErW%jmgFQIOMQ@z`{ zg*|lqA5+Ve2Kw@0#_IT+3!>2l|1{n)T$9_+qYucUm*uvS_#im$Z^v&jvVs0<++oi7jPv6c- zvQMUa;9pJ}RcD7sSky}vL5iaRioeSgUl2C@;j}Ax!r0A?QC-g%3hyNwLzOC1%>_&f zf)!?_p6)h!)@?Qd6i(#b{+tN?j$d88u4wbc^jj1oP!DY4dfhYlb2+B_G+ku-$su%0 z6x+doH_hJ1UHX{}X8^uJ0EbV=cDd={o!-0&E_j$DDVuZ2=qV~Hac#|m&X=wehC_ibooWRh~qb1XLI zLA3q&ZRkW~G}Vn5G}Ux};&PLsK;qDg{8$(DRltBQvt=1@TPkPf*~i*pg-D>a#a?{= z>I!rOlDsLY6QDv@2#PwnMhr9Weg3qXQM3|M2s~6}PPokYt*2lL z5)WxPGxC>&Qh3OwW?z*MFGEKp;3RjB8-b>bOcKo$*wa`skWq8A;m~lLo1SS3U^Y43 z<-;}b1%K625H9m`Js&#~4_Os7LL@Mf@Bo?r;*B2rBosS6fB#!Zza-2p*;jW?wzxbV01IZ3A_vx`>SpM+>nzE#B4QoHm$xOwh&cX?~;&a^pp~*ymOWnwhHBTX>+|Dbm^K22DMpSV7#NN#T6^lw0TZR`iFPVE3=235rBi zEdGMXk>dVaDTtQFdZ&nJB$&MY@MMKHhBXRTewPrU57hRTz^U?c~FQ^=e05LYTl3*w{jze;d&NzVZbdBT_k5u(_ zF>v)=FLx2<{RI%+7_1$uQW2j?}|?0MYZlxIQY@`Y#<-sWzc)GQ9ke z;n;v}A?E57Dg6U7Df-Ih0;Q*V~@b&_sOyhi`z=d*b#wI#Z;8?7v@F5 zX7TPw!Q*c*os_Eo4?B@F4pZ1lSl!vgnc{lgHOmC-c9s7EAE76HTy3=?hZlrHHf% zZVt4R4wT%#>X|w;o zYA3JVgFtc|jQjoo9Kq`oa_tx;XC9bdyMz5ey9x=fje1n9_aBBrzSFyNwRX*cM=y52 z+LfW=27mC1_GY|gPdU2v5fK`9-N?}oePj9rX<(=Fu|U9I7v|?sQkL1X#@YPVsClq( zcB1VzIRN9lcoj>YB;-fwmw!q9fgiUgt+J^J^H4b2To=%sy6Dc0Kep6RnIZ<%mgZSn!dJ6h0qR~D~u2V;gP0iPOIlQ&j!zP3)U*E#( z1LogXKZj8_LjzyI9-&{p`TxPW$MSde6O$xozs3j~dIj=80J>qrWtTJ=a$ziqXd4DJ z&=yy3JlBLMHBVal?eUCa%_WnFZyqD6@czk1in`m2Ig>9C0otw?LuwRj8QR8dE%5WL zw)3f9i_prZVn(<(kLbGnb}y_$q8kAZP%Bweu#K0{jz+AChlz#kY-my{WKTLU-Av4h zP=}9zMMpp9Oct%0st~O6i4V>mQ)w8q(Cc3UwJRhO`65!Ln{K6W-|pU+=JSX9j4Pof zgIQv8_eC~ODP_nXjtmW(Ns7lUBjQ{juaq04Q;C-3{bQS+cv;Merv!~J&ecLl@K<)% zRnlfiaUBD-Jaj_~lHi#LAuEnlV%qa^fEUAPhk9+K$XP~M>2@9l@3+_!1LzlrI&+b3 zxA0e@n?`zfZht`$Hr3pbC(mFuOFm`ICnsQ33FD0JYKs@w?0By!Ys-D1IqZ9TH5HBP z=qazQ+E3uh3(DAI7spoKQCwWH5&5QTxfk`79#+KaC0r_(YjG^+#A|it_uTn5b39!w*jVIGajfGcCBp+fg@koE z3Gf1LXmPo0PAj=UV+#WI>Uu_1{eyvAgauW(G<2QG#4pfFo zp5GzG1f{y!Ot;ru5>+_x{*E3hK9~sqQ*GPzI%(EXAdHLz`fAb|prc=|TBlSYNswCG zF^q!T*Up52q<&2qI4ZdEyHhq?zjyonoEp)h?%;OF_gKw{5Qv}x8u ztgg)PB>RWWZr7G+d8W7&$&s8#HXmeM8=n#TrVpsKjJLl=^}6stZDQz$t$y`(j5CUg z%mezv{W!%&+BZx&byx)?Sf|oP{Z0=no-%uYEZuI~#3+Ml9s>!2V5zf;Tc^e|JrG6naAHG8vVn96Iqbyf-5&f-JPavjuq@Qxe1!^4PM`C7 zKVMs#%FSPz!YA19^K||UD}q3Xz4WuU;=*xrz(wWgdU;9O>V86ef7l<>KoFoA8YBKl zyW;o!xGOsl9L{eQW#IRFJDVF~!1sB(%?cyCrV9uYd-4|-EyUSJytspOW(oaHMj`UO z2`>my#R398z!mDG8X9jq2Fu*6h5dVsn~vZOC5V2`riuTGO2|Cdl#7SiAqi#9MK&J;-FJal;B&jRi(}=piSb)A*7Jmj*XJow9iA28xJm zb)#Uu_Kf}>EY17pG+yLtdTOSrV3<7N1jofR`+g& z(+55FDBWU3XJzp_?!%7o^}{6j@S+0rnSAY zlf||x(1SKxZillXAikSZH!u_^^4xP2-sGW~h!ujPol-4CLbEyZW?R6YO794-2i zsvE{K8ZTzsW0s&Q2;?7n{B>hLJh^zV_f2KTpvIqBOd2YovQt-1OOh$e-^s_VwaZnU zeqhbWRyegBPzNDks09tIXEKHmrt9^L+Bk?W{oJt)#KN*_Ujxr>9dO^_)gu+*C9a5T z*o@+@#G){(HKqq4bd~llp7Nm3tm>(%82JGER`y*vLC*)Oeca1$Kt>C6s}b>0JhD|vF(?b# z<`FC;hdUm!qNx_v&N5xY3bIDisqXd{YtPT4691S#9P!33c!4_vNx2ohnI!==UqL9Z_5f&3)YJFdS~LEixyR;#OrDLUD6#WebcSlN0* zv{2u*zqv%3XV~tL$2nn*s|fK>0UaGyu4uqypp70Zb|KpeClo~2!!+BrfgH0$@Kv1EG zSO;M?BDw|DZ*6r|N2(<~EUGG`o1s}7w(nmPP#s{?*6c+YtjMuIN(Tb&#{02;#2OSD zfbSUjd^jK9@wkfn)J{Q=HJ+cW6E-23v?72}Tl{17-P~)@D=P9BBZ0n_}28S}89!oE#TdrLvtlaAYZte!j`k7T?^lD{3(8Z?l7C&zEc23`rFq8d6B81_WG!T%ra^FpLgesI*q>N6xbH-fytIewOA{?eor@ z<$gXPjTJX^lzo(ax9(Ma)%kF^P*h8`F?&&ABW#VX zy!Nn1!>gN_uffHRlT6s8Uip{0PD-u0tf@xdpnJU7h-SSXGmkEg=AOs|(*x|BLu>`T z7B&LA{#Kr5QlqLA7Ec1&~tzL2Jkn(ce4P~lukGdo3n zEw^jwY)__KcJ5EmGSbJir7(v&a+&Hm9~(%sb5Y;PA?_7k*6 zjckuW`ZqaQiMls(MxFOH`WnZ627Jy4H5tPS%hvl6kD}y=F^rH?r=D#41U$V~-JWbK zQe-~`fK$b%mhhh!?pPikK^f5)+I6x>YO@tj*F*1e+_9U}0;Pn#sV| z;MK`a$u`tp>VFsEsTsuXJQb`jo0in=4HceL({&*#Szs->vnaDr5a9Z}+qh%c)RA|g z-h4i>&lTt-C`)FynyRk_f}`E-$9E@-jP2}RN>Y2$2=Nn*3^_KF13&!jnHDoki^U^U zU71m%LVD6G&9n>@lvAU!`)10D84P`6_&jdPI;d12vOCC@EM6+PxE`8_FGIrRVVCk| z#_WOgnCa2p9JWzZFvgOe&DM|hE6!`6LdMWc#IF28{hO6Ywa0`%rtSVvQn}E*wiks- zoI8>+G;E^&Q;KJLeD{I}1${SDBbf;)3T_aQ&Ba0~U9V;{LdteZQ=q6xmH9`m$4Oy? zBp!5!XxnW**d<%Npsjdghs9h_J}69&gey2XAAAE|V(Hk_Wstrv^>S z2~He-%sWc-LAt7kGoi1I6XSX8+ao=vHxC&0msY;>kC?}9f;GLo)0>?_+b*a*>BJZ; zW$xRvHN8~nHFmdS>-0oFoZ4P|bGth%Sc;qTC6<5&HxGpWv2o$b)2LoHcS0SrdV0ap z>)SkY(sT+a%H&Wh`rzpCZeKZPwb^J>9&3lWKL0g5LH+|dq!??3fplWnm&i(g#xP&a zAv57!csBYRBk|C6l5OgYbvpf5{NmqdbJOm4)+4_2`&rmC#g7S5A}jF+7%7%I1IbJc zR#1PkcHy~y!9L06WbHSM>I|pq!fLu`JZw@Msn^TfkDA!!eD-@{itWw`;uVItNt;tr z_j)3a7Z0bWAF3kEe;W;?T?<5z(!%y(J1Drq8^SH+9WI&29?*rU4U6SI%-c|bLlfOA z`=1oab}qUc26nl-^{%pl9N+?C3b{7I$ZHkfAy+Fc;GhYlj{6vUZ;gmFWP}nZb zb0Fr6#$ZKi@CaFVrLrqoRnNRn#ku==`Rwc9{HJhWF`%v#QOZ#ak2@>+3%D!r5S66GyULlqOZIINe!1D*7&qhUA_}owTr&{6O4PR9Pb`tKpun z(N79iptp_l1A)dB)o+5;(D4_U5IDl!Z%1}rP)rKcIDBgv{nG?Omkaq&GAow z$fHbxcI9(gyq#(+6CsW$IAKA1J87)AQMq%}ScyM$5Rw3z83Of&vkO&V<+P7(8ZfnW zB%?+0a(NdA&echiG{|&?)Zlss#zcYPfBV=v0E5 zy2ZPrgoLtylIptds2^U6dZWNdXxyBp6>^udO?TZQA{!DpxL$NA$*qZnq6;yqZGUe? z;6r3$5zydN_-Oz#)uhD2eypQ!R?-WDOw!+?6{(Zc({z34>7=U-)1b*F-92m&gr!au zrPeri%{n_8A&P=qQdv_u_YSJ~FwMSR{(}(L+FT7{(f|5UN^O4Fj!tWSAWV+AUBpkm z5&y!7Lk*Et@p0}scta`v^BzOri`so-LoY-E=DP7A1bw@tD8Zc!pBu(+0&_w-xE;}8 zH7D9pV}Hkyn=Rx}-)8;gCBO{FzRwy%%ZS2D;5hc@@XJdifRyegDTB@)M&uCldW_qb zRvizkCM!A9&i-~HER9M{DnWQe*e>*pRE4m$zLGyb4JiHlXDH?^Gw2b~&>-WQD>5iV z;P#Z7BcA&Ql5P_lI*|SIpTPkX;oNyi=2DK?EII_llyl~5gevRrC0u?V9(v=qNTgLm zS(^&6hPE^VRvnD6{jBif();SuYe5gN$4{fdb6!A%N+E2uP6Ba&*3 zZlWrw2y6H19^A|xH8MT8DT4HUp_R^3(KZytUZE#slJHiXvsmSVrq< z9U-lFIB2Ehs@1_AQ8CaeAQI&mAs8o+fi&UL(>H>coM6JfgW@3-J6vmsj_mBzvT#%D zq4BM?N=DZ1ht$G{(1pljBLD4S;B|^DzR2PZdPBz*x)vd6M0gk*t?AX#5OOnI_~@pRN%qX^-b@^ znLK`_{Zwu*^*|AgF9WYzD0kl_O#3C_ZV(l}J4C_C9Eb0@tbOg`agjmJi=q`R}e$o0p)^`}KV)-Cr@Oi`v|tp>S9drI}IwuSq3MX9Z7RiR1#L?(!}d=V3hJ-3Y;!uF|C}cKKL=CCNLnyf!2kfCudKhhU%Nw2mPU?d zrYg>ke~$tEU4UM5+LV|L{=d?JdS_LExLLO|LQEi_akbKtB>T+!_c759(W&bcHp zJV|3y5|wz%2}%?QwnHa2Ig^ma3)JKCbe$S3dwJu=Qnro3y3>fWAvzhpm&rf9#xC{~FK z2P?RPnnUxt{6SYs)}Anl_NhE|RWy}x+D|K9uMcP{%K?tPm30T@HeEkf%jRF*kB(qI zX?^c$eYMrm*(S<|Yq7n}N+CZ2MKSh_KR$r?X>AjfoV$o z>RDc|xVIFC6(z+c!Xa(Y793MyJ*J5UC+-Z8G$5QM2=5O>^16bh+t-OfIb%ZMgd%no zLj-AXRLyNtU%@{ARq&klFi5-V6=OcSC~x#cUSIDSc}g>^H)2?=?(3t|n0POPHY;t9 z4EDy9aSK`6L(3+XL|u~_ZbNb{@yX>ZArF!Oy(3A?pDAb27!T9{IZkC9;Y#xZ+Z4)L zef3Dqg5`=eb$wv3u9OC!QrxSSc9)tB`CTUdgC4WZq~tvIY@i%{U2c#Mc)7_t2U;@dzZkC|{;PUAco^+2d% zvG%ju^m)Ev;+hEkbAq*X6&~rI0IE73K9*eoK_Q$_*D#V0$Yft=r_Z?L652b zC930+%+P3%rya(VU4-W)@VQLQpFa_?%g?1Ku-!oeKyhX&n@SD=hw+QyVIjJFbzLNnCOQX%gbPsUV(eIEx!FwpM^2Y+kd7uSd?Fa^F#<^J4JkZS)-HxQk-pweV$ zj{qLj+L&*bzZ>ORzfyg=CkX6sN!k_-~_ ze!*4X`rFbW;7|TbAc7GBceR00oaK&Yh>nucj)B%a^^rLuG9YsY`t9(iB?pF*FSu&K zto2z(aAXLFg;T&cBUiU6a@*HR-2B~$#)m*$6pT5+%lLSKBmIn~V1)D{iibIB&cLi` zKI!dkE4HgSnW`#c>I+VlF-kw-(aRDWlhp2j;vVf!5QC4$#cQ+T4sm>i9#p?LKZpLn zP3r^d$te^OH=U-~z2c&5 zk2JlS7+kTngmV?%IX^b@l*cGK^M;0Oy1Zy@B6iI$7=0Vw ztiuk|wQ6F~vzGw%?N>!(Rb{(WEDqYJYe?ml8aKio$%`}hDH%;TiP*4_bKU)-z<%}i zgP${3EpkeIV&qvCxf#U2H(ic{RKt9XyfrW_e;k1UuwUw$Bou|OQs_#o6IE!tkyTc;1&f3(_# z_>pc9-ML$lsC{UjJ{swa(%r&)ncmQj#pVU(=E#0APmV4ZdyF;Cv%S374WIrKqbYgs z@)Id4UqPMxpyacm;)sF=Z{D-z@Ga-PYHM|F6xw{~tsD7g?1!CEd@6IC%B- z{}zW`a&BlyE6xnW=W?b#{^_!x)8r_LS{GfNLQ1srZ4hx8&;Q?^&AwlgvRnGDLY(2U zzCBH)flUtiC(8B(eyFL4xZC8hX75$z%8-IXEW2NQO8VW>{LE&`Ej^Wqu{A*#jM}X= zCud%K84}f!#>(0}d z{e?O+kH`4Qcd0Ho`_tj_<>!YEPP`bs<+O)Yi|V4+|5c2RA9*sZ(#|yAqv(_F>T=v+ z37xpZ7Muz{-bwxj2ICdr)UFhe1~$zg%8)Z9ICS?;KAm;gK*05T>%Zn1wYs-6ojE6N z)@;qW{e`*3woV}0Xx7Wa_4f~U?`V6F=VR71)A9Sfi>|*9`(IzB&vT_BU7<56;6+iq z$vUGCg;li`Y_2)6iP7&b9B5!^fAcTzf7{yBoi3%9Cku(Xvt>Q2TWj9r&_5zp5hYfCBU4l`BF6S&53y~$B!%w`!&OMs?;+^;hX$Y64!k}}gWC9ux>yXX9u(EimSrIR0zUtlH&%@#*H=jW9GkB*2B zsVqn>js?{NTc_UkJLDkH_TIOqJuRO%_P`Md=Z8*Tf;^9~N0hVQ+OYhM&hqW$Q3qI* z+P(H>UdjWmhOAG!^o>n>@nlvOojGSC)N?nptSMQw;c`!HUwm}G&OwbeLboDM+>n~U z`)j-T-jBDK)k1O&lPi1vbrw&tlxSS}IpJl>qb9+Ld55P|E2bxL?YW(2U+^-AMLK%p zm4v_d1k{q&C4btq=(w~x_u|M;dn(tvr215>=hjq`e9FC=PeIpwrijp#$;Hl>G_UeE zM+EU4t7m1o5YfM(cS2C=Q>M>{9?L$pankVbbH8zIZ}5BPg$k0L0{2@ME|}xg)Aad- zW>Hnt(;DRkZ&os0{iMRFDE8s;PnGCh3|}AamYaHYYiDuKxhv^%K5=12;)lX#O}jWn zx_R#ElP{P#S}h$+tnLDLZ$H_dCoESi=umsaVRaX8^o`4Q&z0Ain&d4IvUTqJa*-h} zcKv)u)nc|CC5hjj-dXc8@A89SWv*(*{kMdcybM13b>(;S^=HC4uYb9iyF;=5YvKR< zb`@Vgzp7^r@MdHZ0r%S=#|)vz9xwtK7#S3R)FtTVpr0m#FlREvy(nkP;B!3afDs4)`F0;Lc>#TkbleDPETbPd z0@4X_{|hvoXvdGBdjNfe17XksE3gwV#yikWK%bpNnBb-lF#$eTiO>J2kyot&)(Ts( zgX($oH9H6!7a?mytl&X+GI~=UVZa#&u)WCfj?dAc!zCa96lvwak^&fMNHrury`UNx z0zi8ET+#Ky>SI*Dqu0nF6Ce?P0EY=^^)q@{pr3z%FmN%3cMwLQn}WX00AWg#EV{?Q prhqpcpqqleTn}MNgBn&-z>D_+yjj78u>^35AFvO?(BlEp2LL(4+<*W8