123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- local code = require "code"
- local machine = require "machine"
- local noticeUtil = require "utils.noticeUtil"
- local timeUtil = require "utils.timeUtil"
- local nodeMgr = require "nodeMgr"
- local loginPlatformModule = require "modules.loginPlatformModule"
- local chatUtil = require "utils.chatUtil"
- local util_user = require("utils.util_user")
- local util_mail = require("utils.util_mail")
- local lib_game_mysql = require("lib_game_mysql")
- local gameConst = require("const.gameConst")
- local baseAdapt = require("base.baseAdapt")
- local resAdapt = require "adapt.resAdapt"
- local shopAdapt = require "adapt.shopAdapt"
- local chatAdapt = require "adapt.chatAdapt"
- local moduleData = require("data.module")
- local sessionData = require("data.session")
- local payData = require("data.pay")
- local userData = require("data.user")
- local arenaData = require("data.arena")
- local battleData = require("data.battle")
- local resData = require("data.res")
- local playerData = require("data.player")
- local root = {}
- -- 获取玩家信息
- function root.gm_get_player_info(msg)
- local uid = tonumber(msg.uid)
- log.info("gm_get_player_info msg[%s]", tostring(msg))
- --.玩家id .玩家昵称 .国王等级 .竞技场等级 .玩家密码 -是否在线 .渠道号 .版本号 -账号状态 .注册时间 .最近登录时间 -状态
- --.战斗局数 .广告次数 。金币 。钻石 .充值金额 -充值次数 .当前城市 .UUID .UDID
- local _, items = root.getBagInfo({uid = uid})
- local userInfo = userData:user_get_info(uid)
- userInfo.lv = playerData:get_level(uid)
- userInfo.status = ""
- userInfo.gold = resData:get_item_count(uid, gameConst.ITEM_ID.GOLD) -- 金币
- userInfo.diamond = resData:get_item_count(uid, gameConst.ITEM_ID.DIAMOND) -- 钻石
- userInfo.RechargeAmount = payData:user_get_total_pay_count(uid) -- 充值总额 integer
- userInfo.RechargeCount = 0 -- 充值次数 integer
- return code.OK, {user = userInfo, bag = {items = items}}
- end
- -- 背包信息
- function root.gm_get_player_bag_info(msg)
- local uid = tonumber(msg.uid)
- local itemList = {}
- local itemInfo = moduleData:hget_json(uid, "bag", "itemInfo")
- for k, v in ipairs(itemInfo) do
- if v.count > 0 then
- table.insert(itemList, {id = v.id, count = v.count, endTime = v.endTime})
- end
- end
- for i, v in pairs(itemList) do
- v.name = resAdapt:get_item_name(v.id)
- if v.sceneLv then
- v.name = string.format("%s-%s", v.name, v.sceneLv)
- v.sceneLv = nil
- elseif v.endTime then
- v.name = string.format("%s(%s)", v.name, timeUtil.toString(v.endTime))
- v.endTime = nil
- end
- end
- return code.OK, itemList
- end
- -- 获取道具配置
- function root.gm_get_conf_items(msg)
- local items = {}
- local conf = resAdapt:get_item_conf_list()
- for _, v in ipairs(conf) do
- table.insert(items, {id = v.id, name = v.name, price = v.price})
- end
- return code.OK, {list = items}
- end
- -- 获取商品配置
- function root.gm_get_conf_goods(msg)
- local list = {}
- local shConf = baseAdapt:getConfig("GoodsConfig")
- for k, v in ipairs(shConf) do
- table.insert(list, {id = v.id, name = v.name, rmb = v.rmb})
- end
- return code.OK, {goods = list}
- end
- -- 对某个玩家发送邮件
- function root.send_mail(msg)
- local uid = tonumber(msg.uid)
- for i, v in pairs(msg.items) do
- if not resAdapt:get_item_conf(v.id) then
- return code.RES.ID_ERROR
- end
- end
- local ok = util_mail:add_mail(uid, 0, msg.title, msg.message, msg.items, msg.type, nil, nil, "GM后台")
- do
- -- 埋点
- local keyEvent = "message"
- for _, value in ipairs(msg.items or {}) do
- local text = string.format("%s,%s,%s", tostring(1), tostring(value.id), tostring(value.count))
- util_user:log_event(uid, keyEvent, text)
- end
- end
- if not ok then
- return code.UNKNOWN
- end
- return code.OK, {}
- end
- -- 玩家状态
- function root.update_player_status(msg)
- log.info("update_player_status msg[%s]", tostring(msg))
- if msg == nil then
- return code.PARAMTER_ERROR
- end
- local uid = tonumber(msg.uid)
- local status = msg.status
- if uid == nil or status == nil then
- return code.PARAMTER_ERROR
- end
- if util_user:user_is_online_game(uid) then
- util_user:user_call_game_agent(uid, "user.updateStatus", msg)
- else
- moduleData:hset(uid, "user", "status", status)
- end
- return code.OK
- end
- return root
|