// +---------------------------------------------------------------------- namespace crmeb\listens; use app\common\repositories\store\order\StoreOrderProfitsharingRepository; use crmeb\interfaces\ListenerInterface; use crmeb\jobs\OrderProfitsharingJob; use crmeb\services\TimerService; use think\facade\Queue; class AutoOrderProfitsharingListen extends TimerService implements ListenerInterface { public function handle($event): void { $this->tick(1000 * 60 * 20, function () { request()->clearCache(); $day = (int)systemConfig('sys_refund_timer') ?: 15; $time = strtotime('-' . $day . ' day'); $ids = app()->make(StoreOrderProfitsharingRepository::class)->getAutoProfitsharing(date('Y-m-d H:i:s', $time)); foreach ($ids as $id) { Queue::push(OrderProfitsharingJob::class, $id); } }); } }