diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/IndexController.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/IndexController.java index 026083b5..6c7591f3 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/IndexController.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/IndexController.java @@ -37,6 +37,7 @@ public class IndexController { } @RequestMapping("/triggerChartDate") + @ResponseBody public ReturnT> triggerChartDate() { ReturnT> triggerChartDate = xxlJobService.triggerChartDate(); return triggerChartDate; diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/dao/IXxlJobLogDao.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/dao/IXxlJobLogDao.java index 6b675592..fdc9a14a 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/dao/IXxlJobLogDao.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/dao/IXxlJobLogDao.java @@ -27,6 +27,6 @@ public interface IXxlJobLogDao { public int triggerCountByHandleCode(int handleCode); - Map triggerCountByDay(Date from, Date to); + public List> triggerCountByDay(Date from, Date to, int handleCode); } diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/dao/impl/XxlJobLogDaoImpl.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/dao/impl/XxlJobLogDaoImpl.java index cf21bf94..9fc11ecd 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/dao/impl/XxlJobLogDaoImpl.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/dao/impl/XxlJobLogDaoImpl.java @@ -84,11 +84,12 @@ public class XxlJobLogDaoImpl implements IXxlJobLogDao { } @Override - public Map triggerCountByDay(Date from, Date to) { + public List> triggerCountByDay(Date from, Date to, int handleCode) { Map params = new HashMap(); params.put("from", from); params.put("to", to); - return sqlSessionTemplate.selectOne("XxlJobLogMapper.triggerCountByDay", params); + params.put("handleCode", handleCode); + return sqlSessionTemplate.selectList("XxlJobLogMapper.triggerCountByDay", params); } } diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java index 47d1df3b..539bb90b 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java @@ -297,9 +297,48 @@ public class XxlJobServiceImpl implements IXxlJobService { Date from = DateUtils.addDays(new Date(), -30); Date to = new Date(); - Map triggerCountMap = xxlJobLogDao.triggerCountByDay(from, to); + List triggerDayList = new ArrayList(); + List triggerDayCountSucList = new ArrayList(); + List triggerDayCountFailList = new ArrayList(); + int triggerCountSucTotal = 0; + int triggerCountFailTotal = 0; + + List> triggerCountMapAll = xxlJobLogDao.triggerCountByDay(from, to, -1); + List> triggerCountMapSuc = xxlJobLogDao.triggerCountByDay(from, to, ReturnT.SUCCESS_CODE); + if (CollectionUtils.isNotEmpty(triggerCountMapAll)) { + for (Map item: triggerCountMapAll) { + String day = String.valueOf(item.get("triggerDay")); + int dayAllCount = Integer.valueOf(String.valueOf(item.get("triggerCount"))); + int daySucCount = 0; + int dayFailCount = dayAllCount - daySucCount; + + if (CollectionUtils.isNotEmpty(triggerCountMapSuc)) { + for (Map sucItem: triggerCountMapSuc) { + String daySuc = String.valueOf(sucItem.get("triggerDay")); + if (day.equals(daySuc)) { + daySucCount = Integer.valueOf(String.valueOf(sucItem.get("triggerCount"))); + dayFailCount = dayAllCount - daySucCount; + } + } + } + + triggerDayList.add(day); + triggerDayCountSucList.add(daySucCount); + triggerDayCountFailList.add(dayFailCount); + triggerCountSucTotal += daySucCount; + triggerCountFailTotal += dayFailCount; + } + } else { + return new ReturnT>(ReturnT.FAIL_CODE, null); + } - return null; + Map result = new HashMap(); + result.put("triggerDayList", triggerDayList); + result.put("triggerDayCountSucList", triggerDayCountSucList); + result.put("triggerDayCountFailList", triggerDayCountFailList); + result.put("triggerCountSucTotal", triggerCountSucTotal); + result.put("triggerCountFailTotal", triggerCountFailTotal); + return new ReturnT>(result); } } diff --git a/xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobLogMapper.xml b/xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobLogMapper.xml index 815ded47..5bf1a488 100644 --- a/xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobLogMapper.xml +++ b/xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobLogMapper.xml @@ -128,8 +128,7 @@ SELECT count(1) FROM XXL_JOB_QRTZ_TRIGGER_LOG AS t - + AND t.handle_code = #{handleCode} @@ -138,6 +137,10 @@ diff --git a/xxl-job-admin/src/main/webapp/WEB-INF/template/index.ftl b/xxl-job-admin/src/main/webapp/WEB-INF/template/index.ftl index 9e208e17..bf665f73 100644 --- a/xxl-job-admin/src/main/webapp/WEB-INF/template/index.ftl +++ b/xxl-job-admin/src/main/webapp/WEB-INF/template/index.ftl @@ -49,7 +49,7 @@ <#-- 调度信息 --> -