You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
2.7 KiB
87 lines
2.7 KiB
package com.xxl.job.controller;
|
|
|
|
import java.text.ParseException;
|
|
import java.util.Date;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
import org.apache.commons.lang.time.DateUtils;
|
|
import org.springframework.stereotype.Controller;
|
|
import org.springframework.ui.Model;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
|
import com.xxl.job.core.constant.Constants.JobGroupEnum;
|
|
import com.xxl.job.core.model.ReturnT;
|
|
import com.xxl.job.core.model.XxlJobLog;
|
|
import com.xxl.job.dao.IXxlJobLogDao;
|
|
|
|
/**
|
|
* index controller
|
|
* @author xuxueli 2015-12-19 16:13:16
|
|
*/
|
|
@Controller
|
|
@RequestMapping("/joblog")
|
|
public class JobLogController {
|
|
|
|
@Resource
|
|
public IXxlJobLogDao xxlJobLogDao;
|
|
|
|
@RequestMapping
|
|
public String index(Model model) {
|
|
model.addAttribute("JobGroupList", JobGroupEnum.values());
|
|
return "joblog/index";
|
|
}
|
|
|
|
@RequestMapping("/pageList")
|
|
@ResponseBody
|
|
public Map<String, Object> pageList(@RequestParam(required = false, defaultValue = "0") int start,
|
|
@RequestParam(required = false, defaultValue = "10") int length,
|
|
String jobGroup, String jobName, String filterTime) {
|
|
|
|
// parse param
|
|
Date triggerTimeStart = null;
|
|
Date triggerTimeEnd = null;
|
|
if (StringUtils.isNotBlank(filterTime)) {
|
|
String[] temp = filterTime.split(" - ");
|
|
if (temp!=null && temp.length == 2) {
|
|
try {
|
|
triggerTimeStart = DateUtils.parseDate(temp[0], new String[]{"yyyy-MM-dd HH:mm:ss"});
|
|
triggerTimeEnd = DateUtils.parseDate(temp[1], new String[]{"yyyy-MM-dd HH:mm:ss"});
|
|
} catch (ParseException e) { }
|
|
}
|
|
}
|
|
|
|
// page query
|
|
List<XxlJobLog> list = xxlJobLogDao.pageList(start, length, jobGroup, jobName, triggerTimeStart, triggerTimeEnd);
|
|
int list_count = xxlJobLogDao.pageListCount(start, length, jobGroup, jobName, triggerTimeStart, triggerTimeEnd);
|
|
|
|
// package result
|
|
Map<String, Object> maps = new HashMap<String, Object>();
|
|
maps.put("recordsTotal", list_count); // 总记录数
|
|
maps.put("recordsFiltered", list_count); // 过滤后的总记录数
|
|
maps.put("data", list); // 分页列表
|
|
return maps;
|
|
}
|
|
|
|
@RequestMapping("/save")
|
|
@ResponseBody
|
|
public ReturnT<String> triggerLog(int triggerLogId, String status, String msg) {
|
|
XxlJobLog log = xxlJobLogDao.load(triggerLogId);
|
|
if (log!=null) {
|
|
log.setHandleTime(new Date());
|
|
log.setHandleStatus(status);
|
|
log.setHandleMsg(msg);
|
|
xxlJobLogDao.updateHandleInfo(log);
|
|
return ReturnT.SUCCESS;
|
|
}
|
|
return ReturnT.FAIL;
|
|
}
|
|
|
|
}
|