isAjax()) { $param = request()->all(); $taskService = new TaskService(); $res = $taskService->getList($param); return sparkSuccess($res); } return view('task/index'); } /** * 创建任务 */ public function add() { if (request()->isAjaxPost()) { $param = request()->post(); $param['type'] = 3; $param['frequency'] = $this->getTimerStr($param['frequency']); $param['remark'] = ''; $expressService = new TaskService(); $res = $expressService->addTask($param); return sparkSuccess($res); } return view('task/add'); } /** * 编辑任务 */ public function edit() { if (request()->isAjaxPost()) { $param = request()->post(); $expressService = new TaskService(); $res = $expressService->editTask($param); return sparkSuccess($res); } } /** * 删除任务 */ public function del() { $id = request()->input('id'); $setExpressModel = new CrontabTask(); $setExpressModel->delById($id); return sparkSuccess(dataReturn(0, '删除成功')); } /** * 重启服务 */ public function reload() { SparkTools::reloadWebman(); return sparkSuccess([]); } /** * 执行日志 */ public function flow() { $param = request()->all(); $taskService = new TaskService(); $res = $taskService->getFlowList($param); return sparkSuccess($res); } public function getTimerStr($data): string { $timeStr = ''; switch ($data['type']) { case 1: $timeStr = '*/' . $data['second'] . ' * * * * *'; break; case 2: $timeStr = '0 */' . $data['minute'] . ' * * * *'; break; case 3: $timeStr = '0 0 */' . $data['hour'] . ' * * *'; break; case 4: $timeStr = '0 0 0 */' . $data['day'] . ' * *'; break; case 5: $timeStr = $data['second'] . ' ' . $data['minute'] . ' ' . $data['hour'] . ' * * *'; break; case 6: $timeStr = $data['second'] . ' ' . $data['minute'] . ' ' . $data['hour'] . ' * * ' . ($data['week'] == 7 ? 0 : $data['week']); break; case 7: $timeStr = $data['second'] . ' ' . $data['minute'] . ' ' . $data['hour'] . ' ' . $data['day'] . ' * *'; break; } return $timeStr; } }