From 22dbae7f8013f179918a027b222f8214059f2c53 Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Fri, 10 May 2024 11:44:58 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A2=AB=E9=82=80=E8=AF=B7=E4=BA=BA=E5=85=85?= =?UTF-8?q?=E5=80=BC=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/constant.go | 5 + data/DB_Game_Drop.dat | 412 +++++++++++++++-------------- data/DB_Game_Drop.json | 488 +++++++++++++++++------------------ data/DB_GiftCard.dat | Bin 57 -> 57 bytes data/DB_PropExchange.dat | 6 +- data/DB_Task.dat | Bin 1999 -> 2032 bytes data/DB_Task.json | 12 + dbproxy/svc/u_invitescore.go | 3 + model/invitecode.go | 15 +- worldsrv/action_welfare.go | 33 ++- worldsrv/invitecode.go | 39 ++- worldsrv/player.go | 3 +- worldsrv/taskmgr.go | 1 + xlsx/DB_Game_Drop.xlsx | Bin 21232 -> 21198 bytes xlsx/DB_Task.xlsx | Bin 19664 -> 20040 bytes 15 files changed, 525 insertions(+), 492 deletions(-) diff --git a/common/constant.go b/common/constant.go index efe6abc..26b1d34 100644 --- a/common/constant.go +++ b/common/constant.go @@ -712,6 +712,7 @@ const ( TaskTypeFirstLogin = 15 // 每日首次登录 TaskTypeInviteNum = 16 // 邀请绑定数量 TaskTypeTurnplate = 17 // 转盘抽奖次数 + TaskTypeInviteRecharge = 18 // 被邀请人充值金额 ) const ( @@ -791,3 +792,7 @@ const ( ) var PetIDs = []int32{PetIDChicken} + +const ( + InviteScoreRecharge = 10000 // 用户每充值$1邀请人获得积分 +) diff --git a/data/DB_Game_Drop.dat b/data/DB_Game_Drop.dat index 93817af..fef8637 100644 --- a/data/DB_Game_Drop.dat +++ b/data/DB_Game_Drop.dat @@ -1,213 +1,209 @@ -(0: -'(0%: -N(0J: -u(0o: -(0: -(0: -(0: -(0: - (0: +(0: +'(0J: +N(0: +u(0: +(0: +(0: +(0: +(0: + (0:  -(0: - І(0: - ح(0: - (0: -(0: -(0: -(0: -(0: -(0: -(0: -(0: -(0: - (0: - (0 : -(0: -(0: -(0: -(0: -л(0: -(0: -!(0: -$(0": - '(0%: -!*(0(: -"-(0+: -#0(0.: -$3(01: -%6(04: -&9(07: -'=(0:: -(z(0N: - -)(0N: - -*(0N:2 -+Ó(0N:2K -, (0N:Kd -- (0N:d} -.(0N:} -/(0N: -0(0N: -1ʺ(0N: -2(0N: -3(0: -4'(0%: -5N(0J: -6u(0o: -7(0: -8(0: -9(0: -:(0: -;(0: -<(0: -=І(0: ->ح(0: -?(0: -@(0: -A(0: -B(0: -C(0: -D(0: -E(0: -F(0: -G(0: -H (0: -I (0 : -J(0: -K(0: -L(0: -M(0: -Nл(0: -O(0: -P!(0: -Q$(0": -R'(0%: -S*(0(: -T-(0+: -U0(0.: -V3(01: -W6(04: -X9(07: -Y=(0:: -Zz(0N: - -[(0N: - -\(0N:2 -]Ó(0N:2K -^ (0N:Kd -_ (0N:d} -`(0N:} -a(0N: -b(0N: -cʺ(0N: -d(0N: -e(0: -f'(0%: -gN(0J: -hu(0o: -i(0: -j(0: -k(0: -l(0: -m(0: -n(0: -oІ(0: -pح(0: -q(0: -r(0: -s(0: -t(0: -u(0: -v(0: -w(0: -x(0: -y(0: -z (0: -{ (0 : -|(0: -}(0: -~(0: -(0: -л(0: -(0: -!(0: -$(0": -'(0%: -*(0(: --(0+: -0(0.: -3(01: -6(04: -9(07: -=(0:: -z(0N: - -(0N: - -(0N:2 -Ó(0N:2K - (0N:Kd - (0N:d} -(0N:} -(0N: -(0N: -ʺ(0N: -(0N: -(0: -'(0%: -N(0J: -u(0o: -(0: -(0: -(0: -(0: -(0: -(0: -І(0: -ح(0: -(0: -(0: -(0: -(0: -(0: -(0: -(0: -(0: -(0: - (0: - (0 : -(0: -(0: -(0: -(0: -л(0: -(0: -!(0: -$(0": -'(0%: -*(0(: --(0+: -0(0.: -3(01: -6(04: -9(07: -=(0:: -z(0N: - -(0N: - -(0N:2 -Ó(0N:2K - (0N:Kd - (0N:d} -(0N:} -(0N: -(0N: -ʺ(0N: -(0N: +(0: + І(0: + ح(0: + (0: +(0: +(0: +(0: +(0 : +(0 : +(0 +: +(0 : +(0 : + (0: + (0: +(0: +(0": +(0(: +(0.: +л(04: +(0:: +!(0?: +$(0E: + '(0K: +!*(0N: +"-(0N: +#0(0N: +$3(0N: +%6(0N: +&9(0N: +'=(0N: +(z(0N: +)(0N: +*(0N:  ++Ó(0N: +, (0N: +- (0N:#' +.(0N:+/ +/(0N:26 +0(0N:9= +1ʺ(0N:AE +2(0N:HL +3(0: +4'(0J: +5N(0: +6u(0: +7(0: +8(0: +9(0: +:(0: +;(0: +<(0: +=І(0: +>ح(0: +?(0: +@(0: +A(0: +B(0: +C(0 : +D(0 : +E(0 +: +F(0 : +G(0 : +H (0: +I (0: +J(0: +K(0": +L(0(: +M(0.: +Nл(04: +O(0:: +P!(0?: +Q$(0E: +R'(0K: +S*(0N: +T-(0N: +U0(0N: +V3(0N: +W6(0N: +X9(0N: +Y=(0N: +Zz(0N: +[(0N: +\(0N:  +]Ó(0N: +^ (0N: +_ (0N:#' +`(0N:+/ +a(0N:26 +b(0N:9= +cʺ(0N:AE +d(0N:HL +e(0: +f'(0J: +gN(0: +hu(0: +i(0: +j(0: +k(0: +l(0: +m(0: +n(0: +oІ(0: +pح(0: +q(0: +r(0: +s(0: +t(0: +u(0 : +v(0 : +w(0 +: +x(0 : +y(0 : +z (0: +{ (0: +|(0: +}(0": +~(0(: +(0.: +л(04: +(0:: +!(0?: +$(0E: +'(0K: +*(0N: +-(0N: +0(0N: +3(0N: +6(0N: +9(0N: +=(0N: +z(0N: +(0N: +(0N:  +Ó(0N: + (0N: + (0N:#' +(0N:+/ +(0N:26 +(0N:9= +ʺ(0N:AE +(0N:HL +(0: +'(0J: +N(0: +u(0: +(0: +(0: +(0: +(0: +(0: +(0: +І(0: +ح(0: +(0: +(0: +(0: +(0: +(0 : +(0 : +(0 +: +(0 : +(0 : + (0: + (0: +(0: +(0": +(0(: +(0.: +л(04: +(0:: +!(0?: +$(0E: +'(0K: +*(0N: +-(0N: +0(0N: +3(0N: +6(0N: +9(0N: +=(0N: +z(0N: +(0N: +(0N:  +Ó(0N: + (0N: + (0N:#' +(0N:+/ +(0N:26 +(0N:9= +ʺ(0N:AE +(0N:HL N(0: І(0:  (0: diff --git a/data/DB_Game_Drop.json b/data/DB_Game_Drop.json index 2da5d7a..acda596 100644 --- a/data/DB_Game_Drop.json +++ b/data/DB_Game_Drop.json @@ -5,7 +5,7 @@ "GameId": 207, "Bet": 2000, "ItemId1": 30001, - "Rate1": 15, + "Rate1": 30, "Amount1": [ 1, 1 @@ -16,7 +16,7 @@ "GameId": 207, "Bet": 5000, "ItemId1": 30001, - "Rate1": 37, + "Rate1": 74, "Amount1": [ 1, 1 @@ -27,7 +27,7 @@ "GameId": 207, "Bet": 10000, "ItemId1": 30001, - "Rate1": 74, + "Rate1": 149, "Amount1": [ 1, 1 @@ -38,7 +38,7 @@ "GameId": 207, "Bet": 15000, "ItemId1": 30001, - "Rate1": 111, + "Rate1": 223, "Amount1": [ 1, 1 @@ -49,7 +49,7 @@ "GameId": 207, "Bet": 20000, "ItemId1": 30001, - "Rate1": 149, + "Rate1": 297, "Amount1": [ 1, 1 @@ -60,7 +60,7 @@ "GameId": 207, "Bet": 25000, "ItemId1": 30001, - "Rate1": 186, + "Rate1": 371, "Amount1": [ 1, 1 @@ -71,7 +71,7 @@ "GameId": 207, "Bet": 30000, "ItemId1": 30001, - "Rate1": 223, + "Rate1": 446, "Amount1": [ 1, 1 @@ -82,7 +82,7 @@ "GameId": 207, "Bet": 35000, "ItemId1": 30001, - "Rate1": 260, + "Rate1": 520, "Amount1": [ 1, 1 @@ -93,7 +93,7 @@ "GameId": 207, "Bet": 40000, "ItemId1": 30001, - "Rate1": 297, + "Rate1": 594, "Amount1": [ 1, 1 @@ -104,7 +104,7 @@ "GameId": 207, "Bet": 45000, "ItemId1": 30001, - "Rate1": 334, + "Rate1": 668, "Amount1": [ 1, 1 @@ -115,7 +115,7 @@ "GameId": 207, "Bet": 50000, "ItemId1": 30001, - "Rate1": 371, + "Rate1": 743, "Amount1": [ 1, 1 @@ -126,7 +126,7 @@ "GameId": 207, "Bet": 55000, "ItemId1": 30001, - "Rate1": 408, + "Rate1": 817, "Amount1": [ 1, 1 @@ -137,7 +137,7 @@ "GameId": 207, "Bet": 60000, "ItemId1": 30001, - "Rate1": 446, + "Rate1": 891, "Amount1": [ 1, 1 @@ -148,7 +148,7 @@ "GameId": 207, "Bet": 65000, "ItemId1": 30001, - "Rate1": 483, + "Rate1": 965, "Amount1": [ 1, 1 @@ -159,7 +159,7 @@ "GameId": 207, "Bet": 70000, "ItemId1": 30001, - "Rate1": 520, + "Rate1": 1040, "Amount1": [ 1, 1 @@ -170,7 +170,7 @@ "GameId": 207, "Bet": 75000, "ItemId1": 30001, - "Rate1": 557, + "Rate1": 1114, "Amount1": [ 1, 1 @@ -181,7 +181,7 @@ "GameId": 207, "Bet": 80000, "ItemId1": 30001, - "Rate1": 594, + "Rate1": 1188, "Amount1": [ 1, 1 @@ -192,7 +192,7 @@ "GameId": 207, "Bet": 85000, "ItemId1": 30001, - "Rate1": 631, + "Rate1": 1262, "Amount1": [ 1, 1 @@ -203,7 +203,7 @@ "GameId": 207, "Bet": 90000, "ItemId1": 30001, - "Rate1": 668, + "Rate1": 1337, "Amount1": [ 1, 1 @@ -214,7 +214,7 @@ "GameId": 207, "Bet": 95000, "ItemId1": 30001, - "Rate1": 705, + "Rate1": 1411, "Amount1": [ 1, 1 @@ -225,7 +225,7 @@ "GameId": 207, "Bet": 100000, "ItemId1": 30001, - "Rate1": 743, + "Rate1": 1485, "Amount1": [ 1, 1 @@ -236,7 +236,7 @@ "GameId": 207, "Bet": 150000, "ItemId1": 30001, - "Rate1": 1114, + "Rate1": 2228, "Amount1": [ 1, 1 @@ -247,7 +247,7 @@ "GameId": 207, "Bet": 200000, "ItemId1": 30001, - "Rate1": 1485, + "Rate1": 2970, "Amount1": [ 1, 1 @@ -258,7 +258,7 @@ "GameId": 207, "Bet": 250000, "ItemId1": 30001, - "Rate1": 1856, + "Rate1": 3713, "Amount1": [ 1, 1 @@ -269,7 +269,7 @@ "GameId": 207, "Bet": 300000, "ItemId1": 30001, - "Rate1": 2228, + "Rate1": 4455, "Amount1": [ 1, 2 @@ -280,7 +280,7 @@ "GameId": 207, "Bet": 350000, "ItemId1": 30001, - "Rate1": 2599, + "Rate1": 5198, "Amount1": [ 1, 2 @@ -291,7 +291,7 @@ "GameId": 207, "Bet": 400000, "ItemId1": 30001, - "Rate1": 2970, + "Rate1": 5940, "Amount1": [ 1, 2 @@ -302,7 +302,7 @@ "GameId": 207, "Bet": 450000, "ItemId1": 30001, - "Rate1": 3341, + "Rate1": 6683, "Amount1": [ 1, 2 @@ -313,7 +313,7 @@ "GameId": 207, "Bet": 500000, "ItemId1": 30001, - "Rate1": 3713, + "Rate1": 7425, "Amount1": [ 2, 3 @@ -324,7 +324,7 @@ "GameId": 207, "Bet": 550000, "ItemId1": 30001, - "Rate1": 4084, + "Rate1": 8168, "Amount1": [ 2, 3 @@ -335,7 +335,7 @@ "GameId": 207, "Bet": 600000, "ItemId1": 30001, - "Rate1": 4455, + "Rate1": 8910, "Amount1": [ 2, 3 @@ -346,7 +346,7 @@ "GameId": 207, "Bet": 650000, "ItemId1": 30001, - "Rate1": 4826, + "Rate1": 9653, "Amount1": [ 2, 3 @@ -357,7 +357,7 @@ "GameId": 207, "Bet": 700000, "ItemId1": 30001, - "Rate1": 5198, + "Rate1": 10000, "Amount1": [ 2, 4 @@ -368,7 +368,7 @@ "GameId": 207, "Bet": 750000, "ItemId1": 30001, - "Rate1": 5569, + "Rate1": 10000, "Amount1": [ 2, 4 @@ -379,7 +379,7 @@ "GameId": 207, "Bet": 800000, "ItemId1": 30001, - "Rate1": 5940, + "Rate1": 10000, "Amount1": [ 2, 4 @@ -390,7 +390,7 @@ "GameId": 207, "Bet": 850000, "ItemId1": 30001, - "Rate1": 6311, + "Rate1": 10000, "Amount1": [ 2, 4 @@ -401,7 +401,7 @@ "GameId": 207, "Bet": 900000, "ItemId1": 30001, - "Rate1": 6683, + "Rate1": 10000, "Amount1": [ 3, 5 @@ -412,7 +412,7 @@ "GameId": 207, "Bet": 950000, "ItemId1": 30001, - "Rate1": 7054, + "Rate1": 10000, "Amount1": [ 3, 5 @@ -423,7 +423,7 @@ "GameId": 207, "Bet": 1000000, "ItemId1": 30001, - "Rate1": 7425, + "Rate1": 10000, "Amount1": [ 3, 5 @@ -436,8 +436,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 5, - 10 + 1, + 5 ] }, { @@ -447,8 +447,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 10, - 25 + 5, + 9 ] }, { @@ -458,8 +458,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 25, - 50 + 13, + 17 ] }, { @@ -469,8 +469,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 50, - 75 + 20, + 24 ] }, { @@ -480,8 +480,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 75, - 100 + 28, + 32 ] }, { @@ -491,8 +491,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 100, - 125 + 35, + 39 ] }, { @@ -502,8 +502,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 125, - 150 + 43, + 47 ] }, { @@ -513,8 +513,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 150, - 175 + 50, + 54 ] }, { @@ -524,8 +524,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 175, - 200 + 57, + 61 ] }, { @@ -535,8 +535,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 200, - 225 + 65, + 69 ] }, { @@ -546,8 +546,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 225, - 250 + 72, + 76 ] }, { @@ -555,7 +555,7 @@ "GameId": 208, "Bet": 2000, "ItemId1": 30001, - "Rate1": 15, + "Rate1": 30, "Amount1": [ 1, 1 @@ -566,7 +566,7 @@ "GameId": 208, "Bet": 5000, "ItemId1": 30001, - "Rate1": 37, + "Rate1": 74, "Amount1": [ 1, 1 @@ -577,7 +577,7 @@ "GameId": 208, "Bet": 10000, "ItemId1": 30001, - "Rate1": 74, + "Rate1": 149, "Amount1": [ 1, 1 @@ -588,7 +588,7 @@ "GameId": 208, "Bet": 15000, "ItemId1": 30001, - "Rate1": 111, + "Rate1": 223, "Amount1": [ 1, 1 @@ -599,7 +599,7 @@ "GameId": 208, "Bet": 20000, "ItemId1": 30001, - "Rate1": 149, + "Rate1": 297, "Amount1": [ 1, 1 @@ -610,7 +610,7 @@ "GameId": 208, "Bet": 25000, "ItemId1": 30001, - "Rate1": 186, + "Rate1": 371, "Amount1": [ 1, 1 @@ -621,7 +621,7 @@ "GameId": 208, "Bet": 30000, "ItemId1": 30001, - "Rate1": 223, + "Rate1": 446, "Amount1": [ 1, 1 @@ -632,7 +632,7 @@ "GameId": 208, "Bet": 35000, "ItemId1": 30001, - "Rate1": 260, + "Rate1": 520, "Amount1": [ 1, 1 @@ -643,7 +643,7 @@ "GameId": 208, "Bet": 40000, "ItemId1": 30001, - "Rate1": 297, + "Rate1": 594, "Amount1": [ 1, 1 @@ -654,7 +654,7 @@ "GameId": 208, "Bet": 45000, "ItemId1": 30001, - "Rate1": 334, + "Rate1": 668, "Amount1": [ 1, 1 @@ -665,7 +665,7 @@ "GameId": 208, "Bet": 50000, "ItemId1": 30001, - "Rate1": 371, + "Rate1": 743, "Amount1": [ 1, 1 @@ -676,7 +676,7 @@ "GameId": 208, "Bet": 55000, "ItemId1": 30001, - "Rate1": 408, + "Rate1": 817, "Amount1": [ 1, 1 @@ -687,7 +687,7 @@ "GameId": 208, "Bet": 60000, "ItemId1": 30001, - "Rate1": 446, + "Rate1": 891, "Amount1": [ 1, 1 @@ -698,7 +698,7 @@ "GameId": 208, "Bet": 65000, "ItemId1": 30001, - "Rate1": 483, + "Rate1": 965, "Amount1": [ 1, 1 @@ -709,7 +709,7 @@ "GameId": 208, "Bet": 70000, "ItemId1": 30001, - "Rate1": 520, + "Rate1": 1040, "Amount1": [ 1, 1 @@ -720,7 +720,7 @@ "GameId": 208, "Bet": 75000, "ItemId1": 30001, - "Rate1": 557, + "Rate1": 1114, "Amount1": [ 1, 1 @@ -731,7 +731,7 @@ "GameId": 208, "Bet": 80000, "ItemId1": 30001, - "Rate1": 594, + "Rate1": 1188, "Amount1": [ 1, 1 @@ -742,7 +742,7 @@ "GameId": 208, "Bet": 85000, "ItemId1": 30001, - "Rate1": 631, + "Rate1": 1262, "Amount1": [ 1, 1 @@ -753,7 +753,7 @@ "GameId": 208, "Bet": 90000, "ItemId1": 30001, - "Rate1": 668, + "Rate1": 1337, "Amount1": [ 1, 1 @@ -764,7 +764,7 @@ "GameId": 208, "Bet": 95000, "ItemId1": 30001, - "Rate1": 705, + "Rate1": 1411, "Amount1": [ 1, 1 @@ -775,7 +775,7 @@ "GameId": 208, "Bet": 100000, "ItemId1": 30001, - "Rate1": 743, + "Rate1": 1485, "Amount1": [ 1, 1 @@ -786,7 +786,7 @@ "GameId": 208, "Bet": 150000, "ItemId1": 30001, - "Rate1": 1114, + "Rate1": 2228, "Amount1": [ 1, 1 @@ -797,7 +797,7 @@ "GameId": 208, "Bet": 200000, "ItemId1": 30001, - "Rate1": 1485, + "Rate1": 2970, "Amount1": [ 1, 1 @@ -808,7 +808,7 @@ "GameId": 208, "Bet": 250000, "ItemId1": 30001, - "Rate1": 1856, + "Rate1": 3713, "Amount1": [ 1, 1 @@ -819,7 +819,7 @@ "GameId": 208, "Bet": 300000, "ItemId1": 30001, - "Rate1": 2228, + "Rate1": 4455, "Amount1": [ 1, 2 @@ -830,7 +830,7 @@ "GameId": 208, "Bet": 350000, "ItemId1": 30001, - "Rate1": 2599, + "Rate1": 5198, "Amount1": [ 1, 2 @@ -841,7 +841,7 @@ "GameId": 208, "Bet": 400000, "ItemId1": 30001, - "Rate1": 2970, + "Rate1": 5940, "Amount1": [ 1, 2 @@ -852,7 +852,7 @@ "GameId": 208, "Bet": 450000, "ItemId1": 30001, - "Rate1": 3341, + "Rate1": 6683, "Amount1": [ 1, 2 @@ -863,7 +863,7 @@ "GameId": 208, "Bet": 500000, "ItemId1": 30001, - "Rate1": 3713, + "Rate1": 7425, "Amount1": [ 2, 3 @@ -874,7 +874,7 @@ "GameId": 208, "Bet": 550000, "ItemId1": 30001, - "Rate1": 4084, + "Rate1": 8168, "Amount1": [ 2, 3 @@ -885,7 +885,7 @@ "GameId": 208, "Bet": 600000, "ItemId1": 30001, - "Rate1": 4455, + "Rate1": 8910, "Amount1": [ 2, 3 @@ -896,7 +896,7 @@ "GameId": 208, "Bet": 650000, "ItemId1": 30001, - "Rate1": 4826, + "Rate1": 9653, "Amount1": [ 2, 3 @@ -907,7 +907,7 @@ "GameId": 208, "Bet": 700000, "ItemId1": 30001, - "Rate1": 5198, + "Rate1": 10000, "Amount1": [ 2, 4 @@ -918,7 +918,7 @@ "GameId": 208, "Bet": 750000, "ItemId1": 30001, - "Rate1": 5569, + "Rate1": 10000, "Amount1": [ 2, 4 @@ -929,7 +929,7 @@ "GameId": 208, "Bet": 800000, "ItemId1": 30001, - "Rate1": 5940, + "Rate1": 10000, "Amount1": [ 2, 4 @@ -940,7 +940,7 @@ "GameId": 208, "Bet": 850000, "ItemId1": 30001, - "Rate1": 6311, + "Rate1": 10000, "Amount1": [ 2, 4 @@ -951,7 +951,7 @@ "GameId": 208, "Bet": 900000, "ItemId1": 30001, - "Rate1": 6683, + "Rate1": 10000, "Amount1": [ 3, 5 @@ -962,7 +962,7 @@ "GameId": 208, "Bet": 950000, "ItemId1": 30001, - "Rate1": 7054, + "Rate1": 10000, "Amount1": [ 3, 5 @@ -973,7 +973,7 @@ "GameId": 208, "Bet": 1000000, "ItemId1": 30001, - "Rate1": 7425, + "Rate1": 10000, "Amount1": [ 3, 5 @@ -986,8 +986,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 5, - 10 + 1, + 5 ] }, { @@ -997,8 +997,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 10, - 25 + 5, + 9 ] }, { @@ -1008,8 +1008,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 25, - 50 + 13, + 17 ] }, { @@ -1019,8 +1019,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 50, - 75 + 20, + 24 ] }, { @@ -1030,8 +1030,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 75, - 100 + 28, + 32 ] }, { @@ -1041,8 +1041,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 100, - 125 + 35, + 39 ] }, { @@ -1052,8 +1052,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 125, - 150 + 43, + 47 ] }, { @@ -1063,8 +1063,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 150, - 175 + 50, + 54 ] }, { @@ -1074,8 +1074,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 175, - 200 + 57, + 61 ] }, { @@ -1085,8 +1085,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 200, - 225 + 65, + 69 ] }, { @@ -1096,8 +1096,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 225, - 250 + 72, + 76 ] }, { @@ -1105,7 +1105,7 @@ "GameId": 209, "Bet": 2000, "ItemId1": 30001, - "Rate1": 15, + "Rate1": 30, "Amount1": [ 1, 1 @@ -1116,7 +1116,7 @@ "GameId": 209, "Bet": 5000, "ItemId1": 30001, - "Rate1": 37, + "Rate1": 74, "Amount1": [ 1, 1 @@ -1127,7 +1127,7 @@ "GameId": 209, "Bet": 10000, "ItemId1": 30001, - "Rate1": 74, + "Rate1": 149, "Amount1": [ 1, 1 @@ -1138,7 +1138,7 @@ "GameId": 209, "Bet": 15000, "ItemId1": 30001, - "Rate1": 111, + "Rate1": 223, "Amount1": [ 1, 1 @@ -1149,7 +1149,7 @@ "GameId": 209, "Bet": 20000, "ItemId1": 30001, - "Rate1": 149, + "Rate1": 297, "Amount1": [ 1, 1 @@ -1160,7 +1160,7 @@ "GameId": 209, "Bet": 25000, "ItemId1": 30001, - "Rate1": 186, + "Rate1": 371, "Amount1": [ 1, 1 @@ -1171,7 +1171,7 @@ "GameId": 209, "Bet": 30000, "ItemId1": 30001, - "Rate1": 223, + "Rate1": 446, "Amount1": [ 1, 1 @@ -1182,7 +1182,7 @@ "GameId": 209, "Bet": 35000, "ItemId1": 30001, - "Rate1": 260, + "Rate1": 520, "Amount1": [ 1, 1 @@ -1193,7 +1193,7 @@ "GameId": 209, "Bet": 40000, "ItemId1": 30001, - "Rate1": 297, + "Rate1": 594, "Amount1": [ 1, 1 @@ -1204,7 +1204,7 @@ "GameId": 209, "Bet": 45000, "ItemId1": 30001, - "Rate1": 334, + "Rate1": 668, "Amount1": [ 1, 1 @@ -1215,7 +1215,7 @@ "GameId": 209, "Bet": 50000, "ItemId1": 30001, - "Rate1": 371, + "Rate1": 743, "Amount1": [ 1, 1 @@ -1226,7 +1226,7 @@ "GameId": 209, "Bet": 55000, "ItemId1": 30001, - "Rate1": 408, + "Rate1": 817, "Amount1": [ 1, 1 @@ -1237,7 +1237,7 @@ "GameId": 209, "Bet": 60000, "ItemId1": 30001, - "Rate1": 446, + "Rate1": 891, "Amount1": [ 1, 1 @@ -1248,7 +1248,7 @@ "GameId": 209, "Bet": 65000, "ItemId1": 30001, - "Rate1": 483, + "Rate1": 965, "Amount1": [ 1, 1 @@ -1259,7 +1259,7 @@ "GameId": 209, "Bet": 70000, "ItemId1": 30001, - "Rate1": 520, + "Rate1": 1040, "Amount1": [ 1, 1 @@ -1270,7 +1270,7 @@ "GameId": 209, "Bet": 75000, "ItemId1": 30001, - "Rate1": 557, + "Rate1": 1114, "Amount1": [ 1, 1 @@ -1281,7 +1281,7 @@ "GameId": 209, "Bet": 80000, "ItemId1": 30001, - "Rate1": 594, + "Rate1": 1188, "Amount1": [ 1, 1 @@ -1292,7 +1292,7 @@ "GameId": 209, "Bet": 85000, "ItemId1": 30001, - "Rate1": 631, + "Rate1": 1262, "Amount1": [ 1, 1 @@ -1303,7 +1303,7 @@ "GameId": 209, "Bet": 90000, "ItemId1": 30001, - "Rate1": 668, + "Rate1": 1337, "Amount1": [ 1, 1 @@ -1314,7 +1314,7 @@ "GameId": 209, "Bet": 95000, "ItemId1": 30001, - "Rate1": 705, + "Rate1": 1411, "Amount1": [ 1, 1 @@ -1325,7 +1325,7 @@ "GameId": 209, "Bet": 100000, "ItemId1": 30001, - "Rate1": 743, + "Rate1": 1485, "Amount1": [ 1, 1 @@ -1336,7 +1336,7 @@ "GameId": 209, "Bet": 150000, "ItemId1": 30001, - "Rate1": 1114, + "Rate1": 2228, "Amount1": [ 1, 1 @@ -1347,7 +1347,7 @@ "GameId": 209, "Bet": 200000, "ItemId1": 30001, - "Rate1": 1485, + "Rate1": 2970, "Amount1": [ 1, 1 @@ -1358,7 +1358,7 @@ "GameId": 209, "Bet": 250000, "ItemId1": 30001, - "Rate1": 1856, + "Rate1": 3713, "Amount1": [ 1, 1 @@ -1369,7 +1369,7 @@ "GameId": 209, "Bet": 300000, "ItemId1": 30001, - "Rate1": 2228, + "Rate1": 4455, "Amount1": [ 1, 2 @@ -1380,7 +1380,7 @@ "GameId": 209, "Bet": 350000, "ItemId1": 30001, - "Rate1": 2599, + "Rate1": 5198, "Amount1": [ 1, 2 @@ -1391,7 +1391,7 @@ "GameId": 209, "Bet": 400000, "ItemId1": 30001, - "Rate1": 2970, + "Rate1": 5940, "Amount1": [ 1, 2 @@ -1402,7 +1402,7 @@ "GameId": 209, "Bet": 450000, "ItemId1": 30001, - "Rate1": 3341, + "Rate1": 6683, "Amount1": [ 1, 2 @@ -1413,7 +1413,7 @@ "GameId": 209, "Bet": 500000, "ItemId1": 30001, - "Rate1": 3713, + "Rate1": 7425, "Amount1": [ 2, 3 @@ -1424,7 +1424,7 @@ "GameId": 209, "Bet": 550000, "ItemId1": 30001, - "Rate1": 4084, + "Rate1": 8168, "Amount1": [ 2, 3 @@ -1435,7 +1435,7 @@ "GameId": 209, "Bet": 600000, "ItemId1": 30001, - "Rate1": 4455, + "Rate1": 8910, "Amount1": [ 2, 3 @@ -1446,7 +1446,7 @@ "GameId": 209, "Bet": 650000, "ItemId1": 30001, - "Rate1": 4826, + "Rate1": 9653, "Amount1": [ 2, 3 @@ -1457,7 +1457,7 @@ "GameId": 209, "Bet": 700000, "ItemId1": 30001, - "Rate1": 5198, + "Rate1": 10000, "Amount1": [ 2, 4 @@ -1468,7 +1468,7 @@ "GameId": 209, "Bet": 750000, "ItemId1": 30001, - "Rate1": 5569, + "Rate1": 10000, "Amount1": [ 2, 4 @@ -1479,7 +1479,7 @@ "GameId": 209, "Bet": 800000, "ItemId1": 30001, - "Rate1": 5940, + "Rate1": 10000, "Amount1": [ 2, 4 @@ -1490,7 +1490,7 @@ "GameId": 209, "Bet": 850000, "ItemId1": 30001, - "Rate1": 6311, + "Rate1": 10000, "Amount1": [ 2, 4 @@ -1501,7 +1501,7 @@ "GameId": 209, "Bet": 900000, "ItemId1": 30001, - "Rate1": 6683, + "Rate1": 10000, "Amount1": [ 3, 5 @@ -1512,7 +1512,7 @@ "GameId": 209, "Bet": 950000, "ItemId1": 30001, - "Rate1": 7054, + "Rate1": 10000, "Amount1": [ 3, 5 @@ -1523,7 +1523,7 @@ "GameId": 209, "Bet": 1000000, "ItemId1": 30001, - "Rate1": 7425, + "Rate1": 10000, "Amount1": [ 3, 5 @@ -1536,8 +1536,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 5, - 10 + 1, + 5 ] }, { @@ -1547,8 +1547,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 10, - 25 + 5, + 9 ] }, { @@ -1558,8 +1558,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 25, - 50 + 13, + 17 ] }, { @@ -1569,8 +1569,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 50, - 75 + 20, + 24 ] }, { @@ -1580,8 +1580,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 75, - 100 + 28, + 32 ] }, { @@ -1591,8 +1591,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 100, - 125 + 35, + 39 ] }, { @@ -1602,8 +1602,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 125, - 150 + 43, + 47 ] }, { @@ -1613,8 +1613,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 150, - 175 + 50, + 54 ] }, { @@ -1624,8 +1624,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 175, - 200 + 57, + 61 ] }, { @@ -1635,8 +1635,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 200, - 225 + 65, + 69 ] }, { @@ -1646,8 +1646,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 225, - 250 + 72, + 76 ] }, { @@ -1655,7 +1655,7 @@ "GameId": 210, "Bet": 2000, "ItemId1": 30001, - "Rate1": 15, + "Rate1": 30, "Amount1": [ 1, 1 @@ -1666,7 +1666,7 @@ "GameId": 210, "Bet": 5000, "ItemId1": 30001, - "Rate1": 37, + "Rate1": 74, "Amount1": [ 1, 1 @@ -1677,7 +1677,7 @@ "GameId": 210, "Bet": 10000, "ItemId1": 30001, - "Rate1": 74, + "Rate1": 149, "Amount1": [ 1, 1 @@ -1688,7 +1688,7 @@ "GameId": 210, "Bet": 15000, "ItemId1": 30001, - "Rate1": 111, + "Rate1": 223, "Amount1": [ 1, 1 @@ -1699,7 +1699,7 @@ "GameId": 210, "Bet": 20000, "ItemId1": 30001, - "Rate1": 149, + "Rate1": 297, "Amount1": [ 1, 1 @@ -1710,7 +1710,7 @@ "GameId": 210, "Bet": 25000, "ItemId1": 30001, - "Rate1": 186, + "Rate1": 371, "Amount1": [ 1, 1 @@ -1721,7 +1721,7 @@ "GameId": 210, "Bet": 30000, "ItemId1": 30001, - "Rate1": 223, + "Rate1": 446, "Amount1": [ 1, 1 @@ -1732,7 +1732,7 @@ "GameId": 210, "Bet": 35000, "ItemId1": 30001, - "Rate1": 260, + "Rate1": 520, "Amount1": [ 1, 1 @@ -1743,7 +1743,7 @@ "GameId": 210, "Bet": 40000, "ItemId1": 30001, - "Rate1": 297, + "Rate1": 594, "Amount1": [ 1, 1 @@ -1754,7 +1754,7 @@ "GameId": 210, "Bet": 45000, "ItemId1": 30001, - "Rate1": 334, + "Rate1": 668, "Amount1": [ 1, 1 @@ -1765,7 +1765,7 @@ "GameId": 210, "Bet": 50000, "ItemId1": 30001, - "Rate1": 371, + "Rate1": 743, "Amount1": [ 1, 1 @@ -1776,7 +1776,7 @@ "GameId": 210, "Bet": 55000, "ItemId1": 30001, - "Rate1": 408, + "Rate1": 817, "Amount1": [ 1, 1 @@ -1787,7 +1787,7 @@ "GameId": 210, "Bet": 60000, "ItemId1": 30001, - "Rate1": 446, + "Rate1": 891, "Amount1": [ 1, 1 @@ -1798,7 +1798,7 @@ "GameId": 210, "Bet": 65000, "ItemId1": 30001, - "Rate1": 483, + "Rate1": 965, "Amount1": [ 1, 1 @@ -1809,7 +1809,7 @@ "GameId": 210, "Bet": 70000, "ItemId1": 30001, - "Rate1": 520, + "Rate1": 1040, "Amount1": [ 1, 1 @@ -1820,7 +1820,7 @@ "GameId": 210, "Bet": 75000, "ItemId1": 30001, - "Rate1": 557, + "Rate1": 1114, "Amount1": [ 1, 1 @@ -1831,7 +1831,7 @@ "GameId": 210, "Bet": 80000, "ItemId1": 30001, - "Rate1": 594, + "Rate1": 1188, "Amount1": [ 1, 1 @@ -1842,7 +1842,7 @@ "GameId": 210, "Bet": 85000, "ItemId1": 30001, - "Rate1": 631, + "Rate1": 1262, "Amount1": [ 1, 1 @@ -1853,7 +1853,7 @@ "GameId": 210, "Bet": 90000, "ItemId1": 30001, - "Rate1": 668, + "Rate1": 1337, "Amount1": [ 1, 1 @@ -1864,7 +1864,7 @@ "GameId": 210, "Bet": 95000, "ItemId1": 30001, - "Rate1": 705, + "Rate1": 1411, "Amount1": [ 1, 1 @@ -1875,7 +1875,7 @@ "GameId": 210, "Bet": 100000, "ItemId1": 30001, - "Rate1": 743, + "Rate1": 1485, "Amount1": [ 1, 1 @@ -1886,7 +1886,7 @@ "GameId": 210, "Bet": 150000, "ItemId1": 30001, - "Rate1": 1114, + "Rate1": 2228, "Amount1": [ 1, 1 @@ -1897,7 +1897,7 @@ "GameId": 210, "Bet": 200000, "ItemId1": 30001, - "Rate1": 1485, + "Rate1": 2970, "Amount1": [ 1, 1 @@ -1908,7 +1908,7 @@ "GameId": 210, "Bet": 250000, "ItemId1": 30001, - "Rate1": 1856, + "Rate1": 3713, "Amount1": [ 1, 1 @@ -1919,7 +1919,7 @@ "GameId": 210, "Bet": 300000, "ItemId1": 30001, - "Rate1": 2228, + "Rate1": 4455, "Amount1": [ 1, 2 @@ -1930,7 +1930,7 @@ "GameId": 210, "Bet": 350000, "ItemId1": 30001, - "Rate1": 2599, + "Rate1": 5198, "Amount1": [ 1, 2 @@ -1941,7 +1941,7 @@ "GameId": 210, "Bet": 400000, "ItemId1": 30001, - "Rate1": 2970, + "Rate1": 5940, "Amount1": [ 1, 2 @@ -1952,7 +1952,7 @@ "GameId": 210, "Bet": 450000, "ItemId1": 30001, - "Rate1": 3341, + "Rate1": 6683, "Amount1": [ 1, 2 @@ -1963,7 +1963,7 @@ "GameId": 210, "Bet": 500000, "ItemId1": 30001, - "Rate1": 3713, + "Rate1": 7425, "Amount1": [ 2, 3 @@ -1974,7 +1974,7 @@ "GameId": 210, "Bet": 550000, "ItemId1": 30001, - "Rate1": 4084, + "Rate1": 8168, "Amount1": [ 2, 3 @@ -1985,7 +1985,7 @@ "GameId": 210, "Bet": 600000, "ItemId1": 30001, - "Rate1": 4455, + "Rate1": 8910, "Amount1": [ 2, 3 @@ -1996,7 +1996,7 @@ "GameId": 210, "Bet": 650000, "ItemId1": 30001, - "Rate1": 4826, + "Rate1": 9653, "Amount1": [ 2, 3 @@ -2007,7 +2007,7 @@ "GameId": 210, "Bet": 700000, "ItemId1": 30001, - "Rate1": 5198, + "Rate1": 10000, "Amount1": [ 2, 4 @@ -2018,7 +2018,7 @@ "GameId": 210, "Bet": 750000, "ItemId1": 30001, - "Rate1": 5569, + "Rate1": 10000, "Amount1": [ 2, 4 @@ -2029,7 +2029,7 @@ "GameId": 210, "Bet": 800000, "ItemId1": 30001, - "Rate1": 5940, + "Rate1": 10000, "Amount1": [ 2, 4 @@ -2040,7 +2040,7 @@ "GameId": 210, "Bet": 850000, "ItemId1": 30001, - "Rate1": 6311, + "Rate1": 10000, "Amount1": [ 2, 4 @@ -2051,7 +2051,7 @@ "GameId": 210, "Bet": 900000, "ItemId1": 30001, - "Rate1": 6683, + "Rate1": 10000, "Amount1": [ 3, 5 @@ -2062,7 +2062,7 @@ "GameId": 210, "Bet": 950000, "ItemId1": 30001, - "Rate1": 7054, + "Rate1": 10000, "Amount1": [ 3, 5 @@ -2073,7 +2073,7 @@ "GameId": 210, "Bet": 1000000, "ItemId1": 30001, - "Rate1": 7425, + "Rate1": 10000, "Amount1": [ 3, 5 @@ -2086,8 +2086,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 5, - 10 + 1, + 5 ] }, { @@ -2097,8 +2097,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 10, - 25 + 5, + 9 ] }, { @@ -2108,8 +2108,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 25, - 50 + 13, + 17 ] }, { @@ -2119,8 +2119,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 50, - 75 + 20, + 24 ] }, { @@ -2130,8 +2130,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 75, - 100 + 28, + 32 ] }, { @@ -2141,8 +2141,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 100, - 125 + 35, + 39 ] }, { @@ -2152,8 +2152,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 125, - 150 + 43, + 47 ] }, { @@ -2163,8 +2163,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 150, - 175 + 50, + 54 ] }, { @@ -2174,8 +2174,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 175, - 200 + 57, + 61 ] }, { @@ -2185,8 +2185,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 200, - 225 + 65, + 69 ] }, { @@ -2196,8 +2196,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 225, - 250 + 72, + 76 ] }, { diff --git a/data/DB_GiftCard.dat b/data/DB_GiftCard.dat index 15600367ff42a73b75826e6378f02a3bde3a8661..96640b07f274cbbbda035ee3e52503c8356a73cb 100644 GIT binary patch delta 38 pcmcDtoFJjd$+57PP2j+^jZ8{x92eV|1-P_0AVMv+2JBXh3;@YB39kSE delta 38 pcmcDtoFJjd#&NNYS%6E4lVf2oo4|o-8=15?Aj}q919mG$1^~Z739kSE diff --git a/data/DB_PropExchange.dat b/data/DB_PropExchange.dat index bed563e..f970136 100644 --- a/data/DB_PropExchange.dat +++ b/data/DB_PropExchange.dat @@ -1,5 +1,5 @@ 6Նֆ׆ӆԆ"= -.؆نچۆ"= -WֆՆԆ׆؆نچۆӆ"  -]׆؆ۆӆԆֆ܆Նنچ" \ No newline at end of file +.ۆ؆نچ"= +W׆؆نچۆӆԆՆֆ"  +]׆چӆՆ؆نۆ܆Ԇֆ" \ No newline at end of file diff --git a/data/DB_Task.dat b/data/DB_Task.dat index 50d1fa8de0f5314064288ffcb86caf84641cc814..f737dc064b100da94bcf1492f644cd3cf7304e76 100644 GIT binary patch delta 173 zcmX@l|ABwPOhFEgg}rP73wqhC*f^E|S#ld!*)wvA3b08qD+p<%OuopNCB(+D2qkyRn>`Y``KhS%)#?8}M)fgvBFoATRV-pu<2OEEa5!w77Y&DZ7vk6UZV>g>D!YT{^Len!- delta 199 zcmeysf1ZEBOhGn|CB19{a#kE13xV{4Ubc;^>=`F>F$D>6f<+o`9pSWM<5&cgG@6{p zbWI4tPO*YYuYJTaIgB|8Xbwn;2-KX0&Z@~LnL8%4u?tU5VYxUtkVRs$FKfi)PfVhl tcd;rnVl(AEn>bLN@MKB$8mP1p)RF_!HZo0K&Tb~m4z}b3Bg}H3+W=r5JJkRH diff --git a/data/DB_Task.json b/data/DB_Task.json index 038ecda..2179a0d 100644 --- a/data/DB_Task.json +++ b/data/DB_Task.json @@ -199,6 +199,18 @@ "100002": 10 } }, + { + "Id": 21, + "Order": 6, + "ActivityType": 3, + "TaskType": 18, + "TargetTimes": 100, + "FinishTimes": 1, + "Award": { + "100001": 10000000, + "100002": 10 + } + }, { "Id": 17, "Order": 1, diff --git a/dbproxy/svc/u_invitescore.go b/dbproxy/svc/u_invitescore.go index 927913d..2684de5 100644 --- a/dbproxy/svc/u_invitescore.go +++ b/dbproxy/svc/u_invitescore.go @@ -48,6 +48,7 @@ func (b *BindScoreSvc) GetInviteScore(req *model.InviteScoreReq, ret *model.Invi type M struct { Score int64 + Money int64 } var tc []M @@ -58,6 +59,7 @@ func (b *BindScoreSvc) GetInviteScore(req *model.InviteScoreReq, ret *model.Invi {"$group": bson.M{ "_id": nil, "score": bson.M{"$sum": "$score"}, + "money": bson.M{"$sum": "$money"}, }}, }).AllowDiskUse().All(&tc) if err != nil { @@ -67,6 +69,7 @@ func (b *BindScoreSvc) GetInviteScore(req *model.InviteScoreReq, ret *model.Invi if len(tc) > 0 { ret.Score = tc[0].Score + ret.Money = tc[0].Money c := PlayerDataCollection(req.Platform) if c == nil { return PlayerColError diff --git a/model/invitecode.go b/model/invitecode.go index c99bc8b..598dc9d 100644 --- a/model/invitecode.go +++ b/model/invitecode.go @@ -53,6 +53,7 @@ type InviteScore struct { Tp int32 // 积分类型 common.InviteScoreType~ Score int64 // 积分 Ts int64 // 时间戳 + Money int64 // 充值金额 } type InviteScoreReq struct { @@ -61,16 +62,18 @@ type InviteScoreReq struct { } type InviteScoreRet struct { - Score int64 - ZScore int64 + Score int64 // 包含扣积分 + ZScore int64 // 只包含大于0的积分 + Money int64 // 充值金额 } // GetInviteScore 查询总积分 // 下级玩家所有积分 -func GetInviteScore(plt string, snid int32) (int64, int64, error) { +// 返回 包含扣积分,只包含大于0的积分,充值金额 +func GetInviteScore(plt string, snid int32) (int64, int64, int64, error) { if rpcCli == nil { logger.Logger.Warnf("rpcCli is nil") - return 0, 0, errors.New("rpcCli is nil") + return 0, 0, 0, errors.New("rpcCli is nil") } req := &InviteScoreReq{ @@ -81,10 +84,10 @@ func GetInviteScore(plt string, snid int32) (int64, int64, error) { err := rpcCli.CallWithTimeout("BindScoreSvc.GetInviteScore", req, ret, time.Second*30) if err != nil { logger.Logger.Warnf("GetInviteScore err:%v", err) - return 0, 0, err + return 0, 0, 0, err } - return ret.Score, ret.ZScore, err + return ret.Score, ret.ZScore, ret.Money, err } // SaveInviteScore 保存积分变更记录 diff --git a/worldsrv/action_welfare.go b/worldsrv/action_welfare.go index 89b2c88..abe2225 100644 --- a/worldsrv/action_welfare.go +++ b/worldsrv/action_welfare.go @@ -313,28 +313,25 @@ func CSInviteInfo(s *netlib.Session, packetid int, data interface{}, sid int64) res, err = webapi.ApiGetInviteLink(common.GetAppId(), req) return nil }), task.CompleteNotifyWrapper(func(i interface{}, t task.Task) { + info := webapi_proto.SAPlayerInviteLink{} + link := "" if err != nil || res == nil { logger.Logger.Errorf("ApiGetInviteLink err %v or not return", err) - return - } - - var info webapi_proto.SAPlayerInviteLink - proto.Unmarshal(res, &info) - - if info.Tag == webapi_proto.TagCode_SUCCESS { - ret := &welfare.SCInviteInfo{ - Num: p.InviteNum, - Code: p.InviteCode, - InviteUrl: info.Link, - Score: p.InviteScore, - OtherCode: p.OtherCode, - } - - p.SendToClient(int(welfare.SPacketID_PACKET_SCInviteInfo), ret) - logger.Logger.Tracef("SCInviteInfo %v", ret) } else { - logger.Logger.Errorf("ApiGetInviteLink:%v", info.String()) + proto.Unmarshal(res, &info) + logger.Logger.Infof("ApiGetInviteLink info %v", info.String()) + link = info.Link } + + ret := &welfare.SCInviteInfo{ + Num: p.InviteNum, + Code: p.InviteCode, + InviteUrl: link, + Score: p.InviteScore, + OtherCode: p.OtherCode, + } + p.SendToClient(int(welfare.SPacketID_PACKET_SCInviteInfo), ret) + logger.Logger.Tracef("SCInviteInfo %v", ret) })).Start() return nil } diff --git a/worldsrv/invitecode.go b/worldsrv/invitecode.go index 9d17ecd..74eb10f 100644 --- a/worldsrv/invitecode.go +++ b/worldsrv/invitecode.go @@ -30,20 +30,29 @@ func SaveInviteScore(data *model.InviteScore) { return nil }), task.CompleteNotifyWrapper(func(i interface{}, t task.Task) { p := PlayerMgrSington.GetPlayerBySnId(data.InviteSnId) - if err == nil && p != nil && data.Score != 0 { - if data.Score < 0 { - if -data.Score > p.InviteScore { - data.Score = -p.InviteScore + if err == nil && p != nil { + if data.Score != 0 { + if data.Score < 0 { + if -data.Score > p.InviteScore { + data.Score = -p.InviteScore + } + } + p.InviteScore += data.Score + p.dirty = true + + // 更新邀请任务进度 + if data.Score > 0 { + TaskSubjectSingleton.Touch(common.TaskTypeInviteScore, &TaskData{ + SnId: p.SnId, + Num: data.Score, + }) } } - p.InviteScore += data.Score - p.dirty = true - // 更新邀请任务进度 - if data.Score > 0 { - TaskSubjectSingleton.Touch(common.TaskTypeInviteScore, &TaskData{ + if data.Money > 0 { + TaskSubjectSingleton.Touch(common.TaskTypeInviteRecharge, &TaskData{ SnId: p.SnId, - Num: data.Score, + Num: data.Money, }) } } @@ -51,10 +60,10 @@ func SaveInviteScore(data *model.InviteScore) { } func GetInviteScore(platform string, snid int32) { - var n, z int64 + var n, z, money int64 var err error task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} { - n, z, err = model.GetInviteScore(platform, snid) + n, z, money, err = model.GetInviteScore(platform, snid) if err != nil { logger.Logger.Errorf("GetInviteScore error:%v", err) return err @@ -72,6 +81,12 @@ func GetInviteScore(platform string, snid int32) { SnId: p.SnId, Num: z, }) + + p.ResetTaskN(common.TaskTypeInviteRecharge) + TaskSubjectSingleton.Touch(common.TaskTypeInviteRecharge, &TaskData{ + SnId: p.SnId, + Num: money, + }) } })).StartByFixExecutor(fmt.Sprintf("invite_score_%v", snid)) } diff --git a/worldsrv/player.go b/worldsrv/player.go index 42ff50c..d42d8b1 100644 --- a/worldsrv/player.go +++ b/worldsrv/player.go @@ -4431,8 +4431,9 @@ func (this *Player) InviteTask(scoreType int32, gameId int32, n int64) { SnId: this.SnId, InviteSnId: this.InviteSnId, Tp: scoreType, - Score: a * 10000, + Score: a * common.InviteScoreRecharge, Ts: time.Now().UnixNano(), + Money: n, }) case common.InviteScoreTypeGameTimes: diff --git a/worldsrv/taskmgr.go b/worldsrv/taskmgr.go index fab15fb..0ef1159 100644 --- a/worldsrv/taskmgr.go +++ b/worldsrv/taskmgr.go @@ -245,4 +245,5 @@ func init() { TaskSubjectSingleton.Attach(common.TaskTypeFirstLogin, taskHandle) TaskSubjectSingleton.Attach(common.TaskTypeInviteNum, taskHandle) TaskSubjectSingleton.Attach(common.TaskTypeTurnplate, taskHandle) + TaskSubjectSingleton.Attach(common.TaskTypeInviteRecharge, taskHandle) } diff --git a/xlsx/DB_Game_Drop.xlsx b/xlsx/DB_Game_Drop.xlsx index 55883fa5840efa32e8e1f7f2d14746fdf1980293..4baa28c70756a6757fee7cc705d0e278a3afb7c9 100644 GIT binary patch delta 12550 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 AJpcdz delta 12572 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 delta 13721 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