bugfix: 清洗/算子支持名称/描述搜索 (#116)

* bugfix: milvus适配etcd deploy部署

* bugfix: 可以在知识库界面跳转到创建模型
This commit is contained in:
hhhhsc701
2025-11-29 18:15:43 +08:00
committed by GitHub
parent 5c178d5274
commit bb3345268e
22 changed files with 88 additions and 56 deletions

View File

@@ -24,9 +24,14 @@ public class CleaningTaskRepositoryImpl extends CrudRepository<CleaningTaskMappe
public List<CleaningTaskDto> findTasks(String status, String keywords, Integer page, Integer size) {
LambdaQueryWrapper<CleaningTask> lambdaWrapper = new LambdaQueryWrapper<>();
lambdaWrapper.eq(StringUtils.isNotBlank(status), CleaningTask::getStatus, status)
.like(StringUtils.isNotBlank(keywords), CleaningTask::getName, keywords)
.orderByDesc(CleaningTask::getCreatedAt);
lambdaWrapper.eq(StringUtils.isNotBlank(status), CleaningTask::getStatus, status);
if (StringUtils.isNotBlank(keywords)) {
lambdaWrapper.and(w ->
w.like(CleaningTask::getName, keywords)
.or()
.like(CleaningTask::getDescription, keywords));
}
lambdaWrapper.orderByDesc(CleaningTask::getCreatedAt);
if (size != null && page != null) {
Page<CleaningTask> queryPage = new Page<>(page + 1, size);
IPage<CleaningTask> resultPage = mapper.selectPage(queryPage, lambdaWrapper);

View File

@@ -25,8 +25,12 @@ public class CleaningTemplateRepositoryImpl extends CrudRepository<CleaningTempl
@Override
public List<TemplateWithInstance> findAllTemplates(String keywords) {
QueryWrapper<TemplateWithInstance> queryWrapper = new QueryWrapper<>();
queryWrapper.like(StringUtils.isNotBlank(keywords), "name", keywords)
.orderByDesc("created_at");
if (StringUtils.isNotBlank(keywords)) {
queryWrapper.like("name", keywords)
.or()
.like("description", keywords);
}
queryWrapper.orderByDesc("created_at");
return mapper.findAllTemplates(queryWrapper);
}

View File

@@ -20,9 +20,9 @@ public class CleaningTaskController {
public PagedResponse<CleaningTaskDto> cleaningTasksGet(
@RequestParam("page") Integer page,
@RequestParam("size") Integer size, @RequestParam(value = "status", required = false) String status,
@RequestParam(value = "keywords", required = false) String keywords) {
List<CleaningTaskDto> tasks = cleaningTaskService.getTasks(status, keywords, page, size);
int count = cleaningTaskService.countTasks(status, keywords);
@RequestParam(value = "keyword", required = false) String keyword) {
List<CleaningTaskDto> tasks = cleaningTaskService.getTasks(status, keyword, page, size);
int count = cleaningTaskService.countTasks(status, keyword);
int totalPages = (count + size + 1) / size;
return PagedResponse.of(tasks, page, count, totalPages);
}

View File

@@ -30,7 +30,7 @@ public class CleaningTemplateController {
public PagedResponse<CleaningTemplateDto> cleaningTemplatesGet(
@RequestParam(value = "page", required = false) Integer page,
@RequestParam(value = "size", required = false) Integer size,
@RequestParam(value = "keywords", required = false) String keyword) {
@RequestParam(value = "keyword", required = false) String keyword) {
List<CleaningTemplateDto> templates = cleaningTemplateService.getTemplates(keyword);
if (page == null || size == null) {
return PagedResponse.of(templates.stream()

View File

@@ -49,12 +49,12 @@ public class OperatorService {
private String operatorBasePath;
public List<OperatorDto> getOperators(Integer page, Integer size, List<String> categories,
String operatorName, Boolean isStar) {
return operatorViewRepo.findOperatorsByCriteria(page, size, operatorName, categories, isStar);
String keyword, Boolean isStar) {
return operatorViewRepo.findOperatorsByCriteria(page, size, keyword, categories, isStar);
}
public int getOperatorsCount(List<String> categories, String operatorName, Boolean isStar) {
return operatorViewRepo.countOperatorsByCriteria(operatorName, categories, isStar);
public int getOperatorsCount(List<String> categories, String keyword, Boolean isStar) {
return operatorViewRepo.countOperatorsByCriteria(keyword, categories, isStar);
}
public OperatorDto getOperatorById(String id) {

View File

@@ -7,10 +7,10 @@ import com.datamate.operator.interfaces.dto.OperatorDto;
import java.util.List;
public interface OperatorViewRepository extends IRepository<OperatorView> {
List<OperatorDto> findOperatorsByCriteria(Integer page, Integer size, String operatorName,
List<OperatorDto> findOperatorsByCriteria(Integer page, Integer size, String keyword,
List<String> categories, Boolean isStar);
Integer countOperatorsByCriteria(String operatorName, List<String> categories, Boolean isStar);
Integer countOperatorsByCriteria(String keyword, List<String> categories, Boolean isStar);
OperatorView findOperatorById(String id);
}

View File

@@ -23,13 +23,18 @@ public class OperatorViewRepositoryImpl extends CrudRepository<OperatorViewMappe
private final OperatorViewMapper mapper;
@Override
public List<OperatorDto> findOperatorsByCriteria(Integer page, Integer size, String operatorName,
public List<OperatorDto> findOperatorsByCriteria(Integer page, Integer size, String keyword,
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")
.eq(isStar != null, "is_star", isStar);
if (StringUtils.isNotEmpty(keyword)) {
queryWrapper.and(w ->
w.like("operator_name", keyword)
.or()
.like("description", keyword));
}
queryWrapper.groupBy("operator_id")
.orderByDesc("created_at");
Page<OperatorView> queryPage;
if (size != null && page != null) {
@@ -43,11 +48,16 @@ public class OperatorViewRepositoryImpl extends CrudRepository<OperatorViewMappe
}
@Override
public Integer countOperatorsByCriteria(String operatorName, List<String> categories, Boolean isStar) {
public Integer countOperatorsByCriteria(String keyword, 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);
if (StringUtils.isNotEmpty(keyword)) {
queryWrapper.and(w ->
w.like("operator_name", keyword)
.or()
.like("description", keyword));
}
return mapper.countOperatorsByCriteria(queryWrapper);
}

View File

@@ -17,7 +17,7 @@ import lombok.Setter;
public class OperatorsListPostRequest extends PagingQuery {
private List<String> categories = new ArrayList<>();
private String operatorName;
private String keyword;
private String labelName;

View File

@@ -29,8 +29,8 @@ public class OperatorController {
categories.remove(OperatorConstant.CATEGORY_STAR_ID);
}
List<OperatorDto> responses = operatorService.getOperators(request.getPage(), request.getSize(),
categories, request.getOperatorName(), isStar);
int count = operatorService.getOperatorsCount(categories, request.getOperatorName(), isStar);
categories, request.getKeyword(), isStar);
int count = operatorService.getOperatorsCount(categories, request.getKeyword(), isStar);
int totalPages = (count + request.getSize() + 1) / request.getSize();
return PagedResponse.of(responses, request.getPage(), count, totalPages);
}