blob: dec0727255002b2d06ec5f66e5e05b27f422d0ec (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
package moe.nea.ledger
import com.google.gson.JsonObject
import java.time.Instant
import java.util.UUID
data class LedgerEntry(
val transactionType: TransactionType,
val timestamp: Instant,
val items: List<ItemChange>,
) {
fun intoJson(profileId: UUID?): JsonObject {
val coinAmount = items.find { it.itemId == ItemId.COINS || it.itemId == ItemId.BITS }?.count
val nonCoins = items.find { it.itemId != ItemId.COINS && it.itemId != ItemId.BITS }
return JsonObject().apply {
addProperty("transactionType", transactionType.name)
addProperty("timestamp", timestamp.toEpochMilli().toString())
addProperty("totalTransactionValue", coinAmount)
addProperty("itemId", nonCoins?.itemId?.string ?: "")
addProperty("itemAmount", nonCoins?.count ?: 0.0)
addProperty("profileId", profileId.toString())
addProperty(
"playerId",
UUIDUtil.getPlayerUUID().toString()
)
}
}
}
|