package com.xxl.job.admin.controller; import com.xxl.job.admin.core.model.XxlJobGroup; import com.xxl.job.admin.dao.XxlJobGroupDao; import com.xxl.job.admin.dao.XxlJobInfoDao; import com.xxl.job.core.biz.model.ReturnT; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; import java.util.List; /** * job group controller * @author xuxueli 2016-10-02 20:52:56 */ @Controller @RequestMapping("/jobgroup") public class JobGroupController { @Resource public XxlJobInfoDao xxlJobInfoDao; @Resource public XxlJobGroupDao xxlJobGroupDao; @RequestMapping public String index(Model model) { // job group (executor) List list = xxlJobGroupDao.findAll(); model.addAttribute("list", list); return "jobgroup/jobgroup.index"; } @RequestMapping("/save") @ResponseBody public ReturnT save(XxlJobGroup xxlJobGroup){ // valid if (xxlJobGroup.getAppName()==null || StringUtils.isBlank(xxlJobGroup.getAppName())) { return new ReturnT(500, "请输入AppName"); } if (xxlJobGroup.getAppName().length()>64) { return new ReturnT(500, "AppName长度限制为4~64"); } if (xxlJobGroup.getTitle()==null || StringUtils.isBlank(xxlJobGroup.getTitle())) { return new ReturnT(500, "请输入名称"); } if (xxlJobGroup.getAddressType()!=0) { if (StringUtils.isBlank(xxlJobGroup.getAddressList())) { return new ReturnT(500, "手动录入注册方式,机器地址不可为空"); } String[] addresss = xxlJobGroup.getAddressList().split(","); for (String item: addresss) { if (StringUtils.isBlank(item)) { return new ReturnT(500, "机器地址非法"); } } } int ret = xxlJobGroupDao.save(xxlJobGroup); return (ret>0)?ReturnT.SUCCESS:ReturnT.FAIL; } @RequestMapping("/update") @ResponseBody public ReturnT update(XxlJobGroup xxlJobGroup){ // valid if (xxlJobGroup.getAppName()==null || StringUtils.isBlank(xxlJobGroup.getAppName())) { return new ReturnT(500, "请输入AppName"); } if (xxlJobGroup.getAppName().length()>64) { return new ReturnT(500, "AppName长度限制为4~64"); } if (xxlJobGroup.getTitle()==null || StringUtils.isBlank(xxlJobGroup.getTitle())) { return new ReturnT(500, "请输入名称"); } if (xxlJobGroup.getAddressType()!=0) { if (StringUtils.isBlank(xxlJobGroup.getAddressList())) { return new ReturnT(500, "手动录入注册方式,机器地址不可为空"); } String[] addresss = xxlJobGroup.getAddressList().split(","); for (String item: addresss) { if (StringUtils.isBlank(item)) { return new ReturnT(500, "机器地址非法"); } } } int ret = xxlJobGroupDao.update(xxlJobGroup); return (ret>0)?ReturnT.SUCCESS:ReturnT.FAIL; } @RequestMapping("/remove") @ResponseBody public ReturnT remove(int id){ // valid int count = xxlJobInfoDao.pageListCount(0, 10, id, null, null); if (count > 0) { return new ReturnT(500, "该分组使用中, 不可删除"); } List allList = xxlJobGroupDao.findAll(); if (allList.size() == 1) { return new ReturnT(500, "删除失败, 系统需要至少预留一个默认分组"); } int ret = xxlJobGroupDao.remove(id); return (ret>0)?ReturnT.SUCCESS:ReturnT.FAIL; } }