Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
77b487c326 | ||
|
|
1f5bc1d40d |
@@ -1,7 +1,7 @@
|
|||||||
local DEFAULT_SERVER_BASE = "https://ticket.fse-media.group"
|
local DEFAULT_SERVER_BASE = "https://ticket.fse-media.group"
|
||||||
local DEFAULT_SERVER_PATH = "/api/tickets/check"
|
local DEFAULT_SERVER_PATH = "/api/tickets/check"
|
||||||
local GATE_OPEN_SECONDS = 2
|
local GATE_OPEN_SECONDS = 2
|
||||||
local VERSION = "v1.5.24"
|
local VERSION = "v1.5.26"
|
||||||
local VERSION_CHECK_INTERVAL = 5
|
local VERSION_CHECK_INTERVAL = 5
|
||||||
|
|
||||||
local serverURL = nil
|
local serverURL = nil
|
||||||
@@ -972,19 +972,19 @@ local function updateDeviceField(dev, key, value)
|
|||||||
pcall(dev.updateTicket, key, value)
|
pcall(dev.updateTicket, key, value)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function callTicketStateMethod(dev, methodName)
|
local function callTicketStateMethod(dev, methodName, ...)
|
||||||
if type(dev) ~= "table" then return false end
|
if type(dev) ~= "table" then return false end
|
||||||
local fn = dev[methodName]
|
local fn = dev[methodName]
|
||||||
if type(fn) ~= "function" then return false end
|
if type(fn) ~= "function" then return false end
|
||||||
local okCall, okRes = pcall(fn)
|
local okCall, okRes = pcall(fn, ...)
|
||||||
if not okCall then return false end
|
if not okCall then return false end
|
||||||
return okRes ~= false
|
return okRes ~= false
|
||||||
end
|
end
|
||||||
|
|
||||||
local function applyTicketDeviceState(dev, action, rides)
|
local function applyTicketDeviceState(dev, action, rides, stationCode)
|
||||||
if type(dev) ~= "table" then return end
|
if type(dev) ~= "table" then return end
|
||||||
if action == "entry" then
|
if action == "entry" then
|
||||||
if not callTicketStateMethod(dev, "markEntered") then
|
if not callTicketStateMethod(dev, "markEntered", stationCode) then
|
||||||
updateDeviceField(dev, "entered", true)
|
updateDeviceField(dev, "entered", true)
|
||||||
updateDeviceField(dev, "exited", false)
|
updateDeviceField(dev, "exited", false)
|
||||||
end
|
end
|
||||||
@@ -1003,7 +1003,8 @@ local function applyTicketDeviceState(dev, action, rides)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local function updateICCardField(dev, key, value)
|
local function updateICCardField(dev, key, value)
|
||||||
if type(dev) ~= "table" or type(dev.updateICCard) ~= "function" then return false end
|
if type(dev) ~= "table" then return false end
|
||||||
|
if type(dev.updateICCard) ~= "function" then return true end
|
||||||
local okCall, okRes, detail = pcall(dev.updateICCard, key, value)
|
local okCall, okRes, detail = pcall(dev.updateICCard, key, value)
|
||||||
if not okCall then return false, tostring(okRes) end
|
if not okCall then return false, tostring(okRes) end
|
||||||
if okRes == false then return false, tostring(detail or "update_failed") end
|
if okRes == false then return false, tostring(detail or "update_failed") end
|
||||||
@@ -1255,13 +1256,10 @@ local function handleICCardScan(scan, side, scanDev)
|
|||||||
end
|
end
|
||||||
|
|
||||||
for _, dev in ipairs(inspectionDevs) do
|
for _, dev in ipairs(inspectionDevs) do
|
||||||
|
applyTicketDeviceState(dev, usedAction, nil, exitStation)
|
||||||
if usedAction == "entry" then
|
if usedAction == "entry" then
|
||||||
updateDeviceField(dev, "entered", true)
|
|
||||||
updateDeviceField(dev, "exited", false)
|
|
||||||
if #entryStation > 0 then updateDeviceField(dev, "entry_station", entryStation) end
|
if #entryStation > 0 then updateDeviceField(dev, "entry_station", entryStation) end
|
||||||
else
|
else
|
||||||
updateDeviceField(dev, "exited", true)
|
|
||||||
updateDeviceField(dev, "entered", false)
|
|
||||||
if #exitStation > 0 then updateDeviceField(dev, "exit_station", exitStation) end
|
if #exitStation > 0 then updateDeviceField(dev, "exit_station", exitStation) end
|
||||||
updateDeviceField(dev, "last_fare", fare)
|
updateDeviceField(dev, "last_fare", fare)
|
||||||
end
|
end
|
||||||
@@ -1371,7 +1369,7 @@ local function handleScan(scan, side, scanDev)
|
|||||||
or tonumber(scan.trips_remaining or scan.rides_remaining)
|
or tonumber(scan.trips_remaining or scan.rides_remaining)
|
||||||
or tonumber(scan.rides)
|
or tonumber(scan.rides)
|
||||||
for _, dev in ipairs(inspectionDevs) do
|
for _, dev in ipairs(inspectionDevs) do
|
||||||
applyTicketDeviceState(dev, usedAction, newRides)
|
applyTicketDeviceState(dev, usedAction, newRides, stationCodeForSide(side))
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user