From e5ba980865a890ec5aba89239b60afebec506100 Mon Sep 17 00:00:00 2001 From: Hide_D Date: Fri, 10 Jun 2022 00:38:34 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EC=A2=85=EB=A3=8C=EB=90=9C=20=EC=9C=A0?= =?UTF-8?q?=EB=8B=88=ED=81=AC=20=EA=B2=BD=EB=A7=A4=20=EC=9E=85=EC=B0=B0?= =?UTF-8?q?=EC=8B=9C=20=EB=B2=84=EA=B7=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hwe/sammo/AuctionUniqueItem.php | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/hwe/sammo/AuctionUniqueItem.php b/hwe/sammo/AuctionUniqueItem.php index 1e95c903..b6238cbb 100644 --- a/hwe/sammo/AuctionUniqueItem.php +++ b/hwe/sammo/AuctionUniqueItem.php @@ -129,6 +129,10 @@ class AuctionUniqueItem extends Auction public function bid(int $amount, bool $tryExtendCloseDate): ?string { + if($this->info->finished){ + return '경매가 종료되었습니다.'; + } + $db = DB::db(); /** @var AuctionInfo[] */ $openUniqueAuctions = array_map(fn ($raw) => AuctionInfo::fromArray($raw), $db->query( @@ -140,18 +144,25 @@ class AuctionUniqueItem extends Auction foreach ($openUniqueAuctions as $auction) { $auctionIDList[] = $auction->id; } + $db = DB::db(); - $rawHighestBids = Util::convertArrayToDict($db->query( - 'SELECT bid.* FROM `ng_auction_bid` bid INNER JOIN ( - SELECT `auction_id`, MAX(`amount`) as `max_amount` - FROM `ng_auction_bid` - WHERE `auction_id` IN %li - GROUP BY `auction_id` - ORDER BY `amount` - ) AS max_bid - ON bid.`auction_id` = max_bid.`auction_id` AND bid.`amount` = max_bid.`max_amount`', - $auctionIDList, - ) ?? [], 'auction_id'); + if($auctionIDList){ + $rawHighestBids = Util::convertArrayToDict($db->query( + 'SELECT bid.* FROM `ng_auction_bid` bid INNER JOIN ( + SELECT `auction_id`, MAX(`amount`) as `max_amount` + FROM `ng_auction_bid` + WHERE `auction_id` IN %li + GROUP BY `auction_id` + ORDER BY `amount` + ) AS max_bid + ON bid.`auction_id` = max_bid.`auction_id` AND bid.`amount` = max_bid.`max_amount`', + $auctionIDList, + ) ?? [], 'auction_id'); + } + else{ + $rawHighestBids = []; + } + /** @var array */ $highestBids = Util::mapWithKey( fn ($auctionID, $bid) => AuctionBidItem::fromArray($bid),