local exe_ret = {}
exe_ret["error"] = "success"
exe_ret["result"] = ""

--[[
	check condition
--]]
local ret = redis.call('EXISTS' , KEYS[1] )
if ret == 0 then
    exe_ret["error"] = "key not exists"
    exe_ret["result"] = "5002"
    return cjson.encode(exe_ret)
end
if #ARGV ~= 5 then
	exe_ret["error"] = "param error:not 5"
    return cjson.encode(exe_ret)
end

local playerID    = ARGV[1]
local account     = ARGV[2]
local accountBind = ARGV[3]
local deviceID    = ARGV[4]
local deviceIDKey = ARGV[5]

-- 设置新的 account->playerID
redis.call('HSET' , KEYS[1], accountBind , playerID)

-- 删除旧的
redis.call('HDEL', KEYS[1], account)

-- 删除旧的设备表
if deviceID ~= "" then
    redis.call('HDEL', deviceIDKey, deviceID)
end

return cjson.encode(exe_ret)

