|
@@ -0,0 +1,138 @@
|
|
1
|
+local code = require "code"
|
|
2
|
+local machine = require "machine"
|
|
3
|
+local noticeUtil = require "utils.noticeUtil"
|
|
4
|
+local timeUtil = require "utils.timeUtil"
|
|
5
|
+local nodeMgr = require "nodeMgr"
|
|
6
|
+local loginPlatformModule = require "modules.loginPlatformModule"
|
|
7
|
+local chatUtil = require "utils.chatUtil"
|
|
8
|
+local util_user = require("utils.util_user")
|
|
9
|
+local util_mail = require("utils.util_mail")
|
|
10
|
+local lib_game_mysql = require("lib_game_mysql")
|
|
11
|
+local gameConst = require("const.gameConst")
|
|
12
|
+
|
|
13
|
+local baseAdapt = require("base.baseAdapt")
|
|
14
|
+local resAdapt = require "adapt.resAdapt"
|
|
15
|
+local shopAdapt = require "adapt.shopAdapt"
|
|
16
|
+local chatAdapt = require "adapt.chatAdapt"
|
|
17
|
+
|
|
18
|
+local moduleData = require("data.module")
|
|
19
|
+local sessionData = require("data.session")
|
|
20
|
+local payData = require("data.pay")
|
|
21
|
+local userData = require("data.user")
|
|
22
|
+local arenaData = require("data.arena")
|
|
23
|
+local battleData = require("data.battle")
|
|
24
|
+local resData = require("data.res")
|
|
25
|
+local playerData = require("data.player")
|
|
26
|
+
|
|
27
|
+local root = {}
|
|
28
|
+
|
|
29
|
+-- 获取玩家信息
|
|
30
|
+function root.gm_get_player_info(msg)
|
|
31
|
+ local uid = tonumber(msg.uid)
|
|
32
|
+
|
|
33
|
+ log.info("gm_get_player_info msg[%s]", tostring(msg))
|
|
34
|
+ --.玩家id .玩家昵称 .国王等级 .竞技场等级 .玩家密码 -是否在线 .渠道号 .版本号 -账号状态 .注册时间 .最近登录时间 -状态
|
|
35
|
+ --.战斗局数 .广告次数 。金币 。钻石 .充值金额 -充值次数 .当前城市 .UUID .UDID
|
|
36
|
+ local _, items = root.getBagInfo({uid = uid})
|
|
37
|
+ local userInfo = userData:user_get_info(uid)
|
|
38
|
+ userInfo.lv = playerData:get_level(uid)
|
|
39
|
+ userInfo.status = ""
|
|
40
|
+ userInfo.gold = resData:get_item_count(uid, gameConst.ITEM_ID.GOLD) -- 金币
|
|
41
|
+ userInfo.diamond = resData:get_item_count(uid, gameConst.ITEM_ID.DIAMOND) -- 钻石
|
|
42
|
+ userInfo.RechargeAmount = payData:user_get_total_pay_count(uid) -- 充值总额 integer
|
|
43
|
+ userInfo.RechargeCount = 0 -- 充值次数 integer
|
|
44
|
+
|
|
45
|
+ return code.OK, {user = userInfo, bag = {items = items}}
|
|
46
|
+end
|
|
47
|
+
|
|
48
|
+-- 背包信息
|
|
49
|
+function root.gm_get_player_bag_info(msg)
|
|
50
|
+ local uid = tonumber(msg.uid)
|
|
51
|
+
|
|
52
|
+ local itemList = {}
|
|
53
|
+ local itemInfo = moduleData:hget_json(uid, "bag", "itemInfo")
|
|
54
|
+ for k, v in ipairs(itemInfo) do
|
|
55
|
+ if v.count > 0 then
|
|
56
|
+ table.insert(itemList, {id = v.id, count = v.count, endTime = v.endTime})
|
|
57
|
+ end
|
|
58
|
+ end
|
|
59
|
+ for i, v in pairs(itemList) do
|
|
60
|
+ v.name = resAdapt:get_item_name(v.id)
|
|
61
|
+ if v.sceneLv then
|
|
62
|
+ v.name = string.format("%s-%s", v.name, v.sceneLv)
|
|
63
|
+ v.sceneLv = nil
|
|
64
|
+ elseif v.endTime then
|
|
65
|
+ v.name = string.format("%s(%s)", v.name, timeUtil.toString(v.endTime))
|
|
66
|
+ v.endTime = nil
|
|
67
|
+ end
|
|
68
|
+ end
|
|
69
|
+ return code.OK, itemList
|
|
70
|
+end
|
|
71
|
+
|
|
72
|
+-- 获取道具配置
|
|
73
|
+function root.gm_get_conf_items(msg)
|
|
74
|
+ local items = {}
|
|
75
|
+ local conf = resAdapt:get_item_conf_list()
|
|
76
|
+ for _, v in ipairs(conf) do
|
|
77
|
+ table.insert(items, {id = v.id, name = v.name, price = v.price})
|
|
78
|
+ end
|
|
79
|
+ return code.OK, {list = items}
|
|
80
|
+end
|
|
81
|
+
|
|
82
|
+-- 获取商品配置
|
|
83
|
+function root.gm_get_conf_goods(msg)
|
|
84
|
+ local list = {}
|
|
85
|
+ local shConf = baseAdapt:getConfig("GoodsConfig")
|
|
86
|
+ for k, v in ipairs(shConf) do
|
|
87
|
+ table.insert(list, {id = v.id, name = v.name, rmb = v.rmb})
|
|
88
|
+ end
|
|
89
|
+ return code.OK, {goods = list}
|
|
90
|
+end
|
|
91
|
+
|
|
92
|
+-- 对某个玩家发送邮件
|
|
93
|
+function root.send_mail(msg)
|
|
94
|
+ local uid = tonumber(msg.uid)
|
|
95
|
+
|
|
96
|
+ for i, v in pairs(msg.items) do
|
|
97
|
+ if not resAdapt:get_item_conf(v.id) then
|
|
98
|
+ return code.RES.ID_ERROR
|
|
99
|
+ end
|
|
100
|
+ end
|
|
101
|
+
|
|
102
|
+ local ok = util_mail:add_mail(uid, 0, msg.title, msg.message, msg.items, msg.type, nil, nil, "GM后台")
|
|
103
|
+
|
|
104
|
+ do
|
|
105
|
+ -- 埋点
|
|
106
|
+ local keyEvent = "message"
|
|
107
|
+ for _, value in ipairs(msg.items or {}) do
|
|
108
|
+ local text = string.format("%s,%s,%s", tostring(1), tostring(value.id), tostring(value.count))
|
|
109
|
+ util_user:log_event(uid, keyEvent, text)
|
|
110
|
+ end
|
|
111
|
+ end
|
|
112
|
+
|
|
113
|
+ if not ok then
|
|
114
|
+ return code.UNKNOWN
|
|
115
|
+ end
|
|
116
|
+ return code.OK, {}
|
|
117
|
+end
|
|
118
|
+
|
|
119
|
+-- 玩家状态
|
|
120
|
+function root.update_player_status(msg)
|
|
121
|
+ log.info("update_player_status msg[%s]", tostring(msg))
|
|
122
|
+ if msg == nil then
|
|
123
|
+ return code.PARAMTER_ERROR
|
|
124
|
+ end
|
|
125
|
+ local uid = tonumber(msg.uid)
|
|
126
|
+ local status = msg.status
|
|
127
|
+ if uid == nil or status == nil then
|
|
128
|
+ return code.PARAMTER_ERROR
|
|
129
|
+ end
|
|
130
|
+ if util_user:user_is_online_game(uid) then
|
|
131
|
+ util_user:user_call_game_agent(uid, "user.updateStatus", msg)
|
|
132
|
+ else
|
|
133
|
+ moduleData:hset(uid, "user", "status", status)
|
|
134
|
+ end
|
|
135
|
+ return code.OK
|
|
136
|
+end
|
|
137
|
+
|
|
138
|
+return root
|