update mine
This commit is contained in:
parent
56cfcb2de1
commit
47c1fe4619
@ -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
|
||||
|
||||
Loading…
Reference in New Issue
Block a user