JobGroupController.java 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. package com.xxl.job.admin.controller;
  2. import com.xxl.job.admin.core.model.XxlJobGroup;
  3. import com.xxl.job.admin.dao.XxlJobGroupDao;
  4. import com.xxl.job.admin.dao.XxlJobInfoDao;
  5. import com.xxl.job.core.biz.model.ReturnT;
  6. import org.apache.commons.lang3.StringUtils;
  7. import org.springframework.stereotype.Controller;
  8. import org.springframework.ui.Model;
  9. import org.springframework.web.bind.annotation.RequestMapping;
  10. import org.springframework.web.bind.annotation.ResponseBody;
  11. import javax.annotation.Resource;
  12. import java.util.List;
  13. /**
  14. * job group controller
  15. * @author xuxueli 2016-10-02 20:52:56
  16. */
  17. @Controller
  18. @RequestMapping("/jobgroup")
  19. public class JobGroupController {
  20. @Resource
  21. public XxlJobInfoDao xxlJobInfoDao;
  22. @Resource
  23. public XxlJobGroupDao xxlJobGroupDao;
  24. @RequestMapping
  25. public String index(Model model) {
  26. // job group (executor)
  27. List<XxlJobGroup> list = xxlJobGroupDao.findAll();
  28. model.addAttribute("list", list);
  29. return "jobgroup/jobgroup.index";
  30. }
  31. @RequestMapping("/save")
  32. @ResponseBody
  33. public ReturnT<String> save(XxlJobGroup xxlJobGroup){
  34. // valid
  35. if (xxlJobGroup.getAppName()==null || StringUtils.isBlank(xxlJobGroup.getAppName())) {
  36. return new ReturnT<String>(500, "请输入AppName");
  37. }
  38. if (xxlJobGroup.getAppName().length()>64) {
  39. return new ReturnT<String>(500, "AppName长度限制为4~64");
  40. }
  41. if (xxlJobGroup.getTitle()==null || StringUtils.isBlank(xxlJobGroup.getTitle())) {
  42. return new ReturnT<String>(500, "请输入名称");
  43. }
  44. if (xxlJobGroup.getAddressType()!=0) {
  45. if (StringUtils.isBlank(xxlJobGroup.getAddressList())) {
  46. return new ReturnT<String>(500, "手动录入注册方式,机器地址不可为空");
  47. }
  48. String[] addresss = xxlJobGroup.getAddressList().split(",");
  49. for (String item: addresss) {
  50. if (StringUtils.isBlank(item)) {
  51. return new ReturnT<String>(500, "机器地址非法");
  52. }
  53. }
  54. }
  55. int ret = xxlJobGroupDao.save(xxlJobGroup);
  56. return (ret>0)?ReturnT.SUCCESS:ReturnT.FAIL;
  57. }
  58. @RequestMapping("/update")
  59. @ResponseBody
  60. public ReturnT<String> update(XxlJobGroup xxlJobGroup){
  61. // valid
  62. if (xxlJobGroup.getAppName()==null || StringUtils.isBlank(xxlJobGroup.getAppName())) {
  63. return new ReturnT<String>(500, "请输入AppName");
  64. }
  65. if (xxlJobGroup.getAppName().length()>64) {
  66. return new ReturnT<String>(500, "AppName长度限制为4~64");
  67. }
  68. if (xxlJobGroup.getTitle()==null || StringUtils.isBlank(xxlJobGroup.getTitle())) {
  69. return new ReturnT<String>(500, "请输入名称");
  70. }
  71. if (xxlJobGroup.getAddressType()!=0) {
  72. if (StringUtils.isBlank(xxlJobGroup.getAddressList())) {
  73. return new ReturnT<String>(500, "手动录入注册方式,机器地址不可为空");
  74. }
  75. String[] addresss = xxlJobGroup.getAddressList().split(",");
  76. for (String item: addresss) {
  77. if (StringUtils.isBlank(item)) {
  78. return new ReturnT<String>(500, "机器地址非法");
  79. }
  80. }
  81. }
  82. int ret = xxlJobGroupDao.update(xxlJobGroup);
  83. return (ret>0)?ReturnT.SUCCESS:ReturnT.FAIL;
  84. }
  85. @RequestMapping("/remove")
  86. @ResponseBody
  87. public ReturnT<String> remove(int id){
  88. // valid
  89. int count = xxlJobInfoDao.pageListCount(0, 10, id, null, null);
  90. if (count > 0) {
  91. return new ReturnT<String>(500, "该分组使用中, 不可删除");
  92. }
  93. List<XxlJobGroup> allList = xxlJobGroupDao.findAll();
  94. if (allList.size() == 1) {
  95. return new ReturnT<String>(500, "删除失败, 系统需要至少预留一个默认分组");
  96. }
  97. int ret = xxlJobGroupDao.remove(id);
  98. return (ret>0)?ReturnT.SUCCESS:ReturnT.FAIL;
  99. }
  100. }