JobInfoController.java 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package com.xxl.job.admin.controller;
  2. import com.xxl.job.admin.core.enums.ExecutorFailStrategyEnum;
  3. import com.xxl.job.admin.core.model.XxlJobGroup;
  4. import com.xxl.job.admin.core.model.XxlJobInfo;
  5. import com.xxl.job.admin.core.route.ExecutorRouteStrategyEnum;
  6. import com.xxl.job.admin.dao.XxlJobGroupDao;
  7. import com.xxl.job.admin.service.IXxlJobService;
  8. import com.xxl.job.core.biz.model.ReturnT;
  9. import com.xxl.job.core.enums.ExecutorBlockStrategyEnum;
  10. import com.xxl.job.core.glue.GlueTypeEnum;
  11. import org.springframework.stereotype.Controller;
  12. import org.springframework.ui.Model;
  13. import org.springframework.web.bind.annotation.RequestMapping;
  14. import org.springframework.web.bind.annotation.RequestParam;
  15. import org.springframework.web.bind.annotation.ResponseBody;
  16. import javax.annotation.Resource;
  17. import java.util.List;
  18. import java.util.Map;
  19. /**
  20. * index controller
  21. * @author xuxueli 2015-12-19 16:13:16
  22. */
  23. @Controller
  24. @RequestMapping("/jobinfo")
  25. public class JobInfoController {
  26. @Resource
  27. private XxlJobGroupDao xxlJobGroupDao;
  28. @Resource
  29. private IXxlJobService xxlJobService;
  30. @RequestMapping
  31. public String index(Model model) {
  32. // 枚举-字典
  33. model.addAttribute("ExecutorRouteStrategyEnum", ExecutorRouteStrategyEnum.values()); // 路由策略-列表
  34. model.addAttribute("GlueTypeEnum", GlueTypeEnum.values()); // Glue类型-字典
  35. model.addAttribute("ExecutorBlockStrategyEnum", ExecutorBlockStrategyEnum.values()); // 阻塞处理策略-字典
  36. model.addAttribute("ExecutorFailStrategyEnum", ExecutorFailStrategyEnum.values()); // 失败处理策略-字典
  37. // 任务组
  38. List<XxlJobGroup> jobGroupList = xxlJobGroupDao.findAll();
  39. model.addAttribute("JobGroupList", jobGroupList);
  40. return "jobinfo/jobinfo.index";
  41. }
  42. @RequestMapping("/pageList")
  43. @ResponseBody
  44. public Map<String, Object> pageList(@RequestParam(required = false, defaultValue = "0") int start,
  45. @RequestParam(required = false, defaultValue = "10") int length,
  46. int jobGroup, String executorHandler, String filterTime) {
  47. return xxlJobService.pageList(start, length, jobGroup, executorHandler, filterTime);
  48. }
  49. @RequestMapping("/add")
  50. @ResponseBody
  51. public ReturnT<String> add(XxlJobInfo jobInfo) {
  52. return xxlJobService.add(jobInfo);
  53. }
  54. @RequestMapping("/reschedule")
  55. @ResponseBody
  56. public ReturnT<String> reschedule(XxlJobInfo jobInfo) {
  57. return xxlJobService.reschedule(jobInfo);
  58. }
  59. @RequestMapping("/remove")
  60. @ResponseBody
  61. public ReturnT<String> remove(int id) {
  62. return xxlJobService.remove(id);
  63. }
  64. @RequestMapping("/pause")
  65. @ResponseBody
  66. public ReturnT<String> pause(int id) {
  67. return xxlJobService.pause(id);
  68. }
  69. @RequestMapping("/resume")
  70. @ResponseBody
  71. public ReturnT<String> resume(int id) {
  72. return xxlJobService.resume(id);
  73. }
  74. @RequestMapping("/trigger")
  75. @ResponseBody
  76. public ReturnT<String> triggerJob(int id) {
  77. return xxlJobService.triggerJob(id);
  78. }
  79. }