From ea80b85b335303b7968c959c9613b755309c4550 Mon Sep 17 00:00:00 2001 From: Hide_D Date: Tue, 4 Jul 2023 16:58:27 +0000 Subject: [PATCH] =?UTF-8?q?refac:=20=EA=B0=B1=EC=8B=A0=20=EC=8B=9C=20refre?= =?UTF-8?q?sh=EB=A5=BC=20general=5Faccess=5Flog=EB=A1=9C=20=EC=9D=B4?= =?UTF-8?q?=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hwe/func.php | 22 ++++++++++++++-------- hwe/sammo/General.php | 7 +++++++ 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/hwe/func.php b/hwe/func.php index 4b70d3b5..8b2e7766 100644 --- a/hwe/func.php +++ b/hwe/func.php @@ -5,6 +5,7 @@ namespace sammo; use DateTime; use Ds\Set; use sammo\Enums\AuctionType; +use sammo\Enums\GeneralAccessLogColumn; use sammo\Enums\InheritanceKey; use sammo\Enums\RankColumn; @@ -998,7 +999,8 @@ function increaseRefresh($type = "", $cnt = 1) $generalID = $session->generalID; $userGrade = $session->userGrade; - $date = TimeUtil::now(); + $dateObj = new \DateTimeImmutable(); + $date = TimeUtil::format($dateObj, false); $db = DB::db(); $gameStor = KVStorage::getStorage($db, 'game_env'); @@ -1020,13 +1022,17 @@ function increaseRefresh($type = "", $cnt = 1) $gameStor->refresh = $gameStor->refresh + $cnt; //TODO: +로 증가하는 값은 별도로 분리 - $db->update('general', [ - 'lastrefresh' => $date, - 'con' => $db->sqleval('con + %i', $cnt), - 'connect' => $db->sqleval('connect + %i', $cnt), - 'refcnt' => $db->sqleval('refcnt + %i', $cnt), - 'refresh' => $db->sqleval('refresh + %i', $cnt) - ], 'owner=%i', $userID); + $db->insertUpdate('general_access_log', [ + GeneralAccessLogColumn::generalID->value => $generalID, + GeneralAccessLogColumn::userID->value => $userID, + GeneralAccessLogColumn::lastRefresh->value => $date, + GeneralAccessLogColumn::refreshTotal->value => $db->sqleval('%b + %i', GeneralAccessLogColumn::refreshTotal->value, $cnt), + GeneralAccessLogColumn::refresh->value => $db->sqleval('%b + %i', GeneralAccessLogColumn::refresh->value, $cnt), + ], [ + GeneralAccessLogColumn::lastRefresh->value => $date, + GeneralAccessLogColumn::refreshTotal->value => $db->sqleval('%b + %i', GeneralAccessLogColumn::refreshTotal->value, $cnt), + GeneralAccessLogColumn::refresh->value => $db->sqleval('%b + %i', GeneralAccessLogColumn::refresh->value, $cnt), + ]); $serverPath = __DIR__; diff --git a/hwe/sammo/General.php b/hwe/sammo/General.php index 03b8b7bc..b7a4b7fc 100644 --- a/hwe/sammo/General.php +++ b/hwe/sammo/General.php @@ -4,6 +4,7 @@ namespace sammo; use Ds\Map; use sammo\Command\GeneralCommand; +use sammo\Enums\GeneralAccessLogColumn; use sammo\Enums\InheritanceKey; use sammo\Enums\RankColumn; use sammo\WarUnitTrigger as WarUnitTrigger; @@ -792,6 +793,12 @@ class General implements iAction 'nation_id' => $updateVals['nation'] ], 'general_id = %i', $generalID); $result = true; + + if($this->getNPCType() < 2){ + $db->update('general_access_log', [ + GeneralAccessLogColumn::nationID->value => $updateVals['nation'] + ], '%b = %i', GeneralAccessLogColumn::generalID->value, $generalID); + } } $this->flushUpdateValues(); }