refactor(id生成): 提取公共数字编码生成函数简化逻辑

将原有的分散在generateCardId和generateTicketId中的ID生成逻辑统一调用通用函数,同时调整工单ID的前缀为固定TK。
This commit is contained in:
2026-06-28 16:54:07 +08:00
parent 07e4200c17
commit ef9926dc58
+9 -8
View File
@@ -541,9 +541,15 @@ local function buildFinalCardData(payload, respData)
} }
end end
local function generateNumericCode(prefix, digits)
local width = math.max(1, math.floor(tonumber(digits) or 1))
local maxValue = (10 ^ width) - 1
local num = string.format('%0' .. tostring(width) .. 'd', math.random(0, maxValue))
return tostring(prefix or 'ID'):upper() .. '-' .. num
end
local function generateCardId() local function generateCardId()
local num = string.format('%06d', math.random(0, 999999)) return generateNumericCode('IC', 6)
return 'IC-' .. num
end end
local function issueTicketFromPeripheral(fromNameEnArg, toNameEnArg, apiType, rides, cost, startStationArg, terminalStationArg, fromNameCnUArg, toNameCnUArg, fallbackTicketId) local function issueTicketFromPeripheral(fromNameEnArg, toNameEnArg, apiType, rides, cost, startStationArg, terminalStationArg, fromNameCnUArg, toNameCnUArg, fallbackTicketId)
@@ -2002,12 +2008,7 @@ local function showPrePrintCheck()
end end
local function generateTicketId() local function generateTicketId()
local function randLetter() return generateNumericCode('TK', 8)
return string.char(string.byte('A') + math.random(0, 25))
end
local prefix = randLetter() .. randLetter()
local num = string.format('%08d', math.random(0, 99999999))
return prefix .. '-' .. num
end end
local function ensureTicketIdFormat(id) local function ensureTicketIdFormat(id)