Commit 4f40cc1a09cc26f6bf871d2c713b501ce1d52143
1 parent
1691ca06
付费钻区分ios钻和android钻
Showing
5 changed files
with
27 additions
and
11 deletions
Show diff stats
src/GlobalVar.lua
src/actions/GmAction.lua
... | ... | @@ -669,6 +669,7 @@ end |
669 | 669 | |
670 | 670 | function _M.cz(role, pms) |
671 | 671 | local id = tonum(pms.pm1) |
672 | + local sid = tonum(pms.pm2) or 0 | |
672 | 673 | local csvData = csvdb["shop_rechargeCsv"][id] |
673 | 674 | if not csvData then |
674 | 675 | return "充值id错误, 查看shop_recharge.csv" |
... | ... | @@ -678,6 +679,7 @@ function _M.cz(role, pms) |
678 | 679 | transactionId = "GM", |
679 | 680 | order = "GM", |
680 | 681 | pay_time = skynet.timex(), |
682 | + sid = sid == 1 and IOS_SID or 0, | |
681 | 683 | }) |
682 | 684 | role:mylog("gm_action", {desc = "recharge", int1 = id, key1 = pms.sender}) |
683 | 685 | return "指令成功" | ... | ... |
src/models/Order.lua
... | ... | @@ -12,6 +12,7 @@ Order.schema = { |
12 | 12 | createTime = {"number", skynet.timex()}, -- 订单创建时间 |
13 | 13 | finishTime = {"number", 0}, -- 服务端验证完成时间 |
14 | 14 | status = {"string", "create"}, |
15 | + sid = {"number",0}, -- 创建单号的设备的sid | |
15 | 16 | } |
16 | 17 | |
17 | 18 | Order.fields = { |
... | ... | @@ -21,6 +22,7 @@ Order.fields = { |
21 | 22 | createTime = true, |
22 | 23 | finishTime = true, |
23 | 24 | status = true, |
25 | + sid = true, | |
24 | 26 | } |
25 | 27 | |
26 | 28 | return Order |
27 | 29 | \ No newline at end of file | ... | ... |
src/models/Role.lua
... | ... | @@ -59,8 +59,9 @@ Role.schema = { |
59 | 59 | ignoreMt = {"number", 0}, -- 忽略维护拦截 |
60 | 60 | sversion = {"number", STRUCT_VERSION or 0}, -- 重整数据版本 |
61 | 61 | timeReset = {"table", {}}, --重置轮回记录 |
62 | - diamond = {"number", 0}, | |
63 | - reDiamond = {"number", 0}, | |
62 | + diamond = {"number", 0}, -- 免费钻 | |
63 | + reDiamond = {"number", 0}, -- android充值钻 | |
64 | + reDiamondIos = {"number", 0}, -- ios充值钻 | |
64 | 65 | setting = {"table", {}}, --设置 |
65 | 66 | codeStr = {"string", ""}, --已经领过的礼包码 |
66 | 67 | -- roleInfo | ... | ... |
src/models/RolePlugin.lua
... | ... | @@ -442,7 +442,8 @@ function RolePlugin.bind(Role) |
442 | 442 | end |
443 | 443 | |
444 | 444 | function Role:getAllDiamond() |
445 | - return self:getProperty("diamond") + self:getProperty("reDiamond") | |
445 | + local diamond = self:getProperty("sid") == IOS_SID and self:getProperty("reDiamondIos") or self:getProperty("reDiamond") | |
446 | + return self:getProperty("diamond") + diamond | |
446 | 447 | end |
447 | 448 | |
448 | 449 | function Role:gainDiamond(params) |
... | ... | @@ -452,10 +453,14 @@ function RolePlugin.bind(Role) |
452 | 453 | return false |
453 | 454 | end |
454 | 455 | local origind = self:getProperty("diamond") |
455 | - local originr = self:getProperty("reDiamond") | |
456 | + local originr = self:getProperty("sid") == IOS_SID and self:getProperty("reDiamondIos") or self:getProperty("reDiamond") | |
456 | 457 | local origin = origind + originr |
457 | 458 | if params.isRecharge then |
458 | - self:incrProperty("reDiamond", count) | |
459 | + if params.sid == IOS_SID then | |
460 | + self:incrProperty("reDiamondIos", count) | |
461 | + else | |
462 | + self:incrProperty("reDiamond", count) | |
463 | + end | |
459 | 464 | else |
460 | 465 | self:incrProperty("diamond", count) |
461 | 466 | end |
... | ... | @@ -486,8 +491,9 @@ function RolePlugin.bind(Role) |
486 | 491 | if count <= 0 then |
487 | 492 | return false |
488 | 493 | end |
494 | + local isIos = self:getProperty("sid") == IOS_SID | |
489 | 495 | local origind = self:getProperty("diamond") |
490 | - local originr = self:getProperty("reDiamond") | |
496 | + local originr = isIos and self:getProperty("reDiamondIos") or self:getProperty("reDiamond") | |
491 | 497 | local origin = origind + originr |
492 | 498 | |
493 | 499 | if origin < 0 then |
... | ... | @@ -497,9 +503,9 @@ function RolePlugin.bind(Role) |
497 | 503 | return false |
498 | 504 | end |
499 | 505 | local last = count |
500 | - local costFirst = {"diamond", "reDiamond"} | |
506 | + local costFirst = isIos and {"diamond", "reDiamondIos"} or {"diamond", "reDiamond"} | |
501 | 507 | if params.isRecharge then |
502 | - costFirst = {"reDiamond", "diamond"} | |
508 | + costFirst = isIos and {"reDiamondIos", "diamond"} or {"reDiamond", "diamond"} | |
503 | 509 | end |
504 | 510 | last = math.max(last - self:getProperty(costFirst[1]), 0) |
505 | 511 | if last < count then |
... | ... | @@ -1750,6 +1756,7 @@ function RolePlugin.bind(Role) |
1750 | 1756 | rechargeId = rechargeId, |
1751 | 1757 | createTime = skynet.timex(), |
1752 | 1758 | transactionId = transactionId, |
1759 | + sid = role:getProperty("sid"), | |
1753 | 1760 | }) |
1754 | 1761 | order:create() |
1755 | 1762 | -- 正在进行中的订单 缓存 |
... | ... | @@ -1780,6 +1787,7 @@ function RolePlugin.bind(Role) |
1780 | 1787 | |
1781 | 1788 | local rechargeId = orderObject:getProperty("rechargeId") |
1782 | 1789 | local dataSet = csvdb["shop_rechargeCsv"][rechargeId] |
1790 | + local sid = orderObject:getProperty("sid") | |
1783 | 1791 | |
1784 | 1792 | if orderObject:getProperty("finishTime") > 0 then |
1785 | 1793 | skynet.error(string.format("[recharge] is a finish order cpOrder: %s, platformOrder : %s, hadPlatformOrder: %s, id: %s, overTime : %s", |
... | ... | @@ -1817,7 +1825,7 @@ function RolePlugin.bind(Role) |
1817 | 1825 | }) |
1818 | 1826 | end |
1819 | 1827 | |
1820 | - return true, rechargeId | |
1828 | + return true, rechargeId, sid | |
1821 | 1829 | end |
1822 | 1830 | |
1823 | 1831 | -- 充值 -- |
... | ... | @@ -1835,7 +1843,7 @@ function RolePlugin.bind(Role) |
1835 | 1843 | local roleId = self:getProperty("id") |
1836 | 1844 | local partnerOrderStr = params.order |
1837 | 1845 | |
1838 | - local status, back = self:updatePurchaseOrder(partnerOrderStr, params.transactionId, "finsh") | |
1846 | + local status, back, sid = self:updatePurchaseOrder(partnerOrderStr, params.transactionId, "finsh") | |
1839 | 1847 | if not status then |
1840 | 1848 | if back == "finsh" then |
1841 | 1849 | -- 订单已经处理 |
... | ... | @@ -1857,6 +1865,7 @@ function RolePlugin.bind(Role) |
1857 | 1865 | transactionId = params.transactionId, |
1858 | 1866 | pay_time = params.pay_time, |
1859 | 1867 | order = partnerOrderStr, |
1868 | + sid = sid, | |
1860 | 1869 | }) |
1861 | 1870 | |
1862 | 1871 | if not status then |
... | ... | @@ -1893,7 +1902,7 @@ function RolePlugin.bind(Role) |
1893 | 1902 | rechargeF[id] = 1 |
1894 | 1903 | self:updateProperty({field = "rechargeF", value = rechargeF}) |
1895 | 1904 | end |
1896 | - self:gainDiamond({count = diamondCount, isRecharge = true, log = {desc = "recharge", int1 = id}}) | |
1905 | + self:gainDiamond({count = diamondCount, isRecharge = true, sid = params.sid, log = {desc = "recharge", int1 = id}}) | |
1897 | 1906 | elseif rechargeData.shop == 2 then --通行证商店 |
1898 | 1907 | reward, _ = self:award(rechargeData.itemFirst, {isRecharge = true, log = {desc = "recharge", int1 = id}}) |
1899 | 1908 | self.storeData:onBuyCard(rechargeData.type, rechargeData.time, rechargeData.id, rechargeData.activity_id) | ... | ... |