diff --git a/.github/workflows/docker-image-backend-python.yml b/.github/workflows/docker-image-backend-python.yml index 65d9755dc..28fea0c0e 100644 --- a/.github/workflows/docker-image-backend-python.yml +++ b/.github/workflows/docker-image-backend-python.yml @@ -4,14 +4,14 @@ on: push: branches: [ "main" ] paths: - - 'scripts/images/datamate-python/**' + - 'scripts/images/backend-python/**' - 'runtime/datamate-python/**' - '.github/workflows/docker-image-backend-python.yml' - '.github/workflows/docker-images-reusable.yml' pull_request: branches: [ "main" ] paths: - - 'scripts/images/datamate-python/**' + - 'scripts/images/backend-python/**' - 'runtime/datamate-python/**' - '.github/workflows/docker-image-backend-python.yml' - '.github/workflows/docker-images-reusable.yml' diff --git a/backend/services/data-management-service/src/main/java/com/datamate/datamanagement/application/DatasetApplicationService.java b/backend/services/data-management-service/src/main/java/com/datamate/datamanagement/application/DatasetApplicationService.java index e170a511d..e5c8d03f5 100644 --- a/backend/services/data-management-service/src/main/java/com/datamate/datamanagement/application/DatasetApplicationService.java +++ b/backend/services/data-management-service/src/main/java/com/datamate/datamanagement/application/DatasetApplicationService.java @@ -237,8 +237,8 @@ public void processDataSourceAsync(String datasetId, String dataSourceId) { if (CollectionUtils.isEmpty(filePaths)) { return; } - log.info("Starting file scan, total files: {}", filePaths.size()); datasetFileApplicationService.copyFilesToDatasetDir(datasetId, new CopyFilesRequest(filePaths)); + log.info("Success file scan, total files: {}", filePaths.size()); } catch (Exception e) { log.error("处理数据源文件扫描失败,数据集ID: {}, 数据源ID: {}", datasetId, dataSourceId, e); } diff --git a/frontend/src/pages/DataCollection/Create/CreateTask.tsx b/frontend/src/pages/DataCollection/Create/CreateTask.tsx index a2cbbefd4..313f8e902 100644 --- a/frontend/src/pages/DataCollection/Create/CreateTask.tsx +++ b/frontend/src/pages/DataCollection/Create/CreateTask.tsx @@ -81,19 +81,7 @@ export default function CollectionTaskCreate() { const handleSubmit = async () => { try { await form.validateFields(); - - const values = form.getFieldsValue(true); - const payload = { - name: values.name, - description: values.description, - syncMode: values.syncMode, - scheduleExpression: values.scheduleExpression, - timeoutSeconds: values.timeoutSeconds, - templateId: values.templateId, - config: values.config, - }; - - await createTaskUsingPost(payload); + await createTaskUsingPost(newTask); message.success("任务创建成功"); navigate("/data/collection"); } catch (error) { @@ -104,88 +92,108 @@ export default function CollectionTaskCreate() { const selectedTemplate = templates.find((t) => t.id === selectedTemplateId); const renderTemplateFields = ( - section: "parameter" | "reader" | "writer", + section: any[], defs: Record | undefined ) => { if (!defs || typeof defs !== "object") return null; + let items_ = [] - const items = Object.entries(defs).map(([key, def]) => { + Object.entries(defs).sort(([key1, def1], [key2, def2]) => { + const def1Order = def1?.index || 0; + const def2Order = def2?.index || 0; + return def1Order - def2Order; + }).forEach(([key, def]) => { const label = def?.name || key; const description = def?.description; const fieldType = (def?.type || "input").toLowerCase(); const required = def?.required !== false; - const rules = required ? [{ required: true, message: `请输入${label}` }] : undefined; + const name = section.concat(key) - if (fieldType === "password") { - return ( - - - - ); - } - - if (fieldType === "textarea") { - return ( - -