public static AgentClusterNodeDTO getFromRequest(AgentClusterNodeRequest request, String extParams) {
        AgentClusterNodeDTO dto;
        if (!StringUtils.isNotBlank(extParams)) {
            return CommonBeanUtils.copyProperties(request, AgentClusterNodeDTO::new, true);
        }
        dto = AgentClusterNodeDTO.getFromJson(extParams);
        if (!CollectionUtils.isEqualCollection(request.getModuleIdList(), dto.getModuleIdList())) {
            request.setModuleHistoryList(dto.getModuleHistoryList());
            List<ModuleHistory> moduleHistoryList = request.getModuleHistoryList();
            if (moduleHistoryList.size() > 10) {
                moduleHistoryList.remove(moduleHistoryList.size() - 1);
            }
            ModuleHistory moduleHistory = ModuleHistory.builder()
                    .moduleIdList(dto.getModuleIdList())
                    .modifier(request.getCurrentUser())
                    .modifyTime(new Date())
                    .build();
            moduleHistoryList.add(0, moduleHistory);
            dto.setModuleHistoryList(moduleHistoryList);
        }
        return CommonBeanUtils.copyProperties(request, dto, true);
    }
Get the dto instance from the request
inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/agent/AgentClusterNodeDTO.java