| | |
| | | package com.iailab.module.shasteel.job.controller.admin; |
| | | |
| | | import com.iailab.framework.common.page.PageData; |
| | | import com.iailab.framework.common.pojo.CommonResult; |
| | | import com.iailab.framework.common.pojo.PageResult; |
| | | import com.iailab.framework.common.util.object.BeanUtils; |
| | | import com.iailab.framework.common.util.validation.ValidationUtils; |
| | | import com.iailab.framework.common.validation.group.AddGroup; |
| | | import com.iailab.framework.common.validation.group.DefaultGroup; |
| | | import com.iailab.framework.common.validation.group.UpdateGroup; |
| | | import com.iailab.framework.tenant.core.context.TenantContextHolder; |
| | | import com.iailab.module.shasteel.job.dto.ScheduleJobDTO; |
| | | import com.iailab.module.shasteel.job.entity.ScheduleJobEntity; |
| | | import com.iailab.module.shasteel.job.service.ScheduleJobService; |
| | | import com.iailab.module.shasteel.job.vo.ScheduleJobReqVO; |
| | | import io.swagger.v3.oas.annotations.Operation; |
| | | import io.swagger.v3.oas.annotations.tags.Tag; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Map; |
| | | |
| | | import static com.iailab.framework.common.pojo.CommonResult.success; |
| | | |
| | |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/shasteel/job/schedule") |
| | | @Tag(name = "定时任务") |
| | | public class ScheduleJobController { |
| | | @Resource |
| | | @Autowired |
| | | private ScheduleJobService scheduleJobService; |
| | | |
| | | @GetMapping("page") |
| | | @Operation(summary = "分页") |
| | | @PreAuthorize("@ss.hasPermission('shasteel:schedule:query')") |
| | | public CommonResult<PageResult<ScheduleJobDTO>> page(@Validated ScheduleJobReqVO reqVO){ |
| | | reqVO.setTenantId(TenantContextHolder.getTenantId()); |
| | | PageResult<ScheduleJobEntity> page = scheduleJobService.page(reqVO); |
| | | @PreAuthorize("@ss.hasPermission('shasteel:job:query')") |
| | | public CommonResult<PageData<ScheduleJobDTO>> page(@RequestParam Map<String, Object> params){ |
| | | PageData<ScheduleJobDTO> page = scheduleJobService.page(params); |
| | | |
| | | return success(BeanUtils.toBean(page, ScheduleJobDTO.class)); |
| | | return success(page); |
| | | } |
| | | |
| | | @GetMapping("info") |
| | | @Operation(summary = "信息") |
| | | @PreAuthorize("@ss.hasPermission('shasteel:schedule:query')") |
| | | public CommonResult<ScheduleJobDTO> info(@RequestParam("id") Long id){ |
| | | @GetMapping("{id}") |
| | | @PreAuthorize("@ss.hasPermission('shasteel:job:query')") |
| | | public CommonResult<ScheduleJobDTO> info(@PathVariable("id") Long id){ |
| | | ScheduleJobDTO schedule = scheduleJobService.get(id); |
| | | |
| | | return new CommonResult<ScheduleJobDTO>().setData(schedule); |
| | | return success(schedule); |
| | | } |
| | | |
| | | @PostMapping("/create") |
| | | @Operation(summary = "保存") |
| | | @PreAuthorize("@ss.hasPermission('shasteel:schedule:create')") |
| | | @PostMapping |
| | | @PreAuthorize("@ss.hasPermission('shasteel:job:create')") |
| | | public CommonResult save(@RequestBody ScheduleJobDTO dto){ |
| | | ValidationUtils.validate(dto, AddGroup.class, DefaultGroup.class); |
| | | |
| | | scheduleJobService.save(dto); |
| | | |
| | | return new CommonResult(); |
| | | return success(); |
| | | } |
| | | |
| | | @PutMapping("/update") |
| | | @Operation(summary = "修改") |
| | | @PreAuthorize("@ss.hasPermission('shasteel:schedule:update')") |
| | | @PutMapping |
| | | @PreAuthorize("@ss.hasPermission('shasteel:job:update')") |
| | | public CommonResult update(@RequestBody ScheduleJobDTO dto){ |
| | | ValidationUtils.validate(dto, UpdateGroup.class, DefaultGroup.class); |
| | | |
| | | scheduleJobService.update(dto); |
| | | |
| | | return new CommonResult(); |
| | | return success(); |
| | | } |
| | | |
| | | @DeleteMapping("/delete") |
| | | @Operation(summary = "删除") |
| | | @PreAuthorize("@ss.hasPermission('shasteel:schedule:delete')") |
| | | public CommonResult delete(@RequestParam("id") Long id){ |
| | | scheduleJobService.deleteBatch(id); |
| | | |
| | | return new CommonResult(); |
| | | @DeleteMapping |
| | | @PreAuthorize("@ss.hasPermission('shasteel:job:delete')") |
| | | public CommonResult delete(@RequestParam Long id){ |
| | | scheduleJobService.deleteById(id); |
| | | |
| | | return success(); |
| | | } |
| | | |
| | | @PutMapping("/run") |
| | | @Operation(summary = "立即执行") |
| | | public CommonResult run(@RequestParam("id") Long id){ |
| | | Long[] ids = new Long[1]; |
| | | ids[0] = id; |
| | | scheduleJobService.run(ids); |
| | | scheduleJobService.run(id); |
| | | |
| | | return new CommonResult(); |
| | | return success(); |
| | | } |
| | | |
| | | @PutMapping("/pause") |
| | | @Operation(summary = "暂停") |
| | | public CommonResult pause(@RequestParam("id") Long id){ |
| | | Long[] ids = new Long[1]; |
| | | ids[0] = id; |
| | | scheduleJobService.pause(ids); |
| | | |
| | | return new CommonResult(); |
| | | return success(); |
| | | } |
| | | |
| | | @PutMapping("/resume") |
| | | @Operation(summary = "恢复") |
| | | public CommonResult resume(@RequestParam("id") Long id){ |
| | | Long[] ids = new Long[1]; |
| | | ids[0] = id; |
| | | scheduleJobService.resume(ids); |
| | | |
| | | return new CommonResult(); |
| | | return success(); |
| | | } |
| | | |
| | | } |