Commit e52c384f1048cf45fc2d22d9c3dbf8d24a0d6a9e

Authored by liuzujun
1 parent be0c7a19

探索指令bug, 充值返利活动

src/actions/GmAction.lua
@@ -487,7 +487,7 @@ function _M.test(role, pms) @@ -487,7 +487,7 @@ function _M.test(role, pms)
487 local id = tonum(pms.pm1, 0) 487 local id = tonum(pms.pm1, 0)
488 --local hero = require ("actions.HeroAction") 488 --local hero = require ("actions.HeroAction")
489 --hero.unlockPoolRpc({role = role}, MsgPack.pack({type = id})) 489 --hero.unlockPoolRpc({role = role}, MsgPack.pack({type = id}))
490 - print(role:getNextCarbonId(id)) 490 + print(role:getPaybackReward(0, 10000))
491 return "成功" 491 return "成功"
492 end 492 end
493 493
src/actions/RoleAction.lua
@@ -1211,20 +1211,18 @@ function _M.useSelectItemRpc(agent, data) @@ -1211,20 +1211,18 @@ function _M.useSelectItemRpc(agent, data)
1211 local role = agent.role 1211 local role = agent.role
1212 local msg = MsgPack.unpack(data) 1212 local msg = MsgPack.unpack(data)
1213 local itemId = msg.itemId 1213 local itemId = msg.itemId
1214 - local index = msg.index 1214 + local subId = msg.subId
1215 local count = msg.count 1215 local count = msg.count
1216 if math.illegalNum(count, 1, role:getItemCount(itemId)) then return end 1216 if math.illegalNum(count, 1, role:getItemCount(itemId)) then return end
1217 local itemData = csvdb["itemCsv"][itemId] 1217 local itemData = csvdb["itemCsv"][itemId]
1218 if itemData.type ~= ItemType.SelectItemBox then return end 1218 if itemData.type ~= ItemType.SelectItemBox then return end
1219 local itemMap = itemData.use_effect:toNumMap() 1219 local itemMap = itemData.use_effect:toNumMap()
1220 - local i = 1  
1221 local reward, change = {} 1220 local reward, change = {}
1222 for k, v in pairs(itemMap) do 1221 for k, v in pairs(itemMap) do
1223 - if i == index then 1222 + if k == subId then
1224 reward[k] = v * count 1223 reward[k] = v * count
1225 break 1224 break
1226 end 1225 end
1227 - i = i + 1  
1228 end 1226 end
1229 1227
1230 if next(reward) then 1228 if next(reward) then
@@ -1232,6 +1230,7 @@ function _M.useSelectItemRpc(agent, data) @@ -1232,6 +1230,7 @@ function _M.useSelectItemRpc(agent, data)
1232 role:costItems({[itemId] = count}, {log = {desc = "openItem"}}) 1230 role:costItems({[itemId] = count}, {log = {desc = "openItem"}})
1233 end 1231 end
1234 SendPacket(actionCodes.Role_useSelectItemRpc, MsgPack.pack(role:packReward(reward, change))) 1232 SendPacket(actionCodes.Role_useSelectItemRpc, MsgPack.pack(role:packReward(reward, change)))
  1233 + return true
1235 end 1234 end
1236 1235
1237 return _M 1236 return _M
1238 \ No newline at end of file 1237 \ No newline at end of file
src/actions/StoreAction.lua
@@ -386,7 +386,7 @@ function _M.getExploreCommandRewardRpc(agent, data) @@ -386,7 +386,7 @@ function _M.getExploreCommandRewardRpc(agent, data)
386 local subId = msg.subId -- 领取的阶段id 386 local subId = msg.subId -- 领取的阶段id
387 387
388 local tab_name = "reward_levelpass" .. id .. "Csv" 388 local tab_name = "reward_levelpass" .. id .. "Csv"
389 - local config = csvdb[tab_name][id] 389 + local config = csvdb[tab_name][subId]
390 if not config then return end 390 if not config then return end
391 391
392 local bpInfo = role.storeData:getProperty("bpInfo") or {} 392 local bpInfo = role.storeData:getProperty("bpInfo") or {}
1 -Subproject commit 2cd316b4df0f855713b9457114a97714df4d55f1 1 +Subproject commit 9ce6c8d165817a183c2867c4e7dca9d6a5600669
src/models/Activity.lua
@@ -9,6 +9,7 @@ Activity.ActivityType = { @@ -9,6 +9,7 @@ Activity.ActivityType = {
9 AdvDraw = 5, --拾荒抽周 资助 9 AdvDraw = 5, --拾荒抽周 资助
10 OpenBox = 6, --拆解周 时钟箱 10 OpenBox = 6, --拆解周 时钟箱
11 PaySignIn = 7, --付费签到 11 PaySignIn = 7, --付费签到
  12 + PayBack = 9, --返利
12 13
13 SsrUpPoolChange = 10, -- 特定英雄活动,切卡池 14 SsrUpPoolChange = 10, -- 特定英雄活动,切卡池
14 } 15 }
@@ -38,6 +39,7 @@ Activity.schema = { @@ -38,6 +39,7 @@ Activity.schema = {
38 act5 = {"table", {}}, -- {0 = 拆解数量, 1=1, 2=1} 拆解周活动 1表示领取过该档位的奖励 39 act5 = {"table", {}}, -- {0 = 拆解数量, 1=1, 2=1} 拆解周活动 1表示领取过该档位的奖励
39 act6 = {"table", {}}, -- {0 = 拾荒消耗远古金币数量, 1=1, 2=1} 拾荒周活动 1表示领取过该档位的奖励 40 act6 = {"table", {}}, -- {0 = 拾荒消耗远古金币数量, 1=1, 2=1} 拾荒周活动 1表示领取过该档位的奖励
40 act7 = {"table", {}}, -- {1 = 1, 2 = 1} == 付费签到活动 41 act7 = {"table", {}}, -- {1 = 1, 2 = 1} == 付费签到活动
  42 + act9 = {"number", 0}, -- 充值返利
41 } 43 }
42 44
43 function Activity:data() 45 function Activity:data()
@@ -50,6 +52,7 @@ function Activity:data() @@ -50,6 +52,7 @@ function Activity:data()
50 act5 = self:getProperty("act5"), 52 act5 = self:getProperty("act5"),
51 act6 = self:getProperty("act6"), 53 act6 = self:getProperty("act6"),
52 act7 = self:getProperty("act7"), 54 act7 = self:getProperty("act7"),
  55 + act9 = self:getProperty("act9"),
53 } 56 }
54 end 57 end
55 58
@@ -324,6 +327,24 @@ activityFunc[Activity.ActivityType.PaySignIn] = { @@ -324,6 +327,24 @@ activityFunc[Activity.ActivityType.PaySignIn] = {
324 -- end, 327 -- end,
325 } 328 }
326 329
  330 +-- 充值反馈
  331 +activityFunc[Activity.ActivityType.PayBack] = {
  332 + ["check"] = function(self, actType, notify, twd) -- 检查
  333 + local oldVal = self:getActData(actType) or 0
  334 + local newVal = oldVal + twd
  335 + local gift = self.owner:getPaybackReward(oldVal, newVal)
  336 + if gift ~= "" then
  337 + self.owner:sendMail(MailId.MonthCard, nil, gift)
  338 + end
  339 + self:updateActData(actType, newVal, not notify)
  340 + end,
  341 + ["init"] = function(self, actType, isCrossDay, notify)
  342 + self:updateActData(actType, {}, not notify)
  343 + end,
  344 + -- ["close"] = function(self, actType, notify)
  345 + -- end,
  346 +}
  347 +
327 function Activity:initActivity(actType, isCrossDay, notify) 348 function Activity:initActivity(actType, isCrossDay, notify)
328 if activityFunc[actType] and activityFunc[actType]['close'] then 349 if activityFunc[actType] and activityFunc[actType]['close'] then
329 activityFunc[actType]["init"](self, actType, isCrossDay, notify) 350 activityFunc[actType]["init"](self, actType, isCrossDay, notify)
src/models/Role.lua
@@ -149,6 +149,7 @@ Role.schema = { @@ -149,6 +149,7 @@ Role.schema = {
149 battlePoint = {"number", 0}, -- 赛季卡使用的活跃点 149 battlePoint = {"number", 0}, -- 赛季卡使用的活跃点
150 150
151 rmbC = {"number", 0}, -- 人民币重置额 151 rmbC = {"number", 0}, -- 人民币重置额
  152 + twdC = {"number", 0}, -- 台币总充值金额
152 153
153 emailSync = {"number", 0}, -- 已经同步到的邮件Id 154 emailSync = {"number", 0}, -- 已经同步到的邮件Id
154 155
@@ -373,6 +374,7 @@ function Role:data() @@ -373,6 +374,7 @@ function Role:data()
373 battlePoint = self:getProperty("battlePoint"), 374 battlePoint = self:getProperty("battlePoint"),
374 375
375 rmbC = self:getProperty("rmbC"), 376 rmbC = self:getProperty("rmbC"),
  377 + twdC = self:getProperty("twdC"),
376 repayHero = self:getProperty("repayHero"), 378 repayHero = self:getProperty("repayHero"),
377 newerDraw = self:getProperty("newerDraw"), 379 newerDraw = self:getProperty("newerDraw"),
378 floorHero = self:getProperty("floorHero"), 380 floorHero = self:getProperty("floorHero"),
src/models/RolePlugin.lua
@@ -1586,10 +1586,13 @@ function RolePlugin.bind(Role) @@ -1586,10 +1586,13 @@ function RolePlugin.bind(Role)
1586 reward[ItemId.Diamond] = (reward[ItemId.Diamond] or 0) + diamondCount 1586 reward[ItemId.Diamond] = (reward[ItemId.Diamond] or 0) + diamondCount
1587 end 1587 end
1588 1588
  1589 + self:checkTaskEnter("Pay", {rmb = rechargeData.rmb, twd = rechargeData.twd})
  1590 +
1589 -- 累充 1591 -- 累充
1590 local rmb = rechargeData.rmb 1592 local rmb = rechargeData.rmb
1591 self:updateProperty({field = "rmbC", delta = rmb}) 1593 self:updateProperty({field = "rmbC", delta = rmb})
1592 - 1594 + self:updateProperty({field = "twdC", delta = rechargeData.twd})
  1595 +
1593 self:mylog("role_action", {desc = "recharge", int1 = id, int2 = rmb, key1 = params.transactionId, key2 = params.order, long1 = params.pay_time}) 1596 self:mylog("role_action", {desc = "recharge", int1 = id, int2 = rmb, key1 = params.transactionId, key2 = params.order, long1 = params.pay_time})
1594 1597
1595 return nil, reward 1598 return nil, reward
@@ -1695,6 +1698,37 @@ function RolePlugin.bind(Role) @@ -1695,6 +1698,37 @@ function RolePlugin.bind(Role)
1695 return nextId 1698 return nextId
1696 end 1699 end
1697 1700
  1701 + -- 根据累计充值金额计算奖励档位
  1702 + function Role:getPaybackReward(oldVal, newVal)
  1703 + local maxVal, diff, extraReward = 0, 0, ""
  1704 + local gift = ""
  1705 + for k, v in pairs(csvdb["rebateCsv"]) do
  1706 + if k > maxVal then
  1707 + maxVal = k
  1708 + end
  1709 + if v.isLoop > diff then
  1710 + diff = v.isLoop
  1711 + extraReward = v.reward
  1712 + end
  1713 + if oldVal < k and newVal > k then
  1714 + gift = gift .. v.reward .. " "
  1715 + end
  1716 + end
  1717 + if newVal > maxVal then
  1718 + local cnt = 0
  1719 + if oldVal < maxVal then
  1720 + cnt = math.floor((newVal - maxVal) / diff)
  1721 + else
  1722 + cnt = math.floor((newVal - maxVal) / diff) - math.floor((oldVal - maxVal) / diff)
  1723 + end
  1724 + for i = 1, cnt do
  1725 + gift = gift .. extraReward .. " "
  1726 + end
  1727 + end
  1728 +
  1729 + return gift
  1730 + end
  1731 +
1698 end 1732 end
1699 1733
1700 return RolePlugin 1734 return RolePlugin
1701 \ No newline at end of file 1735 \ No newline at end of file
src/models/RoleTask.lua
@@ -89,6 +89,7 @@ local TaskType = { @@ -89,6 +89,7 @@ local TaskType = {
89 WeBlog = 1010, -- 关注微博 89 WeBlog = 1010, -- 关注微博
90 SignIn = 1011, -- 签到 90 SignIn = 1011, -- 签到
91 ShopAll = 1013, -- 在任意商店购买 91 ShopAll = 1013, -- 在任意商店购买
  92 + Pay = 1014, -- 充值
92 } 93 }
93 94
94 local function f(field, func) 95 local function f(field, func)
@@ -216,6 +217,7 @@ local ActivityListener = { @@ -216,6 +217,7 @@ local ActivityListener = {
216 [TaskType.FoodSell] = {{Activity.ActivityType.FoodSell, f("count")}}, 217 [TaskType.FoodSell] = {{Activity.ActivityType.FoodSell, f("count")}},
217 [TaskType.AdvDraw] = {{Activity.ActivityType.AdvDraw, f("count")}}, 218 [TaskType.AdvDraw] = {{Activity.ActivityType.AdvDraw, f("count")}},
218 [TaskType.OpenBox] = {{Activity.ActivityType.OpenBox, f("count")}}, 219 [TaskType.OpenBox] = {{Activity.ActivityType.OpenBox, f("count")}},
  220 + [TaskType.Pay] = {{Activity.ActivityType.PayBack, f("twd")}},
219 } 221 }
220 } 222 }
221 223