This commit is contained in:
aozhiwei 2021-11-30 17:57:34 +08:00
parent 404cc97468
commit 324985ddb3
2 changed files with 24 additions and 6 deletions

View File

@ -129,6 +129,7 @@ class ShopController extends BaseAuthedController {
$this->internalAddItem($itemMeta); $this->internalAddItem($itemMeta);
$awardService = new services\AwardService(); $awardService = new services\AwardService();
$awardService->addItem($itemId, $itemNum); $awardService->addItem($itemId, $itemNum);
ShopBuyRecord::add($itemId, $itemNum);
$this->rspData(array( $this->rspData(array(
'award' => $awardService->toDto(), 'award' => $awardService->toDto(),
'property_chg' => array( 'property_chg' => array(
@ -221,9 +222,4 @@ class ShopController extends BaseAuthedController {
} }
} }
private function updateBuyRecord($itemId, $itemNum)
{
}
} }

View File

@ -20,6 +20,28 @@ class ShopBuyRecord extends BaseModel {
return $row; 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) public static function toDto($row)
{ {
return array( return array(
@ -42,7 +64,7 @@ class ShopBuyRecord extends BaseModel {
return "CASE WHEN (${cond}) THEN this_day_buy_times + 1 ELSE 0 END"; return "CASE WHEN (${cond}) THEN this_day_buy_times + 1 ELSE 0 END";
}, },
'this_week_buy_times' => function () { 'this_week_buy_times' => function () {
$mondaySeconds = myself()->_getNowDaySeconds(); $mondaySeconds = myself()->_getMondaySeconds();
$cond = " last_buy_time>=${mondaySeconds} AND last_buy_time<=${mondaySeconds} + 3600 * 24 * 7 "; $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"; return "CASE WHEN (${cond}) THEN this_week_buy_times + 1 ELSE 0 END";
}, },