setName('seckill_end') ->setDescription('结束过期的秒杀活动'); } protected function execute(Input $input, Output $output) { // 查找已过期的秒杀活动 $ids = SeckillActivity::where([ ['status', '=', SeckillEnum::SECKILL_STATUS_CONDUCT,], ['end_time', '<=', time()] ])->column('id'); // 结束已过期的秒杀活动 if (count($ids)) { SeckillActivity::update([ 'status' => SeckillEnum::SECKILL_STATUS_END ], [ [ 'id', 'in', $ids ] ]); } // 删除商品活动信息表的数据 $goodsActivityIds = GoodsActivity::where([ ['activity_type', '=', ActivityEnum::SECKILL], ['activity_id', 'in', $ids], ])->column('id'); if (count($goodsActivityIds)) { GoodsActivity::destroy($goodsActivityIds); } } }