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
|
// ── 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
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user