102 lines
2.5 KiB
Lua
102 lines
2.5 KiB
Lua
OfferStatistic = {}
|
|
OfferStatistic.__index = OfferStatistic
|
|
|
|
SECONDS_PER_DAY = 86400
|
|
|
|
OfferStatistic.new = function(timestamp, t, transactions, totalPrice, highestPrice, lowestPrice)
|
|
local stat = {
|
|
time = 0,
|
|
type = nil,
|
|
transactions = 0,
|
|
totalPrice = 0,
|
|
highestPrice = 0,
|
|
lowestPrice = 0
|
|
}
|
|
stat.time = math.floor(timestamp / SECONDS_PER_DAY) * SECONDS_PER_DAY
|
|
|
|
if t ~= MarketAction.Buy and t ~= MarketAction.Sell then
|
|
g_logger.error('OfferStatistic.new - invalid type provided.')
|
|
end
|
|
stat.type = t
|
|
|
|
stat.transactions = transactions
|
|
stat.totalPrice = totalPrice
|
|
stat.highestPrice = highestPrice
|
|
stat.lowestPrice = lowestPrice
|
|
|
|
setmetatable(stat, OfferStatistic)
|
|
return stat
|
|
end
|
|
|
|
function OfferStatistic:isNull()
|
|
return self.time == 0 or not self.type
|
|
end
|
|
|
|
-- Sets/Gets
|
|
|
|
function OfferStatistic:setTime(time)
|
|
if not time or type(time) ~= 'number' then
|
|
g_logger.error('OfferStatistic.setTime - invalid time provided.')
|
|
end
|
|
self.time = time
|
|
end
|
|
|
|
function OfferStatistic:getTime()
|
|
return self.time
|
|
end
|
|
|
|
function OfferStatistic:setType(t)
|
|
if not t or type(t) ~= 'number' then
|
|
g_logger.error('OfferStatistic.setType - invalid type provided.')
|
|
end
|
|
self.type = t
|
|
end
|
|
|
|
function OfferStatistic:getType()
|
|
return self.type
|
|
end
|
|
|
|
function OfferStatistic:setTransactions(transactions)
|
|
if not transactions or type(transactions) ~= 'number' then
|
|
g_logger.error('OfferStatistic.setTransactions - invalid transactions provided.')
|
|
end
|
|
self.transactions = transactions
|
|
end
|
|
|
|
function OfferStatistic:getTransactions()
|
|
return self.transactions
|
|
end
|
|
|
|
function OfferStatistic:setTotalPrice(amount)
|
|
if not totalPrice or type(totalPrice) ~= 'number' then
|
|
g_logger.error('OfferStatistic.setTotalPrice - invalid total price provided.')
|
|
end
|
|
self.totalPrice = totalPrice
|
|
end
|
|
|
|
function OfferStatistic:getTotalPrice()
|
|
return self.totalPrice
|
|
end
|
|
|
|
function OfferStatistic:setHighestPrice(highestPrice)
|
|
if not highestPrice or type(highestPrice) ~= 'number' then
|
|
g_logger.error('OfferStatistic.setHighestPrice - invalid highestPrice provided.')
|
|
end
|
|
self.highestPrice = highestPrice
|
|
end
|
|
|
|
function OfferStatistic:getHighestPrice()
|
|
return self.highestPrice
|
|
end
|
|
|
|
function OfferStatistic:setLowestPrice(lowestPrice)
|
|
if not lowestPrice or type(lowestPrice) ~= 'number' then
|
|
g_logger.error('OfferStatistic.setLowestPrice - invalid lowestPrice provided.')
|
|
end
|
|
self.lowestPrice = lowestPrice
|
|
end
|
|
|
|
function OfferStatistic:getLowestPrice()
|
|
return self.lowestPrice
|
|
end
|