// +---------------------------------------------------------------------- namespace crmeb\listens; use app\common\model\user\AwardIntegralPrice; use app\common\repositories\user\AwardIntegralPriceRepository; use crmeb\interfaces\ListenerInterface; use crmeb\services\TimerService; class AutoSavePriceListen extends TimerService implements ListenerInterface { public function handle($event): void { //TODO 自动清除积分 $this->tick(1000 * 30, function () { //如果没有昨天的价格,就保存 $day = date('Y-m-d', strtotime('-1 day')); $service = app()->make(AwardIntegralPriceRepository::class); $yesterday = $service->awardIntegralPrice($day); // @file_put_contents('yesterday.txt', json_encode($yesterday) . PHP_EOL, FILE_APPEND); if (!isset($yesterday['basePrice'])) { return; } $service->setPrice($day, $yesterday['price'], $yesterday['commission'], $yesterday['achievement'], $yesterday['num']); }); } }