From 09caff2b2a06d1f8ac8203567035a21c612165f9 Mon Sep 17 00:00:00 2001 From: Daniel Weipert Date: Thu, 11 Jan 2024 13:15:02 +0100 Subject: send resources --- src/Model/Event/SendResourcesCarriers.php | 70 +++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 src/Model/Event/SendResourcesCarriers.php (limited to 'src/Model/Event/SendResourcesCarriers.php') diff --git a/src/Model/Event/SendResourcesCarriers.php b/src/Model/Event/SendResourcesCarriers.php new file mode 100644 index 0000000..b6c3772 --- /dev/null +++ b/src/Model/Event/SendResourcesCarriers.php @@ -0,0 +1,70 @@ + $this->id])->fetchAll(); + foreach ($meta as $m) { + $unit = DB::query('select * from village_units where id=:unitId', ['unitId' => $m['unit_id']])->fetch(); + + DB::query('update village_units set amount=amount+:amount where id=:unitId', ['amount' => $m['amount'], 'unitId' => $unit['id']]); + DB::query( + 'update village_units set amount=amount-:amount where type=:unitType and home_village_id=:homeVillageId and residence_village_id=:residenceVillageId and is_traveling=true', + [ + 'amount' => $m['amount'], + 'unitType' => $unit['type'], + 'homeVillageId' => $unit['home_village_id'], + 'residenceVillageId' => $unit['residence_village_id'], + ] + ); + } + } + + public function dbInsert(): void + { + DB::query( + 'insert into events (time, village_id) VALUES (:time, :village_id)', + ['time' => $this->event->time->format('c'), 'village_id' => $this->event->villageId] + ); + $eventId = DB::$connection->lastInsertId(); + + DB::query( + << $eventId, + 'source' => $this->source, + 'destination' => $this->destination, + ] + ); + $sendResourcesCarriersEventId = DB::$connection->lastInsertId(); + + DB::query( + 'update events_meta_send_resources_carriers set event_id=:new_id where event_id=:old_id', + ['old_id' => $this->sendResourcesEventId, 'new_id' => $sendResourcesCarriersEventId] + ); + } + + public function dbDelete(): void + { + DB::query('delete from events where id=:id', ['id' => $this->eventId]); + DB::query('delete from events_send_resources_carriers where id=:id', ['id' => $this->id]); + DB::query('delete from events_meta_send_resources_carriers where event_id=:id', ['id' => $this->id]); + } +} -- cgit v1.2.3