Commit 1df833f9bc936f6902f3ddd119b9e6c6e4b877f2

Authored by jiyue
2 parents 1a427820 7d5e688f

Merge branch 'cn/develop' into cn/publish/release

src/ProtocolCode.lua
... ... @@ -232,6 +232,7 @@ actionCodes = {
232 232 Store_getTotalRechargeAwardRpc = 564, -- 累计充值
233 233 Store_monthCardRewardRpc = 565, --每日月卡+特刊奖励
234 234 Store_dyhxAndroidRechargeRpc = 566, -- 东银河充值
  235 + Store_getCpOrderIdRpc = 567, -- 生成充值订单号
235 236  
236 237 Store_biliCloudRechargeRpc = 596,
237 238 Store_biliAndroidRechargeRpc = 597,
... ...
src/actions/RoleAction.lua
... ... @@ -334,6 +334,7 @@ function _M.loginRpc( agent, data )
334 334  
335 335 local hangPass = role:getProperty("hangPass")
336 336 role:mylog("login", {key1 = agent.ip:toArray(false, ":")[1], int1 = hangPass[1] or 0})
  337 + role:onUploadLoginout(1, agent.client_fd)
337 338  
338 339 -- 是否是新设备
339 340 local deviced = cluster.query("center", "deviced")
... ... @@ -344,6 +345,15 @@ function _M.loginRpc( agent, data )
344 345 end
345 346 end
346 347  
  348 + -- 临时处理方式,清空电台活动队伍
  349 + local radioTask = role:getProperty("radioTask")
  350 + for id, data in pairs(radioTask) do
  351 + if (data["actid"] or 0) ~= 0 then
  352 + radioTask[id] = nil
  353 + end
  354 + end
  355 + ---
  356 +
347 357 return true
348 358 end
349 359  
... ...
src/actions/StoreAction.lua
... ... @@ -281,6 +281,37 @@ function _M.dyhxAndroidRechargeRpc(agent, data)
281 281 return true
282 282 end
283 283  
  284 +local rechargeHandler = {
  285 + ali = function(cp_order_id, rechargeId, result)
  286 + end,
  287 + wx = function(cp_order_id, rechargeId, result)
  288 + end,
  289 +}
  290 +
  291 +function _M.getCpOrderIdRpc(agent, data)
  292 + local role = agent.role
  293 + local msg = MsgPack.unpack(data)
  294 + local id = msg.id
  295 + local type = msg.skd_type or ""
  296 + local choose = msg.choose or ""
  297 + local dataSet = csvdb["shop_rechargeCsv"][id]
  298 + if not dataSet then return end
  299 + local roleId = role:getProperty("id")
  300 +
  301 + role.ignoreHeartbeat = true
  302 + --创建订单号
  303 + local partnerOrderId = role:getPurchaseOrder(id,nil,choose)
  304 +
  305 + local result = {}
  306 + result["order"] = partnerOrderId
  307 + local handler = rechargeHandler[type]
  308 + if handler then
  309 + handler(partnerOrderId, id, result)
  310 + end
  311 +
  312 + SendPacket(actionCodes.Store_getCpOrderIdRpc, MsgPack.pack(result))
  313 +end
  314 +
284 315  
285 316 function _M.purchaseOrderResult(agent, data)
286 317 local role = agent.role
... ...
src/agent.lua
... ... @@ -295,6 +295,7 @@ function CMD.close()
295 295 role:log("onLogout", {logtime = skynet.timex()-role:getProperty("ltime")})
296 296 role:mylog("logout", {int1 = skynet.timex()-role:getProperty("ltime")})
297 297 role:onOfflineEvent()
  298 + role:onUploadLoginout(0, agentInfo.client_fd)
298 299 end
299 300  
300 301 function CMD.exit()
... ...
1   -Subproject commit bd0ab7120f5574d3a720dd1bbeb513fb67b6d21b
  1 +Subproject commit 3fe1beb0f0efedddb79ccfac950b8eeca98f9c91
... ...
src/models/Activity.lua
... ... @@ -1488,12 +1488,13 @@ activityFunc[Activity.ActivityType.RadioTask] = {
1488 1488 if config.activity_ctrl_id == actid then
1489 1489 radioTask[id] = nil
1490 1490  
1491   - if not task then return 4 end
1492   - if skynet.timex() < task.time then return 5 end
1493   -
1494   - local reward = getActRadioTaskReward(self.owner, id, task)
1495   - for k, v in pairs(reward) do
1496   - result[k] = (result[k] or 0) + v
  1491 + if task then
  1492 + if skynet.timex() > task.time then
  1493 + local reward = getActRadioTaskReward(self.owner, id, task)
  1494 + for k, v in pairs(reward) do
  1495 + result[k] = (result[k] or 0) + v
  1496 + end
  1497 + end
1497 1498 end
1498 1499 end
1499 1500 end
... ...
src/models/RolePlugin.lua
... ... @@ -36,6 +36,25 @@ function RolePlugin.bind(Role)
36 36 self:saveRoleData()
37 37 end
38 38  
  39 + -- 上报中宣数据
  40 + function Role:onUploadLoginout(bt, session)
  41 + local uid = self:getProperty("uid")
  42 + local id = self:getProperty("id")
  43 + local time = skynet.timex()
  44 + local si = string.format("%s_%s", id, session)
  45 + local info = {{si = si, bt = bt, ot = time}}
  46 +
  47 + local codeurl = skynet.getenv("codeurl")
  48 + local content = {
  49 + ["si"] = si,
  50 + ["bt"] = bt,
  51 + ["ot"] = time,
  52 + ["uid"] = uid,
  53 + ["key"] = "zhaolugame20170831",
  54 + }
  55 + httpc.get(codeurl, "/collect?" .. httpGetFormatData(content), {})
  56 + end
  57 +
39 58 local function checkItemCount(self, itemId, count)
40 59 local itemData = csvdb["itemCsv"][itemId]
41 60 -- 种类 类型数量限制
... ... @@ -2410,11 +2429,20 @@ function RolePlugin.bind(Role)
2410 2429 end
2411 2430 local rechargeId = back
2412 2431 local rechargeData = csvdb["shop_rechargeCsv"][rechargeId]
2413   - if (params.is_mycard and rechargeData.twd * 100 ~= tonumber(params.amount)) or (not params.is_mycard and ((rechargeData.rmb * 100) / globalCsv.QArecharge) ~= tonumber(params.amount)) then
2414   - skynet.error(string.format("[recharge] fake order: %s, roleId: %d, order: %s, rmb %s, get %s",
2415   - params.transactionId, roleId, partnerOrderStr, rechargeData.rmb, params.amount
2416   - ))
2417   - return
  2432 + if params.amount == 0 then
  2433 + if params.product_id ~= rechargeData.iap_product_id then
  2434 + skynet.error(string.format("[recharge] fake order: %s, roleId: %d, order: %s, rmb %s, get %s",
  2435 + params.transactionId, roleId, partnerOrderStr, rechargeData.iap_product_id, params.product_id
  2436 + ))
  2437 + return
  2438 + end
  2439 + else
  2440 + if (params.is_mycard and rechargeData.twd * 100 ~= tonumber(params.amount)) or (not params.is_mycard and ((rechargeData.rmb * 100) / globalCsv.QArecharge) ~= tonumber(params.amount)) then
  2441 + skynet.error(string.format("[recharge] fake order: %s, roleId: %d, order: %s, rmb %s, get %s",
  2442 + params.transactionId, roleId, partnerOrderStr, rechargeData.rmb, params.amount
  2443 + ))
  2444 + return
  2445 + end
2418 2446 end
2419 2447  
2420 2448 local status, reward = self:recharge({
... ...