feature: 清洗任务详情页 (#73)

* feature: 清洗任务详情

* fix: 取消构建镜像,改为直接拉取

* fix: 增加清洗任务详情页

* fix: 增加清洗任务详情页

* fix: 算子列表可点击

* fix: 模板详情和更新
This commit is contained in:
hhhhsc701
2025-11-12 18:00:19 +08:00
committed by GitHub
parent 442e561817
commit 6bbde0ec56
46 changed files with 1065 additions and 795 deletions

View File

@@ -50,9 +50,7 @@ public class OperatorService {
public List<OperatorDto> getOperators(Integer page, Integer size, List<String> categories,
String operatorName, Boolean isStar) {
List<OperatorView> filteredOperators = operatorViewRepo.findOperatorsByCriteria(page, size, operatorName,
categories, isStar);
return filteredOperators.stream().map(OperatorConverter.INSTANCE::fromEntityToDto).toList();
return operatorViewRepo.findOperatorsByCriteria(page, size, operatorName, categories, isStar);
}
public int getOperatorsCount(List<String> categories, String operatorName, Boolean isStar) {

View File

@@ -2,12 +2,13 @@ package com.datamate.operator.domain.repository;
import com.baomidou.mybatisplus.extension.repository.IRepository;
import com.datamate.operator.domain.model.OperatorView;
import com.datamate.operator.interfaces.dto.OperatorDto;
import java.util.List;
public interface OperatorViewRepository extends IRepository<OperatorView> {
List<OperatorView> findOperatorsByCriteria(Integer page, Integer size, String operatorName,
List<String> categories, Boolean isStar);
List<OperatorDto> findOperatorsByCriteria(Integer page, Integer size, String operatorName,
List<String> categories, Boolean isStar);
Integer countOperatorsByCriteria(String operatorName, List<String> categories, Boolean isStar);

View File

@@ -21,6 +21,8 @@ public interface OperatorConverter {
@Mapping(target = "categories", source = "categories", qualifiedByName = "stringToList")
OperatorDto fromEntityToDto(OperatorView operator);
List<OperatorDto> fromEntityViewToDto(List<OperatorView> operator);
List<OperatorDto> fromEntityToDto(List<Operator> operator);
@Named("stringToList")

View File

@@ -7,7 +7,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.repository.CrudRepository;
import com.datamate.operator.domain.model.OperatorView;
import com.datamate.operator.domain.repository.OperatorViewRepository;
import com.datamate.operator.infrastructure.converter.OperatorConverter;
import com.datamate.operator.infrastructure.persistence.mapper.OperatorViewMapper;
import com.datamate.operator.interfaces.dto.OperatorDto;
import io.micrometer.common.util.StringUtils;
import lombok.RequiredArgsConstructor;
import org.apache.commons.collections4.CollectionUtils;
@@ -21,20 +23,23 @@ public class OperatorViewRepositoryImpl extends CrudRepository<OperatorViewMappe
private final OperatorViewMapper mapper;
@Override
public List<OperatorView> findOperatorsByCriteria(Integer page, Integer size, String operatorName,
List<String> categories, Boolean isStar) {
public List<OperatorDto> findOperatorsByCriteria(Integer page, Integer size, String operatorName,
List<String> categories, Boolean isStar) {
QueryWrapper<OperatorView> queryWrapper = Wrappers.query();
queryWrapper.in(CollectionUtils.isNotEmpty(categories), "category_id", categories)
.like(StringUtils.isNotBlank(operatorName), "operator_name", operatorName)
.eq(isStar != null, "is_star", isStar)
.groupBy("operator_id")
.orderByDesc("created_at");
Page<OperatorView> queryPage = null;
Page<OperatorView> queryPage;
if (size != null && page != null) {
queryPage = new Page<>(page + 1, size);
} else {
queryPage = new Page<>(1, -1);
}
IPage<OperatorView> operators = mapper.findOperatorsByCriteria(queryPage, queryWrapper);
return operators.getRecords();
return OperatorConverter.INSTANCE.fromEntityViewToDto(operators.getRecords());
}
@Override