managers = collect(); } /** * Execute the console command. * * @return int */ public function service(): int { try { $db = DBUtil::instance(); $db->beginTransaction(); $targets = $this->getTargets(); $this->outputInfo(sprintf("取得対象 %d件", $targets->count())); // データハンドリング foreach ($targets as $data) { $this->handleData($data); } $db->commit(); } catch (Exception $e) { $db->rollBack(); throw $e; } return self::RESULTCODE_SUCCESS; } private function getTargets() { $today = DateUtil::now(); $access = SeasonTicketContractSelection::getAccess(); $query = SeasonTicketContractSelection::getQuery() ->whereIn(SeasonTicketContractSelection::FIELD_STATUS, [SelectionStatus::ENTRY_ACCEPTING]) ->whereDate(SeasonTicketContractSelection::FIELD_SELECTION_FINAL_DATE, $today, KintoneRecordQueryOperator::LT); return $access->all($query); } private function handleData(SeasonTicketContractSelection $data) { SetResult::dispatch($data->getRecordId()); } }