调度中心API
This commit is contained in:
parent
5eff5433fe
commit
0f93f5d2ab
@ -13,6 +13,7 @@ import org.springframework.web.bind.annotation.GetMapping;
|
|||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description 调度任务日志Api接口
|
* @Description 调度任务日志Api接口
|
||||||
@ -23,7 +24,13 @@ public interface JobLogApi {
|
|||||||
String PREFIX = ApiConstants.PREFIX + "/log";
|
String PREFIX = ApiConstants.PREFIX + "/log";
|
||||||
@GetMapping(PREFIX + "/page")
|
@GetMapping(PREFIX + "/page")
|
||||||
@Operation(summary = "获得所有任务列表")
|
@Operation(summary = "获得所有任务列表")
|
||||||
public CommonResult<PageResult<JobLogRespDTO>> getPage(@Valid JobLogPageReqDTO jobLogPageReqDTO);
|
public CommonResult<PageResult<JobLogRespDTO>> getPage(@RequestParam(value = "pageNo") Integer pageNo,
|
||||||
|
@RequestParam(value = "pageSize") Integer pageSize,
|
||||||
|
@RequestParam(value = "jobId") Integer jobId,
|
||||||
|
@RequestParam(required = false, value = "handlerName") String handlerName,
|
||||||
|
@RequestParam(required = false, value = "beginTime") Date beginTime,
|
||||||
|
@RequestParam(required = false, value = "endTime") Date endTime,
|
||||||
|
@RequestParam(required = false, value = "status") Integer status);
|
||||||
|
|
||||||
@GetMapping(PREFIX + "/get")
|
@GetMapping(PREFIX + "/get")
|
||||||
@Operation(summary = "获得任务日志详情")
|
@Operation(summary = "获得任务日志详情")
|
||||||
|
@ -16,6 +16,7 @@ import com.xxl.job.core.util.DateUtil;
|
|||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
@ -40,13 +41,26 @@ public class JobLogApiImpl implements JobLogApi {
|
|||||||
public XxlJobLogDao xxlJobLogDao;
|
public XxlJobLogDao xxlJobLogDao;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CommonResult<PageResult<JobLogRespDTO>> getPage(JobLogPageReqDTO jobLogPageReqDTO) {
|
public CommonResult<PageResult<JobLogRespDTO>> getPage(Integer pageNo,
|
||||||
|
Integer pageSize,
|
||||||
|
Integer jobId,
|
||||||
|
String handlerName,
|
||||||
|
Date beginTime,
|
||||||
|
Date endTime,
|
||||||
|
Integer status) {
|
||||||
|
JobLogPageReqDTO jobLogPageReqDTO = new JobLogPageReqDTO();
|
||||||
|
jobLogPageReqDTO.setPageNo(pageNo);
|
||||||
|
jobLogPageReqDTO.setPageSize(pageSize);
|
||||||
|
jobLogPageReqDTO.setJobId(jobId);
|
||||||
|
jobLogPageReqDTO.setHandlerName(handlerName);
|
||||||
|
jobLogPageReqDTO.setBeginTime(beginTime);
|
||||||
|
jobLogPageReqDTO.setEndTime(endTime);
|
||||||
|
jobLogPageReqDTO.setStatus(status);
|
||||||
// 设置默认组为3
|
// 设置默认组为3
|
||||||
int jobGroup = 3;
|
int jobGroup = 3;
|
||||||
int status = jobLogPageReqDTO.getStatus() == null ? -1 : jobLogPageReqDTO.getStatus();
|
|
||||||
// page query
|
// page query
|
||||||
List<JobLogRespDTO> list = xxlJobLogDao.apiPageList(jobLogPageReqDTO.getPageNo(), jobLogPageReqDTO.getPageSize(), jobGroup, jobLogPageReqDTO.getJobId(), jobLogPageReqDTO.getBeginTime(), jobLogPageReqDTO.getEndTime(), status);
|
List<JobLogRespDTO> list = xxlJobLogDao.apiPageList(jobLogPageReqDTO.getPageNo(), jobLogPageReqDTO.getPageSize(), jobGroup, jobLogPageReqDTO.getJobId(), jobLogPageReqDTO.getBeginTime(), jobLogPageReqDTO.getEndTime(), status, jobLogPageReqDTO.getHandlerName());
|
||||||
int list_count = xxlJobLogDao.pageListCount(jobLogPageReqDTO.getPageNo(), jobLogPageReqDTO.getPageSize(), jobGroup, jobLogPageReqDTO.getJobId(), jobLogPageReqDTO.getBeginTime(), jobLogPageReqDTO.getEndTime(), status);
|
int list_count = xxlJobLogDao.apiPageListCount(jobLogPageReqDTO.getPageNo(), jobLogPageReqDTO.getPageSize(), jobGroup, jobLogPageReqDTO.getJobId(), jobLogPageReqDTO.getBeginTime(), jobLogPageReqDTO.getEndTime(), status, jobLogPageReqDTO.getHandlerName());
|
||||||
// package result
|
// package result
|
||||||
PageResult<JobLogRespDTO> pageResult = new PageResult<>();
|
PageResult<JobLogRespDTO> pageResult = new PageResult<>();
|
||||||
pageResult.setTotal((long) list_count);
|
pageResult.setTotal((long) list_count);
|
||||||
@ -60,13 +74,14 @@ public class JobLogApiImpl implements JobLogApi {
|
|||||||
JobLogRespDTO jobLogRespDTO = new JobLogRespDTO();
|
JobLogRespDTO jobLogRespDTO = new JobLogRespDTO();
|
||||||
jobLogRespDTO.setId(id);
|
jobLogRespDTO.setId(id);
|
||||||
jobLogRespDTO.setJobId(load.getJobId());
|
jobLogRespDTO.setJobId(load.getJobId());
|
||||||
jobLogRespDTO.setDuration((int)(load.getHandleTime().getTime() - load.getTriggerTime().getTime()));
|
if (load.getTriggerCode() == 200) {
|
||||||
|
jobLogRespDTO.setDuration((int) (load.getHandleTime().getTime() - load.getTriggerTime().getTime()));
|
||||||
|
}
|
||||||
jobLogRespDTO.setBeginTime(load.getTriggerTime());
|
jobLogRespDTO.setBeginTime(load.getTriggerTime());
|
||||||
jobLogRespDTO.setEndTime(load.getHandleTime());
|
jobLogRespDTO.setEndTime(load.getHandleTime());
|
||||||
jobLogRespDTO.setHandlerName(load.getExecutorHandler());
|
jobLogRespDTO.setHandlerName(load.getExecutorHandler());
|
||||||
jobLogRespDTO.setHandlerParam(load.getExecutorParam());
|
jobLogRespDTO.setHandlerParam(load.getExecutorParam());
|
||||||
jobLogRespDTO.setStatus(load.getAlarmStatus());
|
jobLogRespDTO.setStatus(load.getHandleCode() == 200 ? 1 : 2);
|
||||||
jobLogRespDTO.setExecuteIndex(1);
|
|
||||||
return CommonResult.success(jobLogRespDTO);
|
return CommonResult.success(jobLogRespDTO);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -30,7 +30,8 @@ public interface XxlJobLogDao {
|
|||||||
@Param("jobId") int jobId,
|
@Param("jobId") int jobId,
|
||||||
@Param("triggerTimeStart") Date triggerTimeStart,
|
@Param("triggerTimeStart") Date triggerTimeStart,
|
||||||
@Param("triggerTimeEnd") Date triggerTimeEnd,
|
@Param("triggerTimeEnd") Date triggerTimeEnd,
|
||||||
@Param("logStatus") Integer logStatus);
|
@Param("logStatus") Integer logStatus,
|
||||||
|
@Param("handlerName") String handlerName);
|
||||||
public int pageListCount(@Param("offset") int offset,
|
public int pageListCount(@Param("offset") int offset,
|
||||||
@Param("pagesize") int pagesize,
|
@Param("pagesize") int pagesize,
|
||||||
@Param("jobGroup") int jobGroup,
|
@Param("jobGroup") int jobGroup,
|
||||||
@ -67,4 +68,12 @@ public interface XxlJobLogDao {
|
|||||||
|
|
||||||
public List<Long> findLostJobIds(@Param("losedTime") Date losedTime);
|
public List<Long> findLostJobIds(@Param("losedTime") Date losedTime);
|
||||||
|
|
||||||
|
int apiPageListCount(@Param("offset") int offset,
|
||||||
|
@Param("pagesize") int pagesize,
|
||||||
|
@Param("jobGroup") int jobGroup,
|
||||||
|
@Param("jobId") int jobId,
|
||||||
|
@Param("triggerTimeStart") Date triggerTimeStart,
|
||||||
|
@Param("triggerTimeEnd") Date triggerTimeEnd,
|
||||||
|
@Param("logStatus") Integer logStatus,
|
||||||
|
@Param("handlerName") String handlerName);
|
||||||
}
|
}
|
||||||
|
@ -87,10 +87,11 @@
|
|||||||
<result column="trigger_time" property="beginTime"/>
|
<result column="trigger_time" property="beginTime"/>
|
||||||
<result column="handle_time" property="endTime"/>
|
<result column="handle_time" property="endTime"/>
|
||||||
<result column="duration" property="duration"/>
|
<result column="duration" property="duration"/>
|
||||||
<result column="alarm_status" property="status"/>
|
<result column="status" property="status"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
<select id="apiPageList" resultMap="ApiXxlJobLog">
|
<select id="apiPageList" resultMap="ApiXxlJobLog">
|
||||||
SELECT <include refid="Base_Column_List" />, ROW_NUMBER() OVER (ORDER BY t.trigger_time) AS 'index', (t.handle_time -t.trigger_time) AS 'duration'
|
SELECT <include refid="Base_Column_List" />, ROW_NUMBER() OVER (ORDER BY t.trigger_time) AS 'index', (t.handle_time -t.trigger_time) AS 'duration',
|
||||||
|
IF(t.handle_code = 200, 1, 2) AS 'status'
|
||||||
FROM xxl_job_log AS t
|
FROM xxl_job_log AS t
|
||||||
<trim prefix="WHERE" prefixOverrides="AND | OR" >
|
<trim prefix="WHERE" prefixOverrides="AND | OR" >
|
||||||
<if test="jobId==0 and jobGroup gt 0">
|
<if test="jobId==0 and jobGroup gt 0">
|
||||||
@ -118,6 +119,9 @@
|
|||||||
AND t.trigger_code = 200
|
AND t.trigger_code = 200
|
||||||
AND t.handle_code = 0
|
AND t.handle_code = 0
|
||||||
</if>
|
</if>
|
||||||
|
<if test="handlerName != null">
|
||||||
|
AND t.handlerName LIKE CONCAT('%', #{handlerName}, '%')
|
||||||
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
ORDER BY t.trigger_time DESC
|
ORDER BY t.trigger_time DESC
|
||||||
LIMIT #{offset}, #{pagesize}
|
LIMIT #{offset}, #{pagesize}
|
||||||
@ -154,6 +158,40 @@
|
|||||||
</if>
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
</select>
|
</select>
|
||||||
|
<select id="apiPageListCount" resultType="int">
|
||||||
|
SELECT count(1)
|
||||||
|
FROM xxl_job_log AS t
|
||||||
|
<trim prefix="WHERE" prefixOverrides="AND | OR" >
|
||||||
|
<if test="jobId==0 and jobGroup gt 0">
|
||||||
|
AND t.job_group = #{jobGroup}
|
||||||
|
</if>
|
||||||
|
<if test="jobId gt 0">
|
||||||
|
AND t.job_id = #{jobId}
|
||||||
|
</if>
|
||||||
|
<if test="triggerTimeStart != null">
|
||||||
|
AND t.trigger_time <![CDATA[ >= ]]> #{triggerTimeStart}
|
||||||
|
</if>
|
||||||
|
<if test="triggerTimeEnd != null">
|
||||||
|
AND t.trigger_time <![CDATA[ <= ]]> #{triggerTimeEnd}
|
||||||
|
</if>
|
||||||
|
<if test="logStatus == 1" >
|
||||||
|
AND t.handle_code = 200
|
||||||
|
</if>
|
||||||
|
<if test="logStatus == 2" >
|
||||||
|
AND (
|
||||||
|
t.trigger_code NOT IN (0, 200) OR
|
||||||
|
t.handle_code NOT IN (0, 200)
|
||||||
|
)
|
||||||
|
</if>
|
||||||
|
<if test="logStatus == 3" >
|
||||||
|
AND t.trigger_code = 200
|
||||||
|
AND t.handle_code = 0
|
||||||
|
</if>
|
||||||
|
<if test="handlerName != null">
|
||||||
|
AND t.executor_handler LIKE CONCAT('%', #{handlerName}, '%')
|
||||||
|
</if>
|
||||||
|
</trim>
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="load" parameterType="java.lang.Long" resultMap="XxlJobLog">
|
<select id="load" parameterType="java.lang.Long" resultMap="XxlJobLog">
|
||||||
SELECT <include refid="Base_Column_List" />
|
SELECT <include refid="Base_Column_List" />
|
||||||
|
@ -36,7 +36,7 @@ public class JobLogController {
|
|||||||
@Operation(summary = "获得任务日志列表")
|
@Operation(summary = "获得任务日志列表")
|
||||||
@PreAuthorize("@ss.hasPermission('infra:job-log:query')")
|
@PreAuthorize("@ss.hasPermission('infra:job-log:query')")
|
||||||
public CommonResult<PageResult<JobLogRespDTO>> getPage(@Valid JobLogPageReqDTO jobLogPageReqDTO){
|
public CommonResult<PageResult<JobLogRespDTO>> getPage(@Valid JobLogPageReqDTO jobLogPageReqDTO){
|
||||||
return jobLogApi.getPage(jobLogPageReqDTO);
|
return jobLogApi.getPage(jobLogPageReqDTO.getPageNo(), jobLogPageReqDTO.getPageSize(), jobLogPageReqDTO.getJobId(), jobLogPageReqDTO.getHandlerName(), jobLogPageReqDTO.getBeginTime(), jobLogPageReqDTO.getEndTime(), jobLogPageReqDTO.getStatus());
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/get")
|
@GetMapping("/get")
|
||||||
@ -52,8 +52,8 @@ public class JobLogController {
|
|||||||
public void exportJobInfoExcel(@Valid JobLogPageReqDTO pageReqVO,
|
public void exportJobInfoExcel(@Valid JobLogPageReqDTO pageReqVO,
|
||||||
HttpServletResponse response) throws IOException {
|
HttpServletResponse response) throws IOException {
|
||||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||||
List<JobLogRespDTO> list = jobLogApi.getPage(pageReqVO).getData().getList();
|
List<JobLogRespDTO> list = jobLogApi.getPage(pageReqVO.getPageNo(), pageReqVO.getPageSize(), pageReqVO.getJobId(), pageReqVO.getHandlerName(), pageReqVO.getBeginTime(), pageReqVO.getEndTime(), pageReqVO.getStatus()).getData().getList();
|
||||||
// 导出 Excel
|
//导出 Excel
|
||||||
ExcelUtils.write(response, "任务调度.xls", "数据", JobLogRespDTO.class,
|
ExcelUtils.write(response, "任务调度.xls", "数据", JobLogRespDTO.class,
|
||||||
list);
|
list);
|
||||||
}
|
}
|
||||||
|
@ -156,7 +156,6 @@ yudao:
|
|||||||
- infra_file_content
|
- infra_file_content
|
||||||
- infra_job
|
- infra_job
|
||||||
- infra_job_log
|
- infra_job_log
|
||||||
- infra_job_log
|
|
||||||
- infra_data_source_config
|
- infra_data_source_config
|
||||||
|
|
||||||
debug: false
|
debug: false
|
||||||
|
Loading…
Reference in New Issue
Block a user