新增作者相关参数及接口
This commit is contained in:
@@ -96,6 +96,22 @@ public class FriendFinderImpl implements FriendFinder {
|
||||
));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<String> listAllAuthors() {
|
||||
var listOptions = new ListOptions();
|
||||
// 只查有数据的,排除已删除的
|
||||
var query = isNull("metadata.deletionTimestamp");
|
||||
listOptions.setFieldSelector(FieldSelector.of(query));
|
||||
|
||||
return client.listAll(FriendPost.class, listOptions, defaultSort())
|
||||
// 提取作者名
|
||||
.map(friendPost -> friendPost.getSpec().getAuthor())
|
||||
// 过滤掉空值
|
||||
.filter(StringUtils::isNotBlank)
|
||||
// 去重
|
||||
.distinct();
|
||||
}
|
||||
|
||||
private Mono<ListResult<FriendPostVo>> pageFriendPost(ListOptions queryOptions, PageRequest page){
|
||||
var listOptions = new ListOptions();
|
||||
var query = all();
|
||||
@@ -220,6 +236,8 @@ public class FriendFinderImpl implements FriendFinder {
|
||||
private Integer page;
|
||||
private Integer size;
|
||||
private String linkName;
|
||||
// 作者查询
|
||||
private String author;
|
||||
private List<String> sort;
|
||||
|
||||
public ListOptions toListOptions() {
|
||||
@@ -227,6 +245,10 @@ public class FriendFinderImpl implements FriendFinder {
|
||||
if (StringUtils.isNotBlank(linkName)) {
|
||||
builder.andQuery(equal("spec.linkName", linkName));
|
||||
}
|
||||
// 作者查询
|
||||
if (StringUtils.isNotBlank(author)) {
|
||||
builder.andQuery(equal("spec.author", author));
|
||||
}
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user