JobInfoController.java 3.0 KB

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