| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- --------------------------------
- -- 文件名 : MaiDianLogic.lua
- -- 文件说明 : 埋点处理
- -- 创建时间 : 2024/12/03
- -- 创建人 : FC
- --------------------------------
- local MaiDianDefine = require("MaiDian.MaiDianDefine")
- local Util = require("common.Util")
- local Log = require("common.Log")
- -- 埋点玩家信息
- tMaiDianPlay =
- {
- --[[
- [human.db._id] =
- {
- [类型] = value -- 当前类型所在的值
- }
- ]]
- }
- -- 写日志
- local function MaiDian_WriteLog(sztext)
- Log.write(Log.LOGID_OSS_MAIDIAN, sztext)
- end
- -- 排序
- local function MainDian_Sort(l, r)
- return l.key < r.key
- end
- -- 定时写日志
- function MaiDian_OnTime()
- print("[MaiDian_OnTime] 写日志开始")
- if not tMaiDianPlay or not _G.next(tMaiDianPlay) then
- print("[MaiDian_OnTime] 无数据直接返回")
- return
- end
- local tTotalInfo = {}
- -- 先汇总
- for _, tTypeData in pairs(tMaiDianPlay) do
- for nType, v in pairs(tTypeData) do
- if not tTotalInfo[nType] then
- tTotalInfo[nType] = {}
- end
- if not tTotalInfo[nType][v] then
- tTotalInfo[nType][v] = {
- key = v,
- nValue = 0
- }
- end
- tTotalInfo[nType][v].nValue = tTotalInfo[nType][v].nValue + 1
- end
- end
- local tSortData ={}
- for nType, tData in pairs(tTotalInfo) do
- if not tSortData[nType] then
- tSortData[nType] = {}
- end
- for key, v in pairs(tData) do
- table.insert(tSortData[nType], v)
- end
-
- table.sort(tSortData[nType], MainDian_Sort)
- end
- for nType, tData in pairs(tSortData) do
- local sztext = " nType = "..nType.." "
- for key, v in pairs(tData) do
- sztext = sztext.."{"..v.key..","..v.nValue.."},"
- end
- MaiDian_WriteLog(sztext)
- end
- print("[MaiDian_OnTime] 写日志结束 ")
- -- 重置
- tMaiDianPlay = {}
- end
- -- 回调
- function MaiDian_Begin(human, nType, tData)
- if not human or MaiDianDefine.MAIDIAN_TYPE_MIN > nType or MaiDianDefine.MAIDIAN_TYPE_MAX < nType or not tData then
- return
- end
- if "table" ~= type(tData) then
- print("[MaiDian_Begin] 不正确的value")
- return
- end
- local nValue = tData.nValue
- local nHumanID = human.db._id
- if not tMaiDianPlay[nHumanID] then
- tMaiDianPlay[nHumanID] = {}
- end
- tMaiDianPlay[nHumanID][nType] = nValue
- end
|