Commit 4f40cc1a09cc26f6bf871d2c713b501ce1d52143

Authored by chenyueqi
1 parent 1691ca06

付费钻区分ios钻和android钻

src/GlobalVar.lua
... ... @@ -18,6 +18,8 @@ START_RESET_TIME = START_RESET_TIME_BASE - TIME_ZONE * 3600
18 18  
19 19 STRUCT_VERSION = 3 -- 数据结构版本
20 20  
  21 +IOS_SID = 4 -- 判断是不是ios设备
  22 +
21 23 MAX_ROLE_NUM = 1000000
22 24 -- 属性枚举
23 25 AttsEnum = {
... ...
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)
... ...