diff --git a/webapp/controller/ShopController.class.php b/webapp/controller/ShopController.class.php index 49f69eb..b1f26dd 100644 --- a/webapp/controller/ShopController.class.php +++ b/webapp/controller/ShopController.class.php @@ -129,6 +129,7 @@ class ShopController extends BaseAuthedController { $this->internalAddItem($itemMeta); $awardService = new services\AwardService(); $awardService->addItem($itemId, $itemNum); + ShopBuyRecord::add($itemId, $itemNum); $this->rspData(array( 'award' => $awardService->toDto(), 'property_chg' => array( @@ -221,9 +222,4 @@ class ShopController extends BaseAuthedController { } } - private function updateBuyRecord($itemId, $itemNum) - { - - } - } diff --git a/webapp/models/ShopBuyRecord.php b/webapp/models/ShopBuyRecord.php index 162ca22..c18a9e5 100644 --- a/webapp/models/ShopBuyRecord.php +++ b/webapp/models/ShopBuyRecord.php @@ -20,6 +20,28 @@ class ShopBuyRecord extends BaseModel { return $row; } + public static function all() + { + $rows = SqlHelper::ormSelect( + myself()->_getSelfMysql(), + 't_shop_buy_record', + array( + 'account_id' => myself()->_getAccountId(), + ) + ); + return array_map($rows, function($val) { + $nowDaySeconds = myself()->_getNowDaySeconds(); + if (!($row['last_buy_time'] >= $nowDaySeconds && $row['last_buy_time'] <= $nowDaySeconds)) { + $val['this_day_buy_times'] = 0; + } + $mondaySeconds = myself()->_getMondaySeconds(); + if (!($row['last_buy_time'] >= $mondaySeconds && $row['last_buy_time'] <= $mondaySeconds)) { + $val['this_week_buy_times'] = 0; + } + return $val; + }); + } + public static function toDto($row) { return array( @@ -42,7 +64,7 @@ class ShopBuyRecord extends BaseModel { return "CASE WHEN (${cond}) THEN this_day_buy_times + 1 ELSE 0 END"; }, 'this_week_buy_times' => function () { - $mondaySeconds = myself()->_getNowDaySeconds(); + $mondaySeconds = myself()->_getMondaySeconds(); $cond = " last_buy_time>=${mondaySeconds} AND last_buy_time<=${mondaySeconds} + 3600 * 24 * 7 "; return "CASE WHEN (${cond}) THEN this_week_buy_times + 1 ELSE 0 END"; },