提交 f12991cb 作者: chenshiqiang

add permitKnows

上级 c6ab0b7f
......@@ -90,7 +90,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
knowledge.setVerifyStatus(0);
}
knowledge.setCreateTime(cn.hutool.core.date.DateUtil.formatDateTime(new Date()).replace(" ", "T"));
if(null==knowledge.getPublishDate()){
if (null == knowledge.getPublishDate()) {
knowledge.setPublishDate(cn.hutool.core.date.DateUtil.formatDateTime(new Date()).replace(" ", "T"));
}
......@@ -179,7 +179,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
esOpUtil.docDeleteById(Constants.ES_DATA_FOR_KNOWLEDGE, id);
}
CompletableFuture.runAsync(() ->{
CompletableFuture.runAsync(() -> {
for (String id : split) {
deleteForPython(id);
}
......@@ -206,27 +206,25 @@ class KnowledgeServiceImpl implements IKnowledgeService {
List<String> catList;
List<String> treeList = knowledgeProjectService.getTreeListBy(knowledgeParam.getKnowledgeProjectId())
.stream().map(KbKnowledgeProject::getId).collect(Collectors.toList());
log.info("treeList===={}",treeList.toString());
log.info("treeList===={}", treeList.toString());
//获取用户拥有的分类
KbAuthorizedUser userInfo = SpringContextUtils.getUserInfo();
if (null == userInfo) {
return null;
}
//查看全部且是非管理员的时候
List<String> knowPermitList = new ArrayList<>();
if ((!Integer.valueOf("0").equals(userInfo.getIsAll())) && knowledgeParam.getKnowledgeProjectId().equals("0")) {
Map<String, Boolean> userKnowProjectSigns = authorizedUserService.getUserKnowProjectSigns(treeList, userInfo.getId());
log.info("userKnowProjectSigns=={}",userKnowProjectSigns.toString());
log.info("userKnowProjectSigns=={}", userKnowProjectSigns.toString());
//all permit
Set<Map.Entry<String, Boolean>> entries = userKnowProjectSigns.entrySet();
List<String> allPermitList = entries.stream().filter(Map.Entry::getValue).map(Map.Entry::getKey).collect(Collectors.toList());
List<String> halfPermitList = entries.stream().filter(item->!item.getValue()).map(Map.Entry::getKey).collect(Collectors.toList());
List<String> halfPermitList = entries.stream().filter(item -> !item.getValue()).map(Map.Entry::getKey).collect(Collectors.toList());
//know permit
log.info("halfPermitList=={}",halfPermitList.toString());
List<String> knowPermitList = authorizedUserService.getUserPermissionKnowsByIds(halfPermitList, userInfo.getId());
log.info("knowPermitList=={}",knowPermitList.toString());
if (!knowPermitList.isEmpty()) {
permitKnowList = knowledgeProjectService.getKnowledgeListByUserId(userInfo.getId(), knowPermitList);
}
log.info("halfPermitList=={}", halfPermitList.toString());
knowPermitList = authorizedUserService.getUserPermissionKnowsByIds(halfPermitList, userInfo.getId());
log.info("knowPermitList=={}", knowPermitList.toString());
catList = allPermitList;
} else {
catList = treeList;
......@@ -315,13 +313,13 @@ class KnowledgeServiceImpl implements IKnowledgeService {
boolQuery.must(QueryBuilders.matchPhraseQuery("origin", knowledgeParam.getOrigin()));
}
BoolQueryBuilder outer = new BoolQueryBuilder();
if (!knowPermitList.isEmpty()) {
if (!permitKnowList.isEmpty()) {
BoolQueryBuilder outer = new BoolQueryBuilder();
BoolQueryBuilder boolQueryColumn = new BoolQueryBuilder();
boolQueryColumn.must(QueryBuilders.termsQuery("id", permitKnowList));
boolQueryColumn.must(QueryBuilders.termsQuery("id", knowPermitList));
outer.should(boolQueryColumn);
boolQuery.must(outer);
}
if (!catList.isEmpty()) {
boolQuery.must(QueryBuilders.termsQuery("knowledgeProjectId", catList));
......@@ -343,8 +341,8 @@ class KnowledgeServiceImpl implements IKnowledgeService {
if (StringUtils.isNotBlank(knowledgeParam.getEndTime())) {
boolQuery.filter(QueryBuilders.rangeQuery("publishDate").lte(EsDateUtil.esFieldDateFormat(knowledgeParam.getEndTime())));
}
searchSourceBuilder.query(boolQuery);
outer.should(boolQuery);
searchSourceBuilder.query(outer);
searchRequest.source(searchSourceBuilder);
SearchResponse searchResponse = null;
try {
......@@ -449,17 +447,17 @@ class KnowledgeServiceImpl implements IKnowledgeService {
.publishDate(one.get("publishDate").toString())
.type(one.get("type").toString())
.verifierName(one.get("verifierName").toString())
.contents( Collections.singletonList(Content.builder().contentId(one.get("contentId").toString()).content(one.get("content").toString()).build()))
.contents(Collections.singletonList(Content.builder().contentId(one.get("contentId").toString()).content(one.get("content").toString()).build()))
.build());
}
Map<String, List<KnowledgeVO>> map = knowledgeList.stream().collect(Collectors.groupingBy((KnowledgeVO::getId)));
Iterator<Map.Entry<String, List<KnowledgeVO>>> iterator = map.entrySet().iterator();
List<KnowledgeVO> knowledgeListGrouped = new ArrayList<>(map.size());
while (iterator.hasNext()){
while (iterator.hasNext()) {
Map.Entry<String, List<KnowledgeVO>> next = iterator.next();
List<KnowledgeVO> value = next.getValue();
KnowledgeVO knowledgeVO = value.get(0);
knowledgeVO.setContents(value.stream().map(item->item.getContents().get(0)).collect(Collectors.toList()));
knowledgeVO.setContents(value.stream().map(item -> item.getContents().get(0)).collect(Collectors.toList()));
knowledgeListGrouped.add(knowledgeVO);
}
IPage<KnowledgeVO> pageData = new Page<>(pageNo, pageSize, knowledgeListGrouped.size());
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论