feat: 重构数据中枢工作台与接入管理
- 新增统一的数据源、目录、纳管表与 Excel 处理后端能力 - 重建管理端数据中枢工作台并替换旧表管理页面 - 补充数据中枢迁移脚本、连接器底座与说明字段支持
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
package tech.easyflow.datacenter.integration;
|
||||
|
||||
import tech.easyflow.datacenter.execution.model.DatacenterQueryRequest;
|
||||
|
||||
public interface AssistantDatacenterBridge {
|
||||
AssistantDatacenterResult queryPage(DatacenterQueryRequest request);
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package tech.easyflow.datacenter.integration;
|
||||
|
||||
import com.mybatisflex.core.row.Row;
|
||||
import tech.easyflow.datacenter.entity.DatacenterTable;
|
||||
import tech.easyflow.datacenter.meta.entity.DatacenterCatalog;
|
||||
import tech.easyflow.datacenter.meta.entity.DatacenterDatasetVersion;
|
||||
import tech.easyflow.datacenter.meta.entity.DatacenterSource;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class AssistantDatacenterResult {
|
||||
private List<Row> rows = new ArrayList<>();
|
||||
private DatacenterSource source;
|
||||
private DatacenterCatalog catalog;
|
||||
private DatacenterTable table;
|
||||
private DatacenterDatasetVersion version;
|
||||
private Map<String, Object> querySummary = new LinkedHashMap<>();
|
||||
|
||||
public List<Row> getRows() { return rows; }
|
||||
public void setRows(List<Row> rows) { this.rows = rows; }
|
||||
public DatacenterSource getSource() { return source; }
|
||||
public void setSource(DatacenterSource source) { this.source = source; }
|
||||
public DatacenterCatalog getCatalog() { return catalog; }
|
||||
public void setCatalog(DatacenterCatalog catalog) { this.catalog = catalog; }
|
||||
public DatacenterTable getTable() { return table; }
|
||||
public void setTable(DatacenterTable table) { this.table = table; }
|
||||
public DatacenterDatasetVersion getVersion() { return version; }
|
||||
public void setVersion(DatacenterDatasetVersion version) { this.version = version; }
|
||||
public Map<String, Object> getQuerySummary() { return querySummary; }
|
||||
public void setQuerySummary(Map<String, Object> querySummary) { this.querySummary = querySummary; }
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package tech.easyflow.datacenter.integration;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
import tech.easyflow.datacenter.execution.model.DatacenterQueryRequest;
|
||||
import tech.easyflow.datacenter.execution.model.DatacenterSchemaResponse;
|
||||
import tech.easyflow.datacenter.execution.service.DatacenterDatasetQueryService;
|
||||
import tech.easyflow.datacenter.meta.entity.DatacenterDatasetVersion;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
|
||||
@Component
|
||||
public class DefaultAssistantDatacenterBridge implements AssistantDatacenterBridge {
|
||||
|
||||
@Resource
|
||||
private DatacenterDatasetQueryService queryService;
|
||||
|
||||
@Override
|
||||
public AssistantDatacenterResult queryPage(DatacenterQueryRequest request) {
|
||||
var page = queryService.queryPage(request);
|
||||
DatacenterSchemaResponse schema = queryService.getSchema(request.getDatasetRef());
|
||||
AssistantDatacenterResult result = new AssistantDatacenterResult();
|
||||
result.setRows(page.getRecords());
|
||||
result.setSource(schema.getSource());
|
||||
result.setCatalog(schema.getCatalog());
|
||||
result.setTable(schema.getTable());
|
||||
result.setVersion(resolveVersion(schema.getVersions(), request == null || request.getDatasetRef() == null ? null : request.getDatasetRef().getVersionId()));
|
||||
result.setQuerySummary(new LinkedHashMap<>() {{
|
||||
put("pageNumber", page.getPageNumber());
|
||||
put("pageSize", page.getPageSize());
|
||||
put("totalRows", page.getTotalRow());
|
||||
put("selectedColumns", request == null ? List.of() : request.getSelectedColumns());
|
||||
put("filterCount", request == null || request.getFilters() == null ? 0 : request.getFilters().size());
|
||||
put("sortCount", request == null || request.getSorts() == null ? 0 : request.getSorts().size());
|
||||
}});
|
||||
return result;
|
||||
}
|
||||
|
||||
private DatacenterDatasetVersion resolveVersion(List<DatacenterDatasetVersion> versions, java.math.BigInteger versionId) {
|
||||
if (versions == null || versions.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
if (versionId == null) {
|
||||
return versions.get(0);
|
||||
}
|
||||
return versions.stream().filter(version -> versionId.equals(version.getId())).findFirst().orElse(null);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user