2023-07-14 19:35:33 +00:00
|
|
|
|
--==================
|
|
|
|
|
--成就系统相关配置表
|
|
|
|
|
--模块负责:吕天元
|
|
|
|
|
--==================
|
|
|
|
|
XReviewActivityConfigs = XReviewActivityConfigs or {}
|
|
|
|
|
--================================================================
|
|
|
|
|
-- 配置表地址 --
|
|
|
|
|
--================================================================
|
|
|
|
|
local SHARE_TABLE_PATH = "Share/ReviewActivity/"
|
|
|
|
|
local CLIENT_TABLE_PATH = "Client/ReviewActivity/"
|
|
|
|
|
|
|
|
|
|
local TABLE_REVIEW_ACTIVITY_INFO = CLIENT_TABLE_PATH .. "ReviewActivityInfo.tab"
|
2024-09-01 20:49:41 +00:00
|
|
|
|
local TABLE_REVIEW_ACTIVITY = SHARE_TABLE_PATH .. "ReviewActivity.tab"
|
2023-07-14 19:35:33 +00:00
|
|
|
|
local TABLE_REVIEW_ACTIVITY_PAGE_INFO = CLIENT_TABLE_PATH .. "ReviewActivityPageInfo.tab"
|
|
|
|
|
--=================================================
|
|
|
|
|
--=================================================
|
|
|
|
|
local Configs = {}
|
|
|
|
|
--=============
|
|
|
|
|
--配置表枚举
|
|
|
|
|
--Id : 枚举Id
|
|
|
|
|
--Path : 关联的表地址 (日志中使用)
|
|
|
|
|
--Key : 要检查的字段名 (日志中使用)
|
|
|
|
|
--=============
|
|
|
|
|
XReviewActivityConfigs.TableKey = {
|
|
|
|
|
ReviewActivityInfo = {Id = 1, Path = TABLE_REVIEW_ACTIVITY_INFO}, --回顾活动文本信息
|
|
|
|
|
ReviewActivityPageInfo = {Id = 2, Path = TABLE_REVIEW_ACTIVITY},
|
|
|
|
|
ActivityId2InfoDic = {Id = 3, Path = TABLE_REVIEW_ACTIVITY_INFO, Key = "ActivityId"}, --回顾活动Id对应文本信息列表字典
|
|
|
|
|
ActivityId2PageDic = {Id = 4, Path = TABLE_REVIEW_ACTIVITY_PAGE_INFO, Key = "ActivityId"} --回顾活动Id对应页面内容配置字典
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
XReviewActivityConfigs.ModelType = {
|
|
|
|
|
None = 0,
|
|
|
|
|
TopAbility = 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
XReviewActivityConfigs.ModelTypeName = {
|
|
|
|
|
[0] = "None",
|
|
|
|
|
[1] = "TopAbility",
|
|
|
|
|
}
|
|
|
|
|
--=============
|
|
|
|
|
--初始化ActivityId -> 文本信息列表字典
|
|
|
|
|
--=============
|
|
|
|
|
local InitActivityId2InfoDic = function()
|
|
|
|
|
local tableId = XReviewActivityConfigs.TableKey.ActivityId2InfoDic.Id
|
|
|
|
|
Configs[tableId] = {}
|
|
|
|
|
for _, cfg in pairs (XReviewActivityConfigs.GetAllConfigs(XReviewActivityConfigs.TableKey.ReviewActivityInfo) or {}) do
|
|
|
|
|
local activityId = cfg.ActivityId
|
|
|
|
|
local page = cfg.Page
|
|
|
|
|
if not Configs[tableId][activityId] then Configs[tableId][activityId] = {} end
|
|
|
|
|
local pageDic = Configs[tableId][activityId]
|
|
|
|
|
if not pageDic[page] then pageDic[page] = {} end
|
|
|
|
|
table.insert(pageDic[page], cfg)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local InitActivityId2PageDic = function()
|
|
|
|
|
local tableId = XReviewActivityConfigs.TableKey.ActivityId2PageDic.Id
|
|
|
|
|
Configs[tableId] = {}
|
|
|
|
|
for _, cfg in pairs (XReviewActivityConfigs.GetAllConfigs(XReviewActivityConfigs.TableKey.ReviewActivityPageInfo) or {}) do
|
|
|
|
|
local activityId = cfg.ActivityId
|
|
|
|
|
local page = cfg.Page
|
|
|
|
|
if not Configs[tableId][activityId] then Configs[tableId][activityId] = {} end
|
|
|
|
|
Configs[tableId][activityId][page] = cfg
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
--=============
|
|
|
|
|
--初始化所有配置表和字典
|
|
|
|
|
--=============
|
|
|
|
|
function XReviewActivityConfigs.Init()
|
|
|
|
|
Configs[XReviewActivityConfigs.TableKey.ReviewActivityInfo.Id] = XTableManager.ReadByIntKey(TABLE_REVIEW_ACTIVITY_INFO, XTable.XTableReviewActivityInfo, "Id")
|
|
|
|
|
--Configs[XReviewActivityConfigs.TableKey.ReviewActivity.Id] = XTableManager.ReadByIntKey(TABLE_REVIEW_ACTIVITY, XTable.XTableReviewActivity, "Id")
|
|
|
|
|
Configs[XReviewActivityConfigs.TableKey.ReviewActivityPageInfo.Id] = XTableManager.ReadByIntKey(TABLE_REVIEW_ACTIVITY_PAGE_INFO, XTable.XTableReviewActivityPageInfo, "Id")
|
|
|
|
|
InitActivityId2InfoDic()
|
|
|
|
|
InitActivityId2PageDic()
|
|
|
|
|
end
|
|
|
|
|
--=============
|
|
|
|
|
--给定配置表Key,获取该配置表全部配置
|
|
|
|
|
--@tableKey : XReviewActivityConfigs.TableKey枚举项
|
|
|
|
|
--=============
|
|
|
|
|
function XReviewActivityConfigs.GetAllConfigs(tableKey)
|
|
|
|
|
if not tableKey or not tableKey.Id then
|
|
|
|
|
XLog.Error("The tableKey given is not exist. tableKey : " .. tostring(tableKey))
|
|
|
|
|
return {}
|
|
|
|
|
end
|
|
|
|
|
return Configs[tableKey.Id]
|
|
|
|
|
end
|
|
|
|
|
--=============
|
|
|
|
|
--给定配置表Key和Id,获取该配置表指定Id的配置
|
|
|
|
|
--@params:
|
|
|
|
|
--tableKey : XReviewActivityConfigs.TableKey枚举项
|
|
|
|
|
--idKey : 该配置表的主键Id或Key
|
|
|
|
|
--noTips : 若没有查找到对应项,是否要打印错误日志
|
|
|
|
|
--=============
|
|
|
|
|
function XReviewActivityConfigs.GetCfgByIdKey(tableKey, idKey, noTips)
|
|
|
|
|
if not tableKey or not idKey then
|
|
|
|
|
if not noTips then
|
|
|
|
|
XLog.Error("XReviewActivityConfigs.GetCfgByIdKey error: tableKey or idKey is null!")
|
|
|
|
|
end
|
|
|
|
|
return {}
|
|
|
|
|
end
|
|
|
|
|
local allCfgs = XReviewActivityConfigs.GetAllConfigs(tableKey)
|
|
|
|
|
if not allCfgs then
|
|
|
|
|
return {}
|
|
|
|
|
end
|
|
|
|
|
local cfg = allCfgs[idKey]
|
|
|
|
|
if not cfg then
|
|
|
|
|
if not noTips then
|
|
|
|
|
XLog.ErrorTableDataNotFound(
|
|
|
|
|
"XReviewActivityConfigs.GetCfgByIdKey",
|
|
|
|
|
tableKey.Key or "唯一Id",
|
|
|
|
|
tableKey.Path,
|
|
|
|
|
tableKey.Key or "唯一Id",
|
|
|
|
|
tostring(idKey))
|
|
|
|
|
end
|
|
|
|
|
return {}
|
|
|
|
|
end
|
|
|
|
|
return cfg
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function XReviewActivityConfigs.GetTotlePageNum(activityId)
|
|
|
|
|
local pages = XReviewActivityConfigs.GetCfgByIdKey(
|
|
|
|
|
XReviewActivityConfigs.TableKey.ActivityId2PageDic,
|
|
|
|
|
activityId
|
|
|
|
|
)
|
|
|
|
|
return pages and #pages or 0
|
|
|
|
|
end
|