From b7f86551099eb5d90196e3361e5d202a595eb88d Mon Sep 17 00:00:00 2001 From: Hide_D Date: Sun, 22 May 2022 01:01:26 +0900 Subject: [PATCH] WIP --- hwe/sammo/Auction.php | 46 ++++++++++++++++++++++++++++ hwe/sammo/DTO/AuctionBidItem.php | 38 +++++++++++++++++++++++ hwe/sammo/DTO/AuctionBidItemData.php | 10 ++++++ hwe/sammo/DTO/AuctionInfo.php | 28 +++++++++++++++++ hwe/sammo/Enums/ResourceType.php | 9 ++++++ 5 files changed, 131 insertions(+) create mode 100644 hwe/sammo/Auction.php create mode 100644 hwe/sammo/DTO/AuctionBidItem.php create mode 100644 hwe/sammo/DTO/AuctionBidItemData.php create mode 100644 hwe/sammo/DTO/AuctionInfo.php create mode 100644 hwe/sammo/Enums/ResourceType.php diff --git a/hwe/sammo/Auction.php b/hwe/sammo/Auction.php new file mode 100644 index 00000000..78169f1e --- /dev/null +++ b/hwe/sammo/Auction.php @@ -0,0 +1,46 @@ +invalidateCacheValue(self::LAST_AUCTION_ID_KEY); + $auctionID = ($gameStor->getValue(self::LAST_AUCTION_ID_KEY) ?? 0) + 1; + + $gameStor->setValue(self::LAST_AUCTION_ID_KEY, $auctionID); + + return $auctionID; + } + + + static public function openAuction(AuctionInfo $info) + { + $db = DB::db(); + $auctionID = $info->id; + $auctionStor = KVStorage::getStorage($db, 'auction'); + $auctionStor->setValue("id_{$auctionID}", $info->toArray()); + } + + public function __construct(private readonly int $auctionID) + { + $db = DB::db(); + $auctionStor = KVStorage::getStorage($db, 'auction'); + $rawBettingInfo = $auctionStor->getValue("id_{$auctionID}"); + if ($rawBettingInfo === null) { + throw new \RuntimeException("해당 경매가 없습니다: {$auctionID}"); + } + $this->info = new AuctionInfo($rawBettingInfo); + } +} diff --git a/hwe/sammo/DTO/AuctionBidItem.php b/hwe/sammo/DTO/AuctionBidItem.php new file mode 100644 index 00000000..185cc37a --- /dev/null +++ b/hwe/sammo/DTO/AuctionBidItem.php @@ -0,0 +1,38 @@ +data); + return $result; + } +} \ No newline at end of file diff --git a/hwe/sammo/DTO/AuctionBidItemData.php b/hwe/sammo/DTO/AuctionBidItemData.php new file mode 100644 index 00000000..5d065ddb --- /dev/null +++ b/hwe/sammo/DTO/AuctionBidItemData.php @@ -0,0 +1,10 @@ +