|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+--[[
|
|
|
2
|
+Descripttion:明细
|
|
|
3
|
+version:
|
|
|
4
|
+Author: Neo,Huang
|
|
|
5
|
+Date: 2023-11-22 22:52:54
|
|
|
6
|
+LastEditors: Neo,Huang
|
|
|
7
|
+LastEditTime: 2023-11-22 23:29:30
|
|
|
8
|
+--]]
|
|
|
9
|
+local mysqlUtil = require("utils.mysqlUtil")
|
|
|
10
|
+local timeUtil = require("utils.timeUtil")
|
|
|
11
|
+local gameConst = require("const.gameConst")
|
|
|
12
|
+
|
|
|
13
|
+local root = {}
|
|
|
14
|
+
|
|
|
15
|
+-- 新增记录
|
|
|
16
|
+function root:add_item_record(list)
|
|
|
17
|
+ if is_empty(list) then
|
|
|
18
|
+ return
|
|
|
19
|
+ end
|
|
|
20
|
+ -- 2023-11-22;2023-11-22 20:35:51;1000001;nil;999;shop-pay-10203;102;680;3400;
|
|
|
21
|
+ local columns = "(`createTime`,`uid`,`bandShareCode`,`channel`,`eventId`,`itemId`,`delta`,`remainCount`)"
|
|
|
22
|
+ local values = nil
|
|
|
23
|
+ for _, v in ipairs(list) do
|
|
|
24
|
+ local params = string.split(v, ";")
|
|
|
25
|
+ local value =
|
|
|
26
|
+ string.format(
|
|
|
27
|
+ "(%s,%s,'%s',%s,'%s',%s,%s,%s)",
|
|
|
28
|
+ getTimestamp(params[2]), -- createTime
|
|
|
29
|
+ tostring(params[3]), -- uid
|
|
|
30
|
+ tostring(params[4]), -- bandShareCode
|
|
|
31
|
+ tostring(params[5]), -- channel
|
|
|
32
|
+ tostring(params[6]), -- eventId
|
|
|
33
|
+ tostring(params[7]), -- itemId
|
|
|
34
|
+ tostring(params[8]), -- delta
|
|
|
35
|
+ tostring(params[9]) -- remainCount
|
|
|
36
|
+ )
|
|
|
37
|
+ if values == nil then
|
|
|
38
|
+ values = value
|
|
|
39
|
+ else
|
|
|
40
|
+ values = string.format("%s,%s", values, value)
|
|
|
41
|
+ end
|
|
|
42
|
+ end
|
|
|
43
|
+
|
|
|
44
|
+ local sql = string.format("INSERT INTO `mdl_itemrecord` %s VALUES %s; ", columns, values)
|
|
|
45
|
+
|
|
|
46
|
+ local ok = mysqlUtil:insert(sql)
|
|
|
47
|
+ log.info("add_battle_record sql[%s] ok[%s]", tostring(sql), tostring(ok))
|
|
|
48
|
+ return ok
|
|
|
49
|
+end
|
|
|
50
|
+
|
|
|
51
|
+-- 打包明细
|
|
|
52
|
+function root:pack_item_record_list(data)
|
|
|
53
|
+ local list = {}
|
|
|
54
|
+ if is_empty(data) then
|
|
|
55
|
+ return list
|
|
|
56
|
+ end
|
|
|
57
|
+ for _, v in ipairs(data) do
|
|
|
58
|
+ local info = {
|
|
|
59
|
+ id = tonumber(v.id),
|
|
|
60
|
+ createTime = tonumber(v.createTime),
|
|
|
61
|
+ reason = v.eventId,
|
|
|
62
|
+ itemId = tonumber(v.itemId),
|
|
|
63
|
+ delta = tonumber(v.delta),
|
|
|
64
|
+ remainCount = tonumber(v.remainCount)
|
|
|
65
|
+ }
|
|
|
66
|
+ table.insert(list, info)
|
|
|
67
|
+ end
|
|
|
68
|
+ return list
|
|
|
69
|
+end
|
|
|
70
|
+
|
|
|
71
|
+-- 获取流水记录
|
|
|
72
|
+function root:get_gold_record(uid, lastTime)
|
|
|
73
|
+ if is_empty(uid) then
|
|
|
74
|
+ return
|
|
|
75
|
+ end
|
|
|
76
|
+ lastTime = lastTime or timeUtil.now()
|
|
|
77
|
+ local count = 20
|
|
|
78
|
+ local sql =
|
|
|
79
|
+ string.format(
|
|
|
80
|
+ "SELECT * FROM `mdl_itemrecord` WHERE `uid`=%s and (`itemId`=%s or `itemId`=%s) `createTime`<%s ORDER BY createTime DESC limit %s",
|
|
|
81
|
+ tostring(uid),
|
|
|
82
|
+ tostring(gameConst.ITEM_ID.GOLD),
|
|
|
83
|
+ tostring(gameConst.ITEM_ID.DIAMOND),
|
|
|
84
|
+ tostring(lastTime),
|
|
|
85
|
+ tostring(count)
|
|
|
86
|
+ )
|
|
|
87
|
+ local ok, ret = mysqlUtil:select(sql)
|
|
|
88
|
+ if not ok or is_empty(ret) then
|
|
|
89
|
+ return
|
|
|
90
|
+ end
|
|
|
91
|
+ return self:pack_item_record_list(ret)
|
|
|
92
|
+end
|
|
|
93
|
+
|
|
|
94
|
+-- 获取流水记录
|
|
|
95
|
+function root:get_wapon_record(uid, lastTime)
|
|
|
96
|
+ if is_empty(uid) then
|
|
|
97
|
+ return
|
|
|
98
|
+ end
|
|
|
99
|
+ lastTime = lastTime or timeUtil.now()
|
|
|
100
|
+ local count = 20
|
|
|
101
|
+ local sql =
|
|
|
102
|
+ string.format(
|
|
|
103
|
+ "SELECT * FROM `mdl_itemrecord` WHERE `uid`=%s and `itemId`!=%s and `itemId`!=%s `createTime`<%s ORDER BY createTime DESC limit %s",
|
|
|
104
|
+ tostring(uid),
|
|
|
105
|
+ tostring(gameConst.ITEM_ID.GOLD),
|
|
|
106
|
+ tostring(gameConst.ITEM_ID.DIAMOND),
|
|
|
107
|
+ tostring(lastTime),
|
|
|
108
|
+ tostring(count)
|
|
|
109
|
+ )
|
|
|
110
|
+ local ok, ret = mysqlUtil:select(sql)
|
|
|
111
|
+ if not ok or is_empty(ret) then
|
|
|
112
|
+ return
|
|
|
113
|
+ end
|
|
|
114
|
+ return self:pack_item_record_list(ret)
|
|
|
115
|
+end
|
|
|
116
|
+
|
|
|
117
|
+return root
|