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

@@ -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);
}