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