update mine

This commit is contained in:
Cay 2026-03-16 13:01:08 +00:00
parent 56cfcb2de1
commit 47c1fe4619

View File

@ -145,14 +145,18 @@ router.post("/:buildingId/collect", auth, async (req, res) => {
}); });
} }
// Ressourcen gutschreiben // ── Alle Ressourcen atomar in EINEM Query schreiben ──────────────
for (const row of rows) { // Verhindert inkonsistente Zustände bei Verbindungsabbrüchen
const toAdd = row.amount * cycles; const setClauses = rows
.map((r) => `\`${r.resource}\` = \`${r.resource}\` + ${r.amount * cycles}`)
.join(", ");
await db.query( await db.query(
"INSERT INTO account_currency (account_id, `" + row.resource + "`) VALUES (?, ?) ON DUPLICATE KEY UPDATE `" + row.resource + "` = `" + row.resource + "` + ?", `INSERT INTO account_currency (account_id)
[userId, toAdd, toAdd] VALUES (?)
ON DUPLICATE KEY UPDATE ${setClauses}`,
[userId]
); );
}
// Timer zuruecksetzen: last_collected um genau die abgeschlossenen // Timer zuruecksetzen: last_collected um genau die abgeschlossenen
// Zyklen vorruecken Restsekunden bleiben erhalten, kein Verlust // Zyklen vorruecken Restsekunden bleiben erhalten, kein Verlust