Commit 1df833f9bc936f6902f3ddd119b9e6c6e4b877f2
Merge branch 'cn/develop' into cn/publish/release
Showing
7 changed files
with
84 additions
and
12 deletions
Show diff stats
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() | ... | ... |
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({ | ... | ... |