Skip to content

Commit cd9a314

Browse files
committed
补齐算子/清洗任务查询接口参数
1 parent 96c396f commit cd9a314

File tree

10 files changed

+101
-67
lines changed

10 files changed

+101
-67
lines changed

backend/openapi/specs/data-cleaning.yaml

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,24 @@ paths:
4949
required: false
5050
schema:
5151
type: string
52+
- name: keywords
53+
in: query
54+
description: 关键字
55+
required: false
56+
schema:
57+
type: string
58+
- name: page
59+
in: query
60+
description: 分页数
61+
required: true
62+
schema:
63+
type: integer
64+
- name: size
65+
in: query
66+
description: 分页单页数
67+
required: true
68+
schema:
69+
type: integer
5270
responses:
5371
'200':
5472
description: 成功获取任务列表
@@ -381,6 +399,7 @@ components:
381399
- name
382400
- instance
383401
- srcDatasetId
402+
- srcDatasetName
384403
- destDatasetName
385404
- destDatasetType
386405
properties:
@@ -392,6 +411,8 @@ components:
392411
description: 任务描述
393412
srcDatasetId:
394413
type: string
414+
srcDatasetName:
415+
type: string
395416
destDatasetName:
396417
type: string
397418
destDatasetType:
@@ -464,7 +485,7 @@ components:
464485
type: string
465486
format: date-time
466487
description: 任务开始时间
467-
updatedAt:
488+
finishedAt:
468489
type: string
469490
format: date-time
470491
description: 任务最后更新时间

backend/services/data-cleaning-service/src/main/java/com/dataengine/cleaning/application/service/CleaningTaskService.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,9 @@ public class CleaningTaskService {
4949

5050
private final String FLOW_PATH = "/flow";
5151

52-
public List<CleaningTask> getTasks(String status) {
53-
return cleaningTaskMapper.findTasksByStatus(status);
52+
public List<CleaningTask> getTasks(String status, String keywords, Integer page, Integer size) {
53+
Integer offset = (page - 1) * size;
54+
return cleaningTaskMapper.findTasksByStatus(status, keywords, size, offset);
5455
}
5556

5657
@Transactional
@@ -64,6 +65,7 @@ public CleaningTask createTask(CreateCleaningTaskRequest request) {
6465
String taskId = UUID.randomUUID().toString();
6566
task.setId(taskId);
6667
task.setSrcDatasetId(request.getSrcDatasetId());
68+
task.setSrcDatasetName(request.getSrcDatasetName());
6769
task.setDestDatasetId(datasetResponse.getId());
6870
task.setDestDatasetName(datasetResponse.getName());
6971
cleaningTaskMapper.insertTask(task);

backend/services/data-cleaning-service/src/main/java/com/dataengine/cleaning/infrastructure/persistence/mapper/CleaningTaskMapper.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@
88

99
@Mapper
1010
public interface CleaningTaskMapper {
11-
List<CleaningTask> findTasksByStatus(@Param("status") String status);
11+
List<CleaningTask> findTasksByStatus(@Param("status") String status, @Param("keywords") String keywords,
12+
@Param("size") Integer size, @Param("offset") Integer offset);
1213

1314
CleaningTask findTaskById(@Param("taskId") String taskId);
1415

backend/services/data-cleaning-service/src/main/java/com/dataengine/cleaning/interfaces/api/CleaningTaskController.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@ public class CleaningTaskController implements CleaningTaskApi {
1717
private CleaningTaskService cleaningTaskService;
1818

1919
@Override
20-
public ResponseEntity<List<CleaningTask>> cleaningTasksGet(String status) {
21-
return ResponseEntity.ok(cleaningTaskService.getTasks(status));
20+
public ResponseEntity<List<CleaningTask>> cleaningTasksGet(Integer page, Integer size, String status,
21+
String keywords) {
22+
return ResponseEntity.ok(cleaningTaskService.getTasks(status, keywords, page, size));
2223
}
2324

2425
@Override

backend/services/data-cleaning-service/src/main/resources/mappers/CleaningTaskMapper.xml

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,34 @@
11
<?xml version="1.0" encoding="UTF-8" ?>
22
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
33
<mapper namespace="com.dataengine.cleaning.infrastructure.persistence.mapper.CleaningTaskMapper">
4+
<sql id="Base_Column_List">
5+
id, name, description, src_dataset_id, src_dataset_name, dest_dataset_id, dest_dataset_name, status,
6+
created_at, started_at, finished_at
7+
</sql>
48

59
<select id="findTasksByStatus" resultType="com.dataengine.cleaning.interfaces.dto.CleaningTask">
6-
SELECT * FROM t_clean_task WHERE status = #{status}
10+
SELECT <include refid="Base_Column_List"/> FROM t_clean_task
11+
<where>
12+
<if test="status != null and status != ''">
13+
AND status = #{status}
14+
</if>
15+
<if test="keywords != null and status != ''">
16+
AND name LIKE CONCAT('%', #{keywords}, '%')
17+
</if>
18+
</where>
19+
ORDER BY created_at
20+
LIMIT ${size} OFFSET ${offset};
721
</select>
822

923
<select id="findTaskById" resultType="com.dataengine.cleaning.interfaces.dto.CleaningTask">
10-
SELECT * FROM t_clean_task WHERE id = #{taskId}
24+
SELECT <include refid="Base_Column_List"/> FROM t_clean_task WHERE id = #{taskId}
1125
</select>
1226

1327
<insert id="insertTask">
14-
INSERT INTO t_clean_task (id, name, description, status, created_at)
15-
VALUES (#{id}, #{name}, #{description}, #{status}, NOW())
28+
INSERT INTO t_clean_task (id, name, description, status, src_dataset_id, src_dataset_name, dest_dataset_id,
29+
dest_dataset_name, created_at)
30+
VALUES (#{id}, #{name}, #{description}, #{status}, #{srcDatasetId}, #{srcDatasetName}, #{destDatasetId},
31+
#{destDatasetName}, NOW())
1632
</insert>
1733

1834
<update id="updateTaskStatus">

backend/services/operator-market-service/src/main/java/com/dataengine/operator/application/CategoryService.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ private List<CategoryTreeGet200ResponseInner> groupByParentIdSorted(List<Relatio
5858
category.setCount((int) value.stream()
5959
.filter(dto -> StringUtils.isNotEmpty(dto.getOperatorId()))
6060
.count());
61+
category.setParentId(parentId);
6162
return category;
6263
}).collect(Collectors.toList()));
6364
return response;

backend/services/operator-market-service/src/main/java/com/dataengine/operator/application/OperatorService.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package com.dataengine.operator.application;
22

3+
import com.dataengine.operator.domain.converter.OperatorConverter;
34
import com.dataengine.operator.infrastructure.persistence.mapper.OperatorMapper;
45
import com.dataengine.operator.interfaces.dto.*;
56
import com.dataengine.operator.domain.modal.Operator;
67
import lombok.RequiredArgsConstructor;
78
import org.springframework.stereotype.Service;
89
import org.springframework.web.multipart.MultipartFile;
910

10-
import java.util.ArrayList;
1111
import java.util.List;
1212

1313
@Service
@@ -16,8 +16,12 @@ public class OperatorService {
1616
private final OperatorMapper operatorMapper;
1717

1818
public List<OperatorResponse> getOperators(Integer page, Integer size, List<Integer> categories,
19-
String operatorName, String labelName) {
20-
return new ArrayList<>();
19+
String operatorName, Boolean isStar) {
20+
Integer offset = (page - 1) * size;
21+
List<Operator> filteredOperators = operatorMapper.findOperatorsByCriteria(size, offset, operatorName,
22+
categories, isStar);
23+
return filteredOperators.stream()
24+
.map(OperatorConverter.INSTANCE::operatorToResponse).toList();
2125
}
2226

2327
private OperatorResponse toDto(Operator entity) {

backend/services/operator-market-service/src/main/java/com/dataengine/operator/interfaces/api/OperatorController.java

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
package com.dataengine.operator.interfaces.api;
22

3-
import com.dataengine.operator.domain.converter.OperatorConverter;
4-
import com.dataengine.operator.domain.modal.Operator;
5-
import com.dataengine.operator.infrastructure.persistence.mapper.OperatorMapper;
63
import com.dataengine.operator.interfaces.dto.*;
74
import com.dataengine.operator.application.OperatorService;
85
import lombok.RequiredArgsConstructor;
@@ -17,15 +14,10 @@
1714
public class OperatorController implements OperatorApi {
1815
private final OperatorService operatorService;
1916

20-
private final OperatorMapper operatorMapper;
21-
2217
@Override
2318
public ResponseEntity<List<OperatorResponse>> operatorsListPost(OperatorsListPostRequest request) {
24-
Integer offset = (request.getPage() - 1) * request.getSize();
25-
List<Operator> filteredOperators = operatorMapper.findOperatorsByCriteria(request.getSize(), offset,
26-
request.getOperatorName(), request.getCategories(), request.getIsStar());
27-
List<OperatorResponse> responses = filteredOperators.stream()
28-
.map(OperatorConverter.INSTANCE::operatorToResponse).toList();
19+
List<OperatorResponse> responses = operatorService.getOperators(request.getPage(), request.getSize(),
20+
request.getCategories(), request.getOperatorName(), request.getIsStar());
2921
return ResponseEntity.ok(responses);
3022
}
3123

scripts/db/data-engine-cleaning-init.sql

Lines changed: 34 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -2,52 +2,51 @@ USE dataengine;
22

33
CREATE TABLE IF NOT EXISTS t_clean_template
44
(
5-
id varchar(64) primary key not null unique,
6-
name varchar(64),
7-
description varchar(256),
8-
created_at timestamp,
9-
updated_at timestamp,
10-
created_by varchar(256)
5+
id varchar(64) primary key not null unique,
6+
name varchar(64),
7+
description varchar(256),
8+
created_at timestamp,
9+
updated_at timestamp,
10+
created_by varchar(256)
1111
);
1212

1313
CREATE TABLE IF NOT EXISTS t_clean_task
1414
(
15-
id varchar(64) primary key,
16-
name varchar(64),
17-
description varchar(256),
18-
status varchar(256),
19-
src_dataset_id int,
20-
dst_dataset_id int,
21-
before_size bigint,
22-
after_size bigint,
23-
config_path varchar(256),
24-
restart_times int,
25-
submit_id varchar(256),
26-
created_at timestamp,
27-
started_at timestamp,
28-
finished_at timestamp,
29-
created_by varchar(256)
15+
id varchar(64) primary key,
16+
name varchar(64),
17+
description varchar(256),
18+
status varchar(256),
19+
src_dataset_id varchar(64),
20+
src_dataset_name varchar(64),
21+
dest_dataset_id varchar(64),
22+
dest_dataset_name varchar(64),
23+
before_size bigint,
24+
after_size bigint,
25+
created_at timestamp,
26+
started_at timestamp,
27+
finished_at timestamp,
28+
created_by varchar(256)
3029
);
3130

3231
CREATE TABLE IF NOT EXISTS t_operator_instance
3332
(
34-
id int primary key auto_increment,
35-
instance_id varchar(256),
36-
operator_id varchar(256),
37-
op_index int,
38-
settings_override text
33+
id int primary key auto_increment,
34+
instance_id varchar(256),
35+
operator_id varchar(256),
36+
op_index int,
37+
settings_override text
3938
);
4039

4140
CREATE TABLE IF NOT EXISTS t_clean_result
4241
(
43-
id int primary key auto_increment,
44-
instance_id varchar(64),
45-
src_file_id varchar(64),
46-
dst_file_id varchar(64),
47-
src_name varchar(256),
48-
src_type varchar(256),
49-
src_size bigint,
50-
dst_size bigint,
51-
status varchar(256)
42+
id int primary key auto_increment,
43+
instance_id varchar(64),
44+
src_file_id varchar(64),
45+
dst_file_id varchar(64),
46+
src_name varchar(256),
47+
src_type varchar(256),
48+
src_size bigint,
49+
dst_size bigint,
50+
status varchar(256)
5251
);
5352

scripts/db/data-engine-operator-init.sql

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,11 @@ INSERT IGNORE INTO t_operator_category(id, name, type, parent_id) VALUES
6363

6464
INSERT IGNORE INTO t_operator
6565
(id, name, description, version, inputs, outputs, runtime, settings, file_name, is_star) VALUES
66-
('TestOp1', 'TestOp1', '', '1.0.0', 'text', 'text', '', '', '', false),
67-
('TestOp2', 'TestOp2', '', '1.0.0', 'text', 'text', '', '', '', false),
68-
('TestOp3', 'TestOp3', '', '1.0.0', 'text', 'text', '', '', '', false);
66+
('TextFormatter', '文本抽取算子', '', '1.0.0', 'text', 'text', '', '', '', false),
67+
('FileExporter', '文本落盘算子', '', '1.0.0', 'text', 'text', '', '', '', false);
6968

7069
INSERT IGNORE INTO t_operator_category_relation(category_id, operator_id) VALUES
71-
(3, 'TestOp1'),
72-
(3, 'TestOp2'),
73-
(3, 'TestOp3'),
74-
(8, 'TestOp1'),
75-
(8, 'TestOp2'),
76-
(9, 'TestOp3');
70+
(3, 'TextFormatter'),
71+
(7, 'FileExporter'),
72+
(8, 'TextFormatter'),
73+
(8, 'FileExporter');

0 commit comments

Comments
 (0)