页面显示中文名bug修复

新增在线机器、定时任务的日志页面中文组名
This commit is contained in:
zhuangdashia 2025-07-01 00:31:45 +08:00
parent b66a481bc0
commit d0da908ea7
21 changed files with 88 additions and 17 deletions

View File

@ -21,6 +21,11 @@ public class JobBatchResponseVO {
*/
private String groupName;
/**
* 组名称中文
*/
private String groupNameCn;
/**
* 名称
*/

View File

@ -19,6 +19,12 @@ public class WorkflowBatchResponseVO {
*/
private String groupName;
/**
* 组名称中文
*/
private String groupNameCn;
/**
* 工作流任务id
*/

View File

@ -25,6 +25,11 @@ public class WorkflowResponseVO {
*/
private String groupName;
/**
* 组名称中文
*/
private String groupNameCn;
/**
* 触发类型
*/

View File

@ -20,6 +20,11 @@ public class JobResponseVO {
*/
private String groupName;
/**
* 组名称中文
*/
private String groupNameCn;
/**
* 名称
*/

View File

@ -14,6 +14,11 @@ public class NotifyConfigResponseVO implements Serializable {
private String groupName;
/**
* 组名称中文
*/
private String groupNameCn;
/**
* 业务id (scene_name或job_id或workflow_id)
*/

View File

@ -15,6 +15,8 @@ public class RetryDeadLetterResponseVO {
private String groupName;
private String groupNameCn;
private String sceneName;
private String idempotentId;

View File

@ -19,6 +19,8 @@ public class RetryResponseVO {
private String groupName;
private String groupNameCn;
private String sceneName;
private String idempotentId;

View File

@ -15,6 +15,8 @@ public class RetryTaskResponseVO {
private String groupName;
private String groupNameCn;
private String sceneName;
private Integer taskStatus;

View File

@ -16,6 +16,8 @@ public class SceneConfigResponseVO {
private String groupName;
private String groupNameCn;
private String sceneName;
private Integer sceneStatus;

View File

@ -15,6 +15,8 @@ public class ServerNodeResponseVO {
private String groupName;
private String groupNameCn;
private String hostId;
private String hostIp;

View File

@ -22,12 +22,10 @@ import com.aizuda.snailjob.server.web.model.request.JobLineQueryVo;
import com.aizuda.snailjob.server.web.model.request.LineQueryVO;
import com.aizuda.snailjob.server.web.model.request.ServerNodeQueryVO;
import com.aizuda.snailjob.server.web.model.request.UserSessionVO;
import com.aizuda.snailjob.server.web.model.response.DashboardCardResponseVO;
import com.aizuda.snailjob.server.web.model.response.DashboardLineResponseVO;
import com.aizuda.snailjob.server.web.model.response.DashboardRetryLineResponseVO;
import com.aizuda.snailjob.server.web.model.response.*;
import com.aizuda.snailjob.server.web.model.response.DashboardRetryLineResponseVO.Task;
import com.aizuda.snailjob.server.web.model.response.ServerNodeResponseVO;
import com.aizuda.snailjob.server.web.service.DashboardService;
import com.aizuda.snailjob.server.web.service.GroupConfigService;
import com.aizuda.snailjob.server.web.service.convert.*;
import com.aizuda.snailjob.server.web.util.UserSessionUtils;
import com.aizuda.snailjob.template.datasource.persistence.dataobject.ActivePodQuantityResponseDO;
@ -73,6 +71,7 @@ public class DashboardServiceImpl implements DashboardService {
private final JobSummaryMapper jobSummaryMapper;
private final RetrySummaryMapper retrySummaryMapper;
private final ServerProperties serverProperties;
private final GroupConfigService groupConfigService;
@Override
public DashboardCardResponseVO taskRetryJob() {
@ -311,6 +310,24 @@ public class DashboardServiceImpl implements DashboardService {
SnailJobLog.LOCAL.error("Failed to retrieve consumer group for node [{}:{}].", serverNodeResponseVO.getHostIp(), serverNodeExtAttrs.getWebPort());
}
}
//组中文名显示 TODO 在线机器无组
Set<String> uniqueGroupNames = responseVOList.stream()
.map(ServerNodeResponseVO::getGroupName)
.filter(StrUtil::isNotBlank)
.collect(Collectors.toSet());
Map<String, GroupConfigResponseVO> groupConfigMap = groupConfigService.getGroupNameCns(uniqueGroupNames);
// 遍历结果设置groupNameCn
for (ServerNodeResponseVO responseVO : responseVOList) {
// GroupConfigResponseVO groupConfig = groupConfigMap.get(responseVO.getGroupName());
// if (groupConfig != null) {
// responseVO.setGroupNameCn(groupConfig.getGroupNameCn());
// }
responseVO.setGroupNameCn(responseVO.getGroupName());
}
return new PageResult<>(serverNodePageDTO, responseVOList);
}

View File

@ -87,7 +87,7 @@ public class JobBatchServiceImpl implements JobBatchService {
for (JobBatchResponseVO jobResponseVO : batchResponseVOList) {
GroupConfigResponseVO groupConfig = groupConfigMap.get(jobResponseVO.getGroupName());
if (groupConfig != null) {
jobResponseVO.setGroupName(groupConfig.getGroupNameCn());
jobResponseVO.setGroupNameCn(groupConfig.getGroupNameCn());
}
}

View File

@ -125,7 +125,7 @@ public class JobServiceImpl implements JobService {
for (JobResponseVO jobResponseVO : jobResponseList) {
GroupConfigResponseVO groupConfig = groupConfigMap.get(jobResponseVO.getGroupName());
if (groupConfig != null) {
jobResponseVO.setGroupName(groupConfig.getGroupNameCn());
jobResponseVO.setGroupNameCn(groupConfig.getGroupNameCn());
}
}

View File

@ -1,10 +1,13 @@
package com.aizuda.snailjob.server.web.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.aizuda.snailjob.common.core.util.StreamUtils;
import com.aizuda.snailjob.server.web.model.base.PageResult;
import com.aizuda.snailjob.server.web.model.request.JobTaskQueryVO;
import com.aizuda.snailjob.server.web.model.response.GroupConfigResponseVO;
import com.aizuda.snailjob.server.web.model.response.JobTaskResponseVO;
import com.aizuda.snailjob.server.web.service.GroupConfigService;
import com.aizuda.snailjob.server.web.service.JobTaskService;
import com.aizuda.snailjob.server.web.service.convert.JobTaskResponseVOConverter;
import com.aizuda.snailjob.template.datasource.persistence.mapper.JobLogMessageMapper;
@ -15,10 +18,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author: opensnail
@ -30,6 +31,7 @@ import java.util.Set;
public class JobTaskServiceImpl implements JobTaskService {
private final JobTaskMapper jobTaskMapper;
private final JobLogMessageMapper jobLogMessageMapper;
private final GroupConfigService groupConfigService;
@Override
public PageResult<List<JobTaskResponseVO>> getJobTaskPage(final JobTaskQueryVO queryVO) {
@ -46,6 +48,22 @@ public class JobTaskServiceImpl implements JobTaskService {
List<JobTask> records = selectPage.getRecords();
//组中文名显示
Set<String> uniqueGroupNames = records.stream()
.map(JobTask::getGroupName)
.filter(StrUtil::isNotBlank)
.collect(Collectors.toSet());
Map<String, GroupConfigResponseVO> groupConfigMap = groupConfigService.getGroupNameCns(uniqueGroupNames);
// 遍历结果设置groupNameCn
for (JobTask responseVO : records) {
GroupConfigResponseVO groupConfig = groupConfigMap.get(responseVO.getGroupName());
if (groupConfig != null) {
responseVO.setGroupName(groupConfig.getGroupNameCn());
}
}
return new PageResult<>(pageDTO, convertJobTaskList(records));
}

View File

@ -81,7 +81,7 @@ public class NotifyConfigServiceImpl implements NotifyConfigService {
for (NotifyConfigResponseVO responseVO : notifyConfigResponseVOS) {
GroupConfigResponseVO groupConfig = groupConfigMap.get(responseVO.getGroupName());
if (groupConfig != null) {
responseVO.setGroupName(groupConfig.getGroupNameCn());
responseVO.setGroupNameCn(groupConfig.getGroupNameCn());
}
}

View File

@ -84,7 +84,7 @@ public class RetryDeadLetterServiceImpl implements RetryDeadLetterService {
for (RetryDeadLetterResponseVO responseVO : retryDeadLetterResponseVOS) {
GroupConfigResponseVO groupConfig = groupConfigMap.get(responseVO.getGroupName());
if (groupConfig != null) {
responseVO.setGroupName(groupConfig.getGroupNameCn());
responseVO.setGroupNameCn(groupConfig.getGroupNameCn());
}
}

View File

@ -143,7 +143,7 @@ public class RetryServiceImpl implements RetryService {
for (RetryResponseVO retryResponseVO : retryResponseList) {
GroupConfigResponseVO groupConfig = groupConfigMap.get(retryResponseVO.getGroupName());
if (groupConfig != null) {
retryResponseVO.setGroupName(groupConfig.getGroupNameCn());
retryResponseVO.setGroupNameCn(groupConfig.getGroupNameCn());
}
}

View File

@ -107,7 +107,7 @@ public class RetryTaskServiceImpl implements RetryTaskService {
for (RetryTaskResponseVO responseVO : retryTaskResponseVOS) {
GroupConfigResponseVO groupConfig = groupConfigMap.get(responseVO.getGroupName());
if (groupConfig != null) {
responseVO.setGroupName(groupConfig.getGroupNameCn());
responseVO.setGroupNameCn(groupConfig.getGroupNameCn());
}
}

View File

@ -95,7 +95,7 @@ public class SceneConfigServiceImpl implements SceneConfigService {
for (SceneConfigResponseVO responseVO : sceneConfigResponseVOS) {
GroupConfigResponseVO groupConfig = groupConfigMap.get(responseVO.getGroupName());
if (groupConfig != null) {
responseVO.setGroupName(groupConfig.getGroupNameCn());
responseVO.setGroupNameCn(groupConfig.getGroupNameCn());
}
}

View File

@ -110,7 +110,7 @@ public class WorkflowBatchServiceImpl implements WorkflowBatchService {
for (WorkflowBatchResponseVO workflowBatchResponseVO : batchResponseVOList) {
GroupConfigResponseVO groupConfig = groupConfigMap.get(workflowBatchResponseVO.getGroupName());
if (groupConfig != null) {
workflowBatchResponseVO.setGroupName(groupConfig.getGroupNameCn());
workflowBatchResponseVO.setGroupNameCn(groupConfig.getGroupNameCn());
}
}

View File

@ -215,7 +215,7 @@ public class WorkflowServiceImpl implements WorkflowService {
for (WorkflowResponseVO workflowResponseVO : jobResponseList) {
GroupConfigResponseVO groupConfig = groupConfigMap.get(workflowResponseVO.getGroupName());
if (groupConfig != null) {
workflowResponseVO.setGroupName(groupConfig.getGroupNameCn());
workflowResponseVO.setGroupNameCn(groupConfig.getGroupNameCn());
}
}