添加后台代理代码
This commit is contained in:
186
codes/agent/dbbackup/mysql/main.lua
Normal file
186
codes/agent/dbbackup/mysql/main.lua
Normal file
@@ -0,0 +1,186 @@
|
||||
--region *.lua
|
||||
--Date
|
||||
--此文件由[BabeLua]插件自动生成
|
||||
|
||||
JSON = (loadfile "JSON.lua")();
|
||||
|
||||
print("script hava been loaded!");
|
||||
|
||||
-- 检测数组中是否包含某个值
|
||||
function in_table(val, tbl)
|
||||
if (not tbl) then
|
||||
return false;
|
||||
end;
|
||||
|
||||
for k, v in ipairs(tbl) do
|
||||
if (v == val) then
|
||||
return true;
|
||||
end;
|
||||
end;
|
||||
|
||||
return false;
|
||||
end;
|
||||
|
||||
-- lua 判断一个字符是否存在某个数组
|
||||
-- 判断字符b,是否存在于数组list中
|
||||
function in_array(b, list)
|
||||
if (not list) then
|
||||
return false;
|
||||
end;
|
||||
|
||||
for k, v in pairs(list) do
|
||||
if (v.tableName == b) then
|
||||
return true;
|
||||
end;
|
||||
end;
|
||||
|
||||
return false;
|
||||
end
|
||||
|
||||
function LuaMain(CommandLine)
|
||||
local command = [[
|
||||
select
|
||||
idx,
|
||||
plgr_agentid,
|
||||
plgr_playerid,
|
||||
plgr_gameid,
|
||||
plgr_roomcode,
|
||||
plgr_ownerid,
|
||||
plgr_roomtype,
|
||||
plgr_createtime,
|
||||
plgr_makewartime,
|
||||
plgr_overtime,
|
||||
plgr_gameinfo1,
|
||||
rank
|
||||
from
|
||||
(
|
||||
select
|
||||
a.idx,
|
||||
a.plgr_agentid,
|
||||
a.plgr_playerid,
|
||||
a.plgr_gameid,
|
||||
a.plgr_roomcode,
|
||||
a.plgr_ownerid,
|
||||
a.plgr_roomtype,
|
||||
a.plgr_createtime,
|
||||
a.plgr_makewartime,
|
||||
a.plgr_overtime,
|
||||
a.plgr_gameinfo1,
|
||||
@rn := @rn + 1,
|
||||
if (@gp = concat(a.plgr_agentid, a.plgr_gameid, a.plgr_roomcode, a.plgr_ownerid, a.plgr_createtime), @rank := @rank + 1, @rank := 1) rank,
|
||||
@gp := concat(a.plgr_agentid, a.plgr_gameid, a.plgr_roomcode, a.plgr_ownerid, a.plgr_createtime)
|
||||
from
|
||||
(
|
||||
select
|
||||
idx,
|
||||
plgr_agentid,
|
||||
plgr_playerid,
|
||||
plgr_gameid,
|
||||
plgr_roomcode,
|
||||
plgr_ownerid,
|
||||
plgr_roomtype,
|
||||
plgr_createtime,
|
||||
plgr_makewartime,
|
||||
plgr_overtime,
|
||||
plgr_gameinfo1
|
||||
from
|
||||
player_grade
|
||||
where
|
||||
# plgr_agentid = '00bA05haB0d9ZC0fwGD09Q2OA30insbQ' and
|
||||
#plgr_agentid = 'veRa0qrBf0df2K1G4de2tgfmVxB2jxpv' and
|
||||
idx not in (select out_id from ct_grade_core)
|
||||
order by
|
||||
idx
|
||||
limit 1000
|
||||
) a,
|
||||
(select @rn := 0, @gp := null, @rank := 0) b
|
||||
) t
|
||||
]];
|
||||
|
||||
local callable = "callable";
|
||||
|
||||
return command, callable, 1;
|
||||
end;
|
||||
|
||||
|
||||
function callable(...)
|
||||
local argv = {...}; -- 参数列表
|
||||
local argn = select("#", ...); -- 参数个数
|
||||
|
||||
local status, result = nil, nil;
|
||||
|
||||
local id, agent_id, player_id, game_id, room_code, owner_id, room_type, create_time, makewar_time, over_time, game_info1, rank = select("1", ...);
|
||||
local nick_name = nil; -- 昵称
|
||||
local core = nil; -- 得分
|
||||
local avatar = nil; -- 头像
|
||||
local player_id = nil; -- 玩家id
|
||||
local room_card = nil; -- 房卡数
|
||||
local done = "0"; -- 是否成功解析数据包
|
||||
|
||||
local table_room_type, table_game_info = nil, nil;
|
||||
|
||||
--print("id="..id.."\nagent_id="..agent_id.."\nplayer_id="..player_id.."\ngame_id="..game_id.."\nroom_code="..room_code.."\nowner_id="..owner_id.."\nroom_type="..room_type.."\ncreate_time="..create_time.."\nmakewar_time="..makewar_time.."\nover_time="..over_time.."\ngame_info1="..game_info1.."\nrank="..rank);
|
||||
|
||||
status, result = pcall(function() return JSON:decode(room_type); end);
|
||||
if (status) then
|
||||
table_room_type = result;
|
||||
else
|
||||
print(result);
|
||||
end;
|
||||
--print("table_room_type data type is "..type(table_room_type));
|
||||
|
||||
status, result = pcall(function() return JSON:decode(game_info1); end);
|
||||
if (status) then
|
||||
table_game_info = result;
|
||||
else
|
||||
print(result);
|
||||
end;
|
||||
--print("table_game_info data type is "..type(table_game_info));
|
||||
|
||||
if (("table" == type(table_room_type)) and (#table_room_type > 0)) then
|
||||
room_card = tostring(table_room_type[1]);
|
||||
end;
|
||||
|
||||
if ("table" == type(table_game_info)) then
|
||||
local table_player_list = table_game_info["playerlist"];
|
||||
|
||||
if ("table" == type(table_player_list)) then
|
||||
local table_player_item = table_player_list[tonumber(rank)];
|
||||
|
||||
if (("table" == type(table_player_item)) and (#table_player_item > 0)) then
|
||||
nick_name = table_player_item[1];
|
||||
core = table_player_item[2];
|
||||
avatar = table_player_item[3];
|
||||
player_id = table_player_item[4];
|
||||
done = "1";
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
local cmd = [[
|
||||
insert into ct_grade_core(agent_id, game_id, player_id, nick_name, player_core, room_code, room_type, room_card, owner_id, owner_card, create_time, makewar_time, over_time, is_done, out_id, out_sub_id)
|
||||
values(?, ?, ?, ?, ?, ?, ?, ?, ?, 0, ?, ?, ?, ?, ?, ?)
|
||||
]];
|
||||
|
||||
local ret = ADOExecute(cmd, agent_id, game_id, player_id, nick_name, core, room_code, room_type, room_card, owner_id, create_time, makewar_time, over_time, done, id, rank);
|
||||
return ret;
|
||||
-------------------------------------------------------------
|
||||
-- print(select("2", ...) .. "\r\n");
|
||||
-- -- 遍历参数列表
|
||||
-- for idx, val in ipairs(argv) do
|
||||
-- print(idx .. ">>>>>>" .. val);
|
||||
-- end;
|
||||
-------------------------------------------------------------
|
||||
end;
|
||||
|
||||
function lookup_args(...)
|
||||
local argv = {...};
|
||||
local argn = select("#",...);
|
||||
print("参数个数 : ", argn);
|
||||
|
||||
for n,m in ipairs(argv) do
|
||||
print(n..">>>>>>"..m);
|
||||
end;
|
||||
|
||||
return 0;
|
||||
end;
|
||||
Reference in New Issue
Block a user