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
await db.query( .map((r) => `\`${r.resource}\` = \`${r.resource}\` + ${r.amount * cycles}`)
"INSERT INTO account_currency (account_id, `" + row.resource + "`) VALUES (?, ?) ON DUPLICATE KEY UPDATE `" + row.resource + "` = `" + row.resource + "` + ?", .join(", ");
[userId, toAdd, toAdd]
); await db.query(
} `INSERT INTO account_currency (account_id)
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