From 7f305962f26ec44ba6e958f81a20c55c3738233b Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期五, 18 二月 2022 10:31:13 +0800
Subject: [PATCH] 发布 4.0.0
---
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java | 325 +++++++++++++++++++++++++++---------------------------
1 files changed, 163 insertions(+), 162 deletions(-)
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java
index c64049d..141b539 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java
@@ -1,7 +1,7 @@
package com.xxl.job.admin.controller;
-import com.xxl.job.admin.core.exception.XxlJobException;
import com.xxl.job.admin.core.complete.XxlJobCompleter;
+import com.xxl.job.admin.core.exception.XxlJobException;
import com.xxl.job.admin.core.model.XxlJobGroup;
import com.xxl.job.admin.core.model.XxlJobInfo;
import com.xxl.job.admin.core.model.XxlJobLog;
@@ -33,201 +33,202 @@
/**
* index controller
+ *
* @author xuxueli 2015-12-19 16:13:16
*/
@Controller
@RequestMapping("/joblog")
public class JobLogController {
- private static Logger logger = LoggerFactory.getLogger(JobLogController.class);
+ private static Logger logger = LoggerFactory.getLogger(JobLogController.class);
- @Resource
- private XxlJobGroupDao xxlJobGroupDao;
- @Resource
- public XxlJobInfoDao xxlJobInfoDao;
- @Resource
- public XxlJobLogDao xxlJobLogDao;
+ @Resource
+ private XxlJobGroupDao xxlJobGroupDao;
+ @Resource
+ public XxlJobInfoDao xxlJobInfoDao;
+ @Resource
+ public XxlJobLogDao xxlJobLogDao;
- @RequestMapping
- public String index(HttpServletRequest request, Model model, @RequestParam(required = false, defaultValue = "0") Integer jobId) {
+ @RequestMapping
+ public String index(HttpServletRequest request, Model model, @RequestParam(required = false, defaultValue = "0") Integer jobId) {
- // 鎵ц鍣ㄥ垪琛�
- List<XxlJobGroup> jobGroupList_all = xxlJobGroupDao.findAll();
+ // 鎵ц鍣ㄥ垪琛�
+ List<XxlJobGroup> jobGroupList_all = xxlJobGroupDao.findAll();
- // filter group
- List<XxlJobGroup> jobGroupList = JobInfoController.filterJobGroupByRole(request, jobGroupList_all);
- if (jobGroupList==null || jobGroupList.size()==0) {
- throw new XxlJobException(I18nUtil.getString("jobgroup_empty"));
- }
+ // filter group
+ List<XxlJobGroup> jobGroupList = JobInfoController.filterJobGroupByRole(request, jobGroupList_all);
+ if (jobGroupList == null || jobGroupList.size() == 0) {
+ throw new XxlJobException(I18nUtil.getString("jobgroup_empty"));
+ }
- model.addAttribute("JobGroupList", jobGroupList);
+ model.addAttribute("JobGroupList" , jobGroupList);
- // 浠诲姟
- if (jobId > 0) {
- XxlJobInfo jobInfo = xxlJobInfoDao.loadById(jobId);
- if (jobInfo == null) {
- throw new RuntimeException(I18nUtil.getString("jobinfo_field_id") + I18nUtil.getString("system_unvalid"));
- }
+ // 浠诲姟
+ if (jobId > 0) {
+ XxlJobInfo jobInfo = xxlJobInfoDao.loadById(jobId);
+ if (jobInfo == null) {
+ throw new RuntimeException(I18nUtil.getString("jobinfo_field_id") + I18nUtil.getString("system_unvalid"));
+ }
- model.addAttribute("jobInfo", jobInfo);
+ model.addAttribute("jobInfo" , jobInfo);
- // valid permission
- JobInfoController.validPermission(request, jobInfo.getJobGroup());
- }
+ // valid permission
+ JobInfoController.validPermission(request, jobInfo.getJobGroup());
+ }
- return "joblog/joblog.index";
- }
+ return "joblog/joblog.index";
+ }
- @RequestMapping("/getJobsByGroup")
- @ResponseBody
- public ReturnT<List<XxlJobInfo>> getJobsByGroup(int jobGroup){
- List<XxlJobInfo> list = xxlJobInfoDao.getJobsByGroup(jobGroup);
- return new ReturnT<List<XxlJobInfo>>(list);
- }
-
- @RequestMapping("/pageList")
- @ResponseBody
- public Map<String, Object> pageList(HttpServletRequest request,
- @RequestParam(required = false, defaultValue = "0") int start,
- @RequestParam(required = false, defaultValue = "10") int length,
- int jobGroup, int jobId, int logStatus, String filterTime) {
+ @RequestMapping("/getJobsByGroup")
+ @ResponseBody
+ public ReturnT<List<XxlJobInfo>> getJobsByGroup(int jobGroup) {
+ List<XxlJobInfo> list = xxlJobInfoDao.getJobsByGroup(jobGroup);
+ return new ReturnT<List<XxlJobInfo>>(list);
+ }
- // valid permission
- JobInfoController.validPermission(request, jobGroup); // 浠呯鐞嗗憳鏀寔鏌ヨ鍏ㄩ儴锛涙櫘閫氱敤鎴蜂粎鏀寔鏌ヨ鏈夋潈闄愮殑 jobGroup
-
- // parse param
- Date triggerTimeStart = null;
- Date triggerTimeEnd = null;
- if (filterTime!=null && filterTime.trim().length()>0) {
- String[] temp = filterTime.split(" - ");
- if (temp.length == 2) {
- triggerTimeStart = DateUtil.parseDateTime(temp[0]);
- triggerTimeEnd = DateUtil.parseDateTime(temp[1]);
- }
- }
-
- // page query
- List<XxlJobLog> list = xxlJobLogDao.pageList(start, length, jobGroup, jobId, triggerTimeStart, triggerTimeEnd, logStatus);
- int list_count = xxlJobLogDao.pageListCount(start, length, jobGroup, jobId, triggerTimeStart, triggerTimeEnd, logStatus);
-
- // 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("/pageList")
+ @ResponseBody
+ public Map<String, Object> pageList(HttpServletRequest request,
+ @RequestParam(required = false, defaultValue = "0") int start,
+ @RequestParam(required = false, defaultValue = "10") int length,
+ int jobGroup, int jobId, int logStatus, String filterTime) {
- @RequestMapping("/logDetailPage")
- public String logDetailPage(int id, Model model){
+ // valid permission
+ JobInfoController.validPermission(request, jobGroup); // 浠呯鐞嗗憳鏀寔鏌ヨ鍏ㄩ儴锛涙櫘閫氱敤鎴蜂粎鏀寔鏌ヨ鏈夋潈闄愮殑 jobGroup
- // base check
- ReturnT<String> logStatue = ReturnT.SUCCESS;
- XxlJobLog jobLog = xxlJobLogDao.load(id);
- if (jobLog == null) {
+ // parse param
+ Date triggerTimeStart = null;
+ Date triggerTimeEnd = null;
+ if (filterTime != null && filterTime.trim().length() > 0) {
+ String[] temp = filterTime.split(" - ");
+ if (temp.length == 2) {
+ triggerTimeStart = DateUtil.parseDateTime(temp[0]);
+ triggerTimeEnd = DateUtil.parseDateTime(temp[1]);
+ }
+ }
+
+ // page query
+ List<XxlJobLog> list = xxlJobLogDao.pageList(start, length, jobGroup, jobId, triggerTimeStart, triggerTimeEnd, logStatus);
+ int list_count = xxlJobLogDao.pageListCount(start, length, jobGroup, jobId, triggerTimeStart, triggerTimeEnd, logStatus);
+
+ // 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("/logDetailPage")
+ public String logDetailPage(int id, Model model) {
+
+ // base check
+ ReturnT<String> logStatue = ReturnT.SUCCESS;
+ XxlJobLog jobLog = xxlJobLogDao.load(id);
+ if (jobLog == null) {
throw new RuntimeException(I18nUtil.getString("joblog_logid_unvalid"));
- }
+ }
- model.addAttribute("triggerCode", jobLog.getTriggerCode());
- model.addAttribute("handleCode", jobLog.getHandleCode());
- model.addAttribute("executorAddress", jobLog.getExecutorAddress());
- model.addAttribute("triggerTime", jobLog.getTriggerTime().getTime());
- model.addAttribute("logId", jobLog.getId());
- return "joblog/joblog.detail";
- }
+ model.addAttribute("triggerCode" , jobLog.getTriggerCode());
+ model.addAttribute("handleCode" , jobLog.getHandleCode());
+ model.addAttribute("executorAddress" , jobLog.getExecutorAddress());
+ model.addAttribute("triggerTime" , jobLog.getTriggerTime().getTime());
+ model.addAttribute("logId" , jobLog.getId());
+ return "joblog/joblog.detail";
+ }
- @RequestMapping("/logDetailCat")
- @ResponseBody
- public ReturnT<LogResult> logDetailCat(String executorAddress, long triggerTime, long logId, int fromLineNum){
- try {
- ExecutorBiz executorBiz = XxlJobScheduler.getExecutorBiz(executorAddress);
- ReturnT<LogResult> logResult = executorBiz.log(new LogParam(triggerTime, logId, fromLineNum));
+ @RequestMapping("/logDetailCat")
+ @ResponseBody
+ public ReturnT<LogResult> logDetailCat(String executorAddress, long triggerTime, long logId, int fromLineNum) {
+ try {
+ ExecutorBiz executorBiz = XxlJobScheduler.getExecutorBiz(executorAddress);
+ ReturnT<LogResult> logResult = executorBiz.log(new LogParam(triggerTime, logId, fromLineNum));
- // is end
- if (logResult.getContent()!=null && logResult.getContent().getFromLineNum() > logResult.getContent().getToLineNum()) {
+ // is end
+ if (logResult.getContent() != null && logResult.getContent().getFromLineNum() > logResult.getContent().getToLineNum()) {
XxlJobLog jobLog = xxlJobLogDao.load(logId);
if (jobLog.getHandleCode() > 0) {
logResult.getContent().setEnd(true);
}
}
- return logResult;
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- return new ReturnT<LogResult>(ReturnT.FAIL_CODE, e.getMessage());
- }
- }
+ return logResult;
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ return new ReturnT<LogResult>(ReturnT.FAIL_CODE, e.getMessage());
+ }
+ }
- @RequestMapping("/logKill")
- @ResponseBody
- public ReturnT<String> logKill(int id){
- // base check
- XxlJobLog log = xxlJobLogDao.load(id);
- XxlJobInfo jobInfo = xxlJobInfoDao.loadById(log.getJobId());
- if (jobInfo==null) {
- return new ReturnT<String>(500, I18nUtil.getString("jobinfo_glue_jobid_unvalid"));
- }
- if (ReturnT.SUCCESS_CODE != log.getTriggerCode()) {
- return new ReturnT<String>(500, I18nUtil.getString("joblog_kill_log_limit"));
- }
+ @RequestMapping("/logKill")
+ @ResponseBody
+ public ReturnT<String> logKill(int id) {
+ // base check
+ XxlJobLog log = xxlJobLogDao.load(id);
+ XxlJobInfo jobInfo = xxlJobInfoDao.loadById(log.getJobId());
+ if (jobInfo == null) {
+ return new ReturnT<String>(500, I18nUtil.getString("jobinfo_glue_jobid_unvalid"));
+ }
+ if (ReturnT.SUCCESS_CODE != log.getTriggerCode()) {
+ return new ReturnT<String>(500, I18nUtil.getString("joblog_kill_log_limit"));
+ }
- // request of kill
- ReturnT<String> runResult = null;
- try {
- ExecutorBiz executorBiz = XxlJobScheduler.getExecutorBiz(log.getExecutorAddress());
- runResult = executorBiz.kill(new KillParam(jobInfo.getId()));
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- runResult = new ReturnT<String>(500, e.getMessage());
- }
+ // request of kill
+ ReturnT<String> runResult = null;
+ try {
+ ExecutorBiz executorBiz = XxlJobScheduler.getExecutorBiz(log.getExecutorAddress());
+ runResult = executorBiz.kill(new KillParam(jobInfo.getId()));
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ runResult = new ReturnT<String>(500, e.getMessage());
+ }
- if (ReturnT.SUCCESS_CODE == runResult.getCode()) {
- log.setHandleCode(ReturnT.FAIL_CODE);
- log.setHandleMsg( I18nUtil.getString("joblog_kill_log_byman")+":" + (runResult.getMsg()!=null?runResult.getMsg():""));
- log.setHandleTime(new Date());
- XxlJobCompleter.updateHandleInfoAndFinish(log);
- return new ReturnT<String>(runResult.getMsg());
- } else {
- return new ReturnT<String>(500, runResult.getMsg());
- }
- }
+ if (ReturnT.SUCCESS_CODE == runResult.getCode()) {
+ log.setHandleCode(ReturnT.FAIL_CODE);
+ log.setHandleMsg(I18nUtil.getString("joblog_kill_log_byman") + ":" + (runResult.getMsg() != null ? runResult.getMsg() : ""));
+ log.setHandleTime(new Date());
+ XxlJobCompleter.updateHandleInfoAndFinish(log);
+ return new ReturnT<String>(runResult.getMsg());
+ } else {
+ return new ReturnT<String>(500, runResult.getMsg());
+ }
+ }
- @RequestMapping("/clearLog")
- @ResponseBody
- public ReturnT<String> clearLog(int jobGroup, int jobId, int type){
+ @RequestMapping("/clearLog")
+ @ResponseBody
+ public ReturnT<String> clearLog(int jobGroup, int jobId, int type) {
- Date clearBeforeTime = null;
- int clearBeforeNum = 0;
- if (type == 1) {
- clearBeforeTime = DateUtil.addMonths(new Date(), -1); // 娓呯悊涓�涓湀涔嬪墠鏃ュ織鏁版嵁
- } else if (type == 2) {
- clearBeforeTime = DateUtil.addMonths(new Date(), -3); // 娓呯悊涓変釜鏈堜箣鍓嶆棩蹇楁暟鎹�
- } else if (type == 3) {
- clearBeforeTime = DateUtil.addMonths(new Date(), -6); // 娓呯悊鍏釜鏈堜箣鍓嶆棩蹇楁暟鎹�
- } else if (type == 4) {
- clearBeforeTime = DateUtil.addYears(new Date(), -1); // 娓呯悊涓�骞翠箣鍓嶆棩蹇楁暟鎹�
- } else if (type == 5) {
- clearBeforeNum = 1000; // 娓呯悊涓�鍗冩潯浠ュ墠鏃ュ織鏁版嵁
- } else if (type == 6) {
- clearBeforeNum = 10000; // 娓呯悊涓�涓囨潯浠ュ墠鏃ュ織鏁版嵁
- } else if (type == 7) {
- clearBeforeNum = 30000; // 娓呯悊涓変竾鏉′互鍓嶆棩蹇楁暟鎹�
- } else if (type == 8) {
- clearBeforeNum = 100000; // 娓呯悊鍗佷竾鏉′互鍓嶆棩蹇楁暟鎹�
- } else if (type == 9) {
- clearBeforeNum = 0; // 娓呯悊鎵�鏈夋棩蹇楁暟鎹�
- } else {
- return new ReturnT<String>(ReturnT.FAIL_CODE, I18nUtil.getString("joblog_clean_type_unvalid"));
- }
+ Date clearBeforeTime = null;
+ int clearBeforeNum = 0;
+ if (type == 1) {
+ clearBeforeTime = DateUtil.addMonths(new Date(), -1); // 娓呯悊涓�涓湀涔嬪墠鏃ュ織鏁版嵁
+ } else if (type == 2) {
+ clearBeforeTime = DateUtil.addMonths(new Date(), -3); // 娓呯悊涓変釜鏈堜箣鍓嶆棩蹇楁暟鎹�
+ } else if (type == 3) {
+ clearBeforeTime = DateUtil.addMonths(new Date(), -6); // 娓呯悊鍏釜鏈堜箣鍓嶆棩蹇楁暟鎹�
+ } else if (type == 4) {
+ clearBeforeTime = DateUtil.addYears(new Date(), -1); // 娓呯悊涓�骞翠箣鍓嶆棩蹇楁暟鎹�
+ } else if (type == 5) {
+ clearBeforeNum = 1000; // 娓呯悊涓�鍗冩潯浠ュ墠鏃ュ織鏁版嵁
+ } else if (type == 6) {
+ clearBeforeNum = 10000; // 娓呯悊涓�涓囨潯浠ュ墠鏃ュ織鏁版嵁
+ } else if (type == 7) {
+ clearBeforeNum = 30000; // 娓呯悊涓変竾鏉′互鍓嶆棩蹇楁暟鎹�
+ } else if (type == 8) {
+ clearBeforeNum = 100000; // 娓呯悊鍗佷竾鏉′互鍓嶆棩蹇楁暟鎹�
+ } else if (type == 9) {
+ clearBeforeNum = 0; // 娓呯悊鎵�鏈夋棩蹇楁暟鎹�
+ } else {
+ return new ReturnT<String>(ReturnT.FAIL_CODE, I18nUtil.getString("joblog_clean_type_unvalid"));
+ }
- List<Long> logIds = null;
- do {
- logIds = xxlJobLogDao.findClearLogIds(jobGroup, jobId, clearBeforeTime, clearBeforeNum, 1000);
- if (logIds!=null && logIds.size()>0) {
- xxlJobLogDao.clearLog(logIds);
- }
- } while (logIds!=null && logIds.size()>0);
+ List<Long> logIds = null;
+ do {
+ logIds = xxlJobLogDao.findClearLogIds(jobGroup, jobId, clearBeforeTime, clearBeforeNum, 1000);
+ if (logIds != null && logIds.size() > 0) {
+ xxlJobLogDao.clearLog(logIds);
+ }
+ } while (logIds != null && logIds.size() > 0);
- return ReturnT.SUCCESS;
- }
+ return ReturnT.SUCCESS;
+ }
}
--
Gitblit v1.9.3