提交 4a981b14 作者: obcy

Merge remote-tracking branch 'origin/master'

......@@ -82,9 +82,7 @@ public class KnowledgeController {
return Result.OK(knowledgeVO);
}
/**
* 分页列表查询
*/
@GetMapping(value = "/listFromPython")
public Result<?> listFromPython(KnowledgeParam knowledgeParam,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
......@@ -105,6 +103,7 @@ public class KnowledgeController {
@PostMapping(value = "/uploadKnowledge")
public Result<?> uploadKnowledge(HttpServletRequest request, Knowledge knowledge) {
MultipartHttpServletRequest multipartRequest = WebUtils.getNativeRequest(request, MultipartHttpServletRequest.class);
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
Result<List<KnowFile>> result = localFileService.upload(fileMap);
if(!Integer.valueOf("200").equals(result.getCode())){
......@@ -152,10 +151,6 @@ public class KnowledgeController {
knowledgeService.deleteKnowledge(ids);
return Result.OK("删除成功!");
}
/**
* 文档解析
*/
@GetMapping(value = "/parse")
public Result<?> parse(@RequestParam(name = "filePath") String filePath) throws IOException {
String s = DocUtil.docParseHtml(filePath);
......
......@@ -11,8 +11,8 @@ import com.zzsn.knowbase.entity.*;
import com.zzsn.knowbase.kafka.message.KnowledgeMessage;
import com.zzsn.knowbase.kafka.producer.ProduceInfo;
import com.zzsn.knowbase.service.IKnowledgeService;
import com.zzsn.knowbase.service.KbAuthorizedUserService;
import com.zzsn.knowbase.service.KbKnowledgeProjectService;
import com.zzsn.knowbase.service.KbKnowledgeProjectTypeService;
import com.zzsn.knowbase.util.*;
import com.zzsn.knowbase.vo.KnowledgeParam;
import com.zzsn.knowbase.vo.KnowledgeVO;
......@@ -66,7 +66,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
@Autowired
private KbKnowledgeProjectService knowledgeProjectService;
@Autowired
private KbKnowledgeProjectTypeService kbKnowledgeProjectTypeService;
private KbAuthorizedUserService authorizedUserService;
@Autowired
private ProduceInfo produceInfo;
@Value("${python.searchUrl:}")
......@@ -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);
}
......@@ -201,39 +201,35 @@ class KnowledgeServiceImpl implements IKnowledgeService {
@Override
public IPage<KnowledgeVO> queryPageList(KnowledgeParam knowledgeParam, Integer pageNo, Integer pageSize, String column, String order) {
List<String> permitKnowList = new ArrayList<>();
List<String> catList;
List<String> treeList = knowledgeProjectService.getTreeListBy(knowledgeParam.getKnowledgeProjectId())
.stream().map(KbKnowledgeProject::getId).collect(Collectors.toList());
log.info("treeList===={}", treeList.toString());
//获取用户拥有的分类
KbAuthorizedUser userInfo = SpringContextUtils.getUserInfo();
if (null == userInfo) {
return null;
}
//查看全部且是非管理员的时候
if ((!Integer.valueOf("0").equals(userInfo.getIsAll())) && knowledgeParam.getKnowledgeProjectId().equals("0")) {
List<KbAuthuserKnowledgeprojectMap> permitKnowProjectList = knowledgeProjectService.getKnowledgeProjectListByUserId(userInfo.getId());
List<String> knowPermitList = new ArrayList<>();
if (!Integer.valueOf("0").equals(userInfo.getIsAll())) {
Map<String, Boolean> userKnowProjectSigns = authorizedUserService.getUserKnowProjectSigns(treeList, userInfo.getId());
log.info("userKnowProjectSigns=={}", userKnowProjectSigns.toString());
//all permit
List<String> allPermitList = permitKnowProjectList.stream()
.filter(item -> item.getSign() == 0)
.map(KbAuthuserKnowledgeprojectMap::getKnowledgeProjectId)
.collect(Collectors.toList());
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());
//know permit
List<String> knowPermitList = permitKnowProjectList.stream()
.filter(item -> item.getSign() == 1)
.map(KbAuthuserKnowledgeprojectMap::getKnowledgeProjectId)
.collect(Collectors.toList());
if (!knowPermitList.isEmpty()) {
permitKnowList = knowledgeProjectService.getKnowledgeListByUserId(userInfo.getId(), knowPermitList);
log.info("halfPermitList=={}", halfPermitList.toString());
if(!halfPermitList.isEmpty()){
knowPermitList = authorizedUserService.getUserPermissionKnowsByIds(halfPermitList, userInfo.getId());
}
catList = (List<String>) CollectionUtils.intersection(treeList, allPermitList);
log.info("knowPermitList=={}", knowPermitList.toString());
catList = allPermitList;
} else {
catList = treeList;
}
SearchRequest searchRequest = new SearchRequest(Constants.ES_DATA_FOR_KNOWLEDGE);
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
//设置分页参数
......@@ -317,13 +313,18 @@ class KnowledgeServiceImpl implements IKnowledgeService {
if (StringUtils.isNotEmpty(knowledgeParam.getOrigin())) {
boolQuery.must(QueryBuilders.matchPhraseQuery("origin", knowledgeParam.getOrigin()));
}
if (StringUtils.isNotEmpty(knowledgeParam.getId())) {
boolQuery.must(QueryBuilders.termsQuery("id", permitKnowList));
if (StringUtils.isNotEmpty(knowledgeParam.getVerifierName())) {
boolQuery.must(QueryBuilders.matchPhraseQuery("verifierName", knowledgeParam.getVerifierName()));
}
if (!catList.isEmpty()) {
boolQuery.must(QueryBuilders.termsQuery("knowledgeProjectId", catList));
BoolQueryBuilder outer = new BoolQueryBuilder();
if (!knowPermitList.isEmpty()) {
BoolQueryBuilder boolQueryColumn = new BoolQueryBuilder();
boolQueryColumn.must(QueryBuilders.termsQuery("id", knowPermitList));
outer.should(boolQueryColumn);
}
boolQuery.must(QueryBuilders.termsQuery("knowledgeProjectId", catList));
if (StringUtils.isNotEmpty(knowledgeParam.getTypeIds())) {
boolQuery.must(QueryBuilders.termsQuery("typeId", Arrays.asList(knowledgeParam.getTypeIds().split(","))));
}
......@@ -341,8 +342,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 {
......@@ -438,7 +439,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
knowledgeList.add(KnowledgeVO.builder()
.id((String) one.get("id"))
.importData((int) one.get("importData"))
.importData(Integer.valueOf(one.get("importData").toString()))
.title((String) one.get("title"))
.author((String) one.get("author"))
.score((int) one.get("score"))
......@@ -447,17 +448,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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论