| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- package com.zksy.data.controller;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.zksy.common.domain.Result;
- import com.zksy.common.domain.dto.PageDTO;
- import com.zksy.common.utils.SearchUtil;
- import com.zksy.data.domain.dto.TimeTaskDto;
- import com.zksy.data.domain.po.XhScheduleType;
- import com.zksy.data.domain.po.XhTimeTask;
- import com.zksy.data.service.XhScheduleTypeService;
- import com.zksy.data.service.XhTimeTaskService;
- import com.zksy.data.utils.TaskManager;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import lombok.SneakyThrows;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import java.util.List;
- import java.util.Optional;
- @RestController
- @RequestMapping("/timeTask")
- @Api(tags = "定时任务",description = "定时任务")
- public class TimeTaskController {
- @Autowired
- private TaskManager taskManager;
- @Autowired
- private XhTimeTaskService xhTimeTaskService;
- @Autowired
- private XhScheduleTypeService xhScheduleTypeService;
- @PostMapping("/addTaskForXhSchedule")
- @ApiOperation("添加定时任务")
- public Result<String> addTaskForXhSchedule(@RequestBody TimeTaskDto timeTaskDto) {
- return xhTimeTaskService.saveTimeTask(timeTaskDto);
- }
- @PutMapping("/updateAllModifySchedule")
- @ApiOperation("修改所有定时任务")
- //前端会传一个数组来修改进行全量同步
- public Result<String> updateAllModifySchedule(@RequestBody List<XhTimeTask> xhTimeTaskList) {
- System.out.println("xhTimeTaskList:"+xhTimeTaskList);
- xhTimeTaskService.updateBatchById(xhTimeTaskList);
- return Result.ok("修改成功");
- }
- @DeleteMapping("/deleteTask")
- @ApiOperation("删除定时任务")
- public Result<String> deleteTask(@RequestParam String taskName) {
- return xhTimeTaskService.removeTimeTask(taskName);
- }
- @GetMapping("/getAllTask")
- @ApiOperation("获取所有的定时任务")
- public Result<List<XhTimeTask>> getAllTask() {
- return xhTimeTaskService.getAllTask();
- }
- @SneakyThrows
- @GetMapping("/list")
- @ApiOperation("分页获取所有的可以执行的任务")
- public Result<PageDTO<XhTimeTask>> list(@RequestParam Optional<Long> pageNum, @RequestParam Optional<Long> pageSize, @RequestParam Optional<String> conditionJson) {
- long defaultPageNum = 1L;
- long defaultPageSize = 10L;
- String defaultCondition = "";
- Page<XhTimeTask> page = xhTimeTaskService.page(
- new Page<>(pageNum.orElse(defaultPageNum), pageSize.orElse(defaultPageSize)),
- SearchUtil.parseWhereSql(conditionJson.orElse(defaultCondition))
- );
- PageDTO<XhTimeTask> dto = PageDTO.of(page, XhTimeTask.class);
- return Result.ok(dto);
- }
- @GetMapping("/getAllTaskType")
- @ApiOperation("获取所有的定时任务类型")
- public Result<List<XhScheduleType>> getAllTaskType() {
- return Result.ok(xhScheduleTypeService.list());
- }
- @GetMapping("/allRunningTask")
- @ApiOperation("获取所有正在执行的定时任务")
- public String allTask() {
- return taskManager.getTaskMap().toString();
- }
- @GetMapping("/taskStatus")
- @ApiOperation("获取指定任务的状态")
- public String taskStatus(@RequestParam String taskId) {
- return taskManager.getTaskStatus(taskId).toString();
- }
- @GetMapping("/stopAll")
- @ApiOperation("暂停所有定时任务")
- public Result<String> stopAll() {
- return xhTimeTaskService.stopAllTasks();
- }
- }
|