调度日志显示时区问题修复,解决显示时区与实际时区不一致问题解决;

3.4.1-release
xuxueli 2 days ago
parent 0893f30a68
commit e305e463ec

@ -2849,10 +2849,12 @@ alter table xxl_job_log
(存量客户端升级需要注意:升级后需要将配置项 "xxl.job.admin.addresses" 中的 context-path 后缀移除)
- 4、【修复】XSS攻击防护增强ISSUS-3964类似问题批量解决安全性提升
- 5、【修复】XxlJobFileAppender自定义地址callbackLogPath设置无效问题修复合并ISSUS-3963
- 6、【重构】调度中心与执行器系统组件重构线程管理与内存队列升级统一资源管理和生命周期控制改进线程安全和资源清理逻辑
- 7、【重构】项目结构AI友好性重构业务逻辑与框架逻辑分离提升项目可读性与可维护性
- 8、【优化】低层守护线程升级切换CyclicThread提升稳定性以及可维护性
- 9、【优化】调度中心UI交互优化任务及日志列表下拉框支持模糊搜索提升多任务情况下交互体验
- 6、【修复】调度日志显示时区问题修复解决显示时区与实际时区不一致问题解决
- 7、【重构】调度中心与执行器系统组件重构线程管理与内存队列升级统一资源管理和生命周期控制改进线程安全和资源清理逻辑
- 8、【重构】项目结构AI友好性重构业务逻辑与框架逻辑分离提升项目可读性与可维护性
- 9、【优化】低层守护线程升级切换CyclicThread提升稳定性以及可维护性
- 10、【优化】调度中心UI交互优化任务及日志列表下拉框支持模糊搜索提升多任务情况下交互体验
### 7.46 版本 v3.5.0 Release Notes[ING]

@ -6,6 +6,7 @@ import com.xxl.job.admin.business.mapper.XxlJobLogMapper;
import com.xxl.job.admin.business.model.XxlJobGroup;
import com.xxl.job.admin.business.model.XxlJobInfo;
import com.xxl.job.admin.business.model.XxlJobLog;
import com.xxl.job.admin.business.model.dto.XxlJobLogDTO;
import com.xxl.job.admin.business.scheduler.config.XxlJobAdminBootstrap;
import com.xxl.job.admin.business.scheduler.exception.XxlJobException;
import com.xxl.job.admin.business.service.XxlJobService;
@ -110,13 +111,13 @@ public class JobLogController {
@RequestMapping("/pageList")
@ResponseBody
public Response<PageModel<XxlJobLog>> pageList(HttpServletRequest request,
@RequestParam(required = false, defaultValue = "0") int offset,
@RequestParam(required = false, defaultValue = "10") int pagesize,
@RequestParam int jobGroup,
@RequestParam int jobId,
@RequestParam int logStatus,
@RequestParam String filterTime) {
public Response<PageModel<XxlJobLogDTO>> pageList(HttpServletRequest request,
@RequestParam(required = false, defaultValue = "0") int offset,
@RequestParam(required = false, defaultValue = "10") int pagesize,
@RequestParam int jobGroup,
@RequestParam int jobId,
@RequestParam int logStatus,
@RequestParam String filterTime) {
// valid jobGroup permission
JobGroupPermissionUtil.validJobGroupPermission(request, jobGroup);
@ -141,9 +142,12 @@ public class JobLogController {
List<XxlJobLog> list = xxlJobLogMapper.pageList(offset, pagesize, jobGroup, jobId, triggerTimeStart, triggerTimeEnd, logStatus);
int list_count = xxlJobLogMapper.pageListCount(offset, pagesize, jobGroup, jobId, triggerTimeStart, triggerTimeEnd, logStatus);
// model > dto
List<XxlJobLogDTO> listDTO = list.stream().map(XxlJobLogDTO::new).toList();
// package result
PageModel<XxlJobLog> pageModel = new PageModel<>();
pageModel.setData(list);
PageModel<XxlJobLogDTO> pageModel = new PageModel<>();
pageModel.setData(listDTO);
pageModel.setTotal(list_count);
return Response.ofSuccess(pageModel);

@ -0,0 +1,172 @@
package com.xxl.job.admin.business.model.dto;
import com.xxl.job.admin.business.model.XxlJobLog;
import com.xxl.tool.core.DateTool;
public class XxlJobLogDTO {
private long id;
// job info
private int jobGroup;
private int jobId;
// execute info
private String executorAddress;
private String executorHandler;
private String executorParam;
private String executorShardingParam;
private int executorFailRetryCount;
// trigger info
private String triggerTime;
private int triggerCode;
private String triggerMsg;
// handle info
private String handleTime;
private int handleCode;
private String handleMsg;
// alarm info
private int alarmStatus;
public XxlJobLogDTO(XxlJobLog xxlJobLog) {
this.id = xxlJobLog.getId();
this.jobGroup = xxlJobLog.getJobGroup();
this.jobId = xxlJobLog.getJobId();
this.executorAddress = xxlJobLog.getExecutorAddress();
this.executorHandler = xxlJobLog.getExecutorHandler();
this.executorParam = xxlJobLog.getExecutorParam();
this.executorShardingParam = xxlJobLog.getExecutorShardingParam();
this.executorFailRetryCount = xxlJobLog.getExecutorFailRetryCount();
this.triggerTime = DateTool.formatDateTime(xxlJobLog.getTriggerTime());
this.triggerCode = xxlJobLog.getTriggerCode();
this.triggerMsg = xxlJobLog.getTriggerMsg();
this.handleTime = DateTool.formatDateTime(xxlJobLog.getHandleTime());
this.handleCode = xxlJobLog.getHandleCode();
this.handleMsg = xxlJobLog.getHandleMsg();
this.alarmStatus = xxlJobLog.getAlarmStatus();
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public int getJobGroup() {
return jobGroup;
}
public void setJobGroup(int jobGroup) {
this.jobGroup = jobGroup;
}
public int getJobId() {
return jobId;
}
public void setJobId(int jobId) {
this.jobId = jobId;
}
public String getExecutorAddress() {
return executorAddress;
}
public void setExecutorAddress(String executorAddress) {
this.executorAddress = executorAddress;
}
public String getExecutorHandler() {
return executorHandler;
}
public void setExecutorHandler(String executorHandler) {
this.executorHandler = executorHandler;
}
public String getExecutorParam() {
return executorParam;
}
public void setExecutorParam(String executorParam) {
this.executorParam = executorParam;
}
public String getExecutorShardingParam() {
return executorShardingParam;
}
public void setExecutorShardingParam(String executorShardingParam) {
this.executorShardingParam = executorShardingParam;
}
public int getExecutorFailRetryCount() {
return executorFailRetryCount;
}
public void setExecutorFailRetryCount(int executorFailRetryCount) {
this.executorFailRetryCount = executorFailRetryCount;
}
public String getTriggerTime() {
return triggerTime;
}
public void setTriggerTime(String triggerTime) {
this.triggerTime = triggerTime;
}
public int getTriggerCode() {
return triggerCode;
}
public void setTriggerCode(int triggerCode) {
this.triggerCode = triggerCode;
}
public String getTriggerMsg() {
return triggerMsg;
}
public void setTriggerMsg(String triggerMsg) {
this.triggerMsg = triggerMsg;
}
public String getHandleTime() {
return handleTime;
}
public void setHandleTime(String handleTime) {
this.handleTime = handleTime;
}
public int getHandleCode() {
return handleCode;
}
public void setHandleCode(int handleCode) {
this.handleCode = handleCode;
}
public String getHandleMsg() {
return handleMsg;
}
public void setHandleMsg(String handleMsg) {
this.handleMsg = handleMsg;
}
public int getAlarmStatus() {
return alarmStatus;
}
public void setAlarmStatus(int alarmStatus) {
this.alarmStatus = alarmStatus;
}
}

@ -6,7 +6,6 @@ server.servlet.context-path=/
management.server.base-path=/actuator
spring.web.error.whitelabel.enabled=false
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=Asia/Shanghai
### mail health
management.health.mail.enabled=false

Loading…
Cancel
Save