提交 be6454b5 作者: chenshiqiang

deal knowledgeType

上级 5765fd99
...@@ -58,24 +58,35 @@ public class KnowledgeController { ...@@ -58,24 +58,35 @@ public class KnowledgeController {
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
@RequestParam(name = "column", defaultValue = "common") String column, @RequestParam(name = "column", defaultValue = "common") String column,
@RequestParam(name = "order", defaultValue = "desc") String order) { @RequestParam(name = "order", defaultValue = "desc") String order) {
if (null != knowledgeParam.getSearchInfo() && Integer.valueOf("2").equals(knowledgeParam.getSearchScope())) {
IPage<KnowledgeVO> pageList = knowledgeService.listFromPython(knowledgeParam, pageNo, pageSize, column, order);
return Result.OK(pageList);
}
IPage<KnowledgeVO> pageList = knowledgeService.queryPageList(knowledgeParam, pageNo, pageSize, column, order); IPage<KnowledgeVO> pageList = knowledgeService.queryPageList(knowledgeParam, pageNo, pageSize, column, order);
return Result.OK(pageList); return Result.OK(pageList);
} }
/**
* 分页列表查询
*/
@GetMapping(value = "/getById")
public Result<?> getById(@RequestParam String id) {
KnowledgeVO knowledgeVO=knowledgeService.getById(id);
return Result.OK(knowledgeVO);
}
/** /**
* 分页列表查询 * 分页列表查询
*/ */
@GetMapping(value = "/listFromPython") @GetMapping(value = "/listFromPython")
public Result<?> listFromPython(KnowledgeParam knowledgeParam, public Result<?> listFromPython(KnowledgeParam knowledgeParam,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
@RequestParam(name = "column", defaultValue = "common") String column, @RequestParam(name = "column", defaultValue = "common") String column,
@RequestParam(name = "order", defaultValue = "desc") String order) { @RequestParam(name = "order", defaultValue = "desc") String order) {
IPage<KnowledgeVO> pageList = knowledgeService.listFromPython(knowledgeParam, pageNo, pageSize, column, order); IPage<KnowledgeVO> pageList = knowledgeService.listFromPython(knowledgeParam, pageNo, pageSize, column, order);
return Result.OK(pageList); return Result.OK(pageList);
} }
/** /**
* 添加 * 添加
* *
...@@ -84,16 +95,16 @@ public class KnowledgeController { ...@@ -84,16 +95,16 @@ public class KnowledgeController {
*/ */
@ApiOperation(value = "知识-添加", notes = "知识-添加") @ApiOperation(value = "知识-添加", notes = "知识-添加")
@PostMapping(value = "/uploadKnowledge") @PostMapping(value = "/uploadKnowledge")
public Result<?> uploadKnowledge(HttpServletRequest request, Knowledge knowledge) { public Result<?> uploadKnowledge(HttpServletRequest request, Knowledge knowledge) {
MultipartHttpServletRequest multipartRequest = WebUtils.getNativeRequest(request, MultipartHttpServletRequest.class); MultipartHttpServletRequest multipartRequest = WebUtils.getNativeRequest(request, MultipartHttpServletRequest.class);
Map<String,MultipartFile> fileMap = multipartRequest.getFileMap(); Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
List<Result<KnowFile>> resultList = localFileService.upload(fileMap); List<Result<KnowFile>> resultList = localFileService.upload(fileMap);
if(null==resultList||resultList.isEmpty()){ if (null == resultList || resultList.isEmpty()) {
return Result.error("上传文件失败"); return Result.error("上传文件失败");
} }
for (Result<KnowFile> knowFileResult : resultList) { for (Result<KnowFile> knowFileResult : resultList) {
knowledgeService.addKnowledge(knowFileResult.getResult(),knowledge); knowledgeService.addKnowledge(knowFileResult.getResult(), knowledge);
} }
return Result.OK("添加成功!"); return Result.OK("添加成功!");
} }
...@@ -122,11 +133,12 @@ public class KnowledgeController { ...@@ -122,11 +133,12 @@ public class KnowledgeController {
knowledgeService.deleteKnowledge(ids); knowledgeService.deleteKnowledge(ids);
return Result.OK("删除成功!"); return Result.OK("删除成功!");
} }
/** /**
* 文档解析 * 文档解析
*/ */
@GetMapping(value = "/parse") @GetMapping(value = "/parse")
public Result<?> parse(@RequestParam(name = "filePath")String filePath) throws IOException { public Result<?> parse(@RequestParam(name = "filePath") String filePath) throws IOException {
String s = DocUtil.docParseHtml(filePath); String s = DocUtil.docParseHtml(filePath);
return Result.OK(s); return Result.OK(s);
} }
...@@ -138,13 +150,13 @@ public class KnowledgeController { ...@@ -138,13 +150,13 @@ public class KnowledgeController {
* @return * @return
*/ */
@PostMapping(value = "/IntelligentQa") @PostMapping(value = "/IntelligentQa")
public Result<?> intelligentQa( IntelligentQaParam intelligentQaParam) throws IOException { public Result<?> intelligentQa(IntelligentQaParam intelligentQaParam) throws IOException {
JSONObject params = new JSONObject(); JSONObject params = new JSONObject();
params.put("question",intelligentQaParam.getQuestion()); params.put("question", intelligentQaParam.getQuestion());
params.put("knowledge_base_id",Arrays.asList(intelligentQaParam.getKnowledgeProjectIds().split(","))); params.put("knowledge_base_id", Arrays.asList(intelligentQaParam.getKnowledgeProjectIds().split(",")));
String result = HttpUtil.doPost(intelligentQaUrl, params, 120000); String result = HttpUtil.doPost(intelligentQaUrl, params, 120000);
if(!result.isEmpty()){ if (!result.isEmpty()) {
JSONObject jsonObject= JSON.parseObject(result); JSONObject jsonObject = JSON.parseObject(result);
return Result.OK(jsonObject.get("result")); return Result.OK(jsonObject.get("result"));
} }
return Result.error("响应失败"); return Result.error("响应失败");
......
...@@ -101,6 +101,7 @@ public class Knowledge implements Serializable { ...@@ -101,6 +101,7 @@ public class Knowledge implements Serializable {
/** /**
* 类型 * 类型
*/ */
private String typeId;
private String type; private String type;
private Integer deleteFlag; private Integer deleteFlag;
private List<Content> contents; private List<Content> contents;
......
...@@ -44,4 +44,6 @@ public interface IKnowledgeService { ...@@ -44,4 +44,6 @@ public interface IKnowledgeService {
IPage<KnowledgeVO> queryPageList(KnowledgeParam knowledgeParam, Integer pageNo, Integer pageSize, String column, String order); IPage<KnowledgeVO> queryPageList(KnowledgeParam knowledgeParam, Integer pageNo, Integer pageSize, String column, String order);
IPage<KnowledgeVO> listFromPython(KnowledgeParam knowledgeParam, Integer pageNo, Integer pageSize, String column, String order); IPage<KnowledgeVO> listFromPython(KnowledgeParam knowledgeParam, Integer pageNo, Integer pageSize, String column, String order);
KnowledgeVO getById(String id);
} }
package com.zzsn.knowbase.service.impl; package com.zzsn.knowbase.service.impl;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
...@@ -9,6 +10,7 @@ import com.zzsn.knowbase.constant.Constants; ...@@ -9,6 +10,7 @@ import com.zzsn.knowbase.constant.Constants;
import com.zzsn.knowbase.entity.Content; import com.zzsn.knowbase.entity.Content;
import com.zzsn.knowbase.entity.KnowFile; import com.zzsn.knowbase.entity.KnowFile;
import com.zzsn.knowbase.entity.Knowledge; import com.zzsn.knowbase.entity.Knowledge;
import com.zzsn.knowbase.enums.KnowTypeEnum;
import com.zzsn.knowbase.kafka.message.KnowledgeMessage; import com.zzsn.knowbase.kafka.message.KnowledgeMessage;
import com.zzsn.knowbase.kafka.producer.ProduceInfo; import com.zzsn.knowbase.kafka.producer.ProduceInfo;
import com.zzsn.knowbase.service.IKnowledgeService; import com.zzsn.knowbase.service.IKnowledgeService;
...@@ -41,10 +43,7 @@ import springfox.documentation.spring.web.json.Json; ...@@ -41,10 +43,7 @@ import springfox.documentation.spring.web.json.Json;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static org.apache.commons.lang3.StringUtils.split; import static org.apache.commons.lang3.StringUtils.split;
...@@ -81,6 +80,10 @@ class KnowledgeServiceImpl implements IKnowledgeService { ...@@ -81,6 +80,10 @@ class KnowledgeServiceImpl implements IKnowledgeService {
if (null == knowledge.getVerifyStatus()) { if (null == knowledge.getVerifyStatus()) {
knowledge.setVerifyStatus(0); knowledge.setVerifyStatus(0);
} }
if (null == knowledge.getType()) {
knowledge.setType(KnowTypeEnum.getByType(knowledge.getTypeId()).getDes());
}
knowledge.setCreateTime(cn.hutool.core.date.DateUtil.formatDateTime(new Date()).replace(" ", "T")); knowledge.setCreateTime(cn.hutool.core.date.DateUtil.formatDateTime(new Date()).replace(" ", "T"));
knowledge.setDeleteFlag(0); knowledge.setDeleteFlag(0);
...@@ -148,7 +151,7 @@ class KnowledgeServiceImpl implements IKnowledgeService { ...@@ -148,7 +151,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
public void deleteForPython(String id) { public void deleteForPython(String id) {
JSONObject params = new JSONObject(); JSONObject params = new JSONObject();
params.put("knowledge_base_id",id); params.put("knowledge_base_id", id);
try { try {
HttpUtil.doPost(deleteUrl, params, 120000); HttpUtil.doPost(deleteUrl, params, 120000);
} catch (IOException e) { } catch (IOException e) {
...@@ -296,8 +299,14 @@ class KnowledgeServiceImpl implements IKnowledgeService { ...@@ -296,8 +299,14 @@ class KnowledgeServiceImpl implements IKnowledgeService {
// if (org.springframework.util.StringUtils.isEmpty(data)) { // if (org.springframework.util.StringUtils.isEmpty(data)) {
if (true) { if (true) {
StringBuilder typeNames = new StringBuilder();
if(null != knowledgeParam.getTypeIds()){
for (String type : knowledgeParam.getTypeIds().split(",")) {
typeNames.append(KnowTypeEnum.getByType(type).getDes()).append(",");
}
}
JSONObject params = new JSONObject(); JSONObject params = new JSONObject();
params.put("type", null == knowledgeParam.getTypes() ? null : Arrays.asList(knowledgeParam.getTypes().split(","))); params.put("type",typeNames );
params.put("startTime", knowledgeParam.getStartTime()); params.put("startTime", knowledgeParam.getStartTime());
params.put("endTime", knowledgeParam.getEndTime()); params.put("endTime", knowledgeParam.getEndTime());
params.put("author", knowledgeParam.getAuthor()); params.put("author", knowledgeParam.getAuthor());
...@@ -319,21 +328,21 @@ class KnowledgeServiceImpl implements IKnowledgeService { ...@@ -319,21 +328,21 @@ class KnowledgeServiceImpl implements IKnowledgeService {
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
if (result == null||!result.contains("results")) { if (result == null || !result.contains("results")) {
return null; return null;
} }
JSONObject jsonObject = JSONObject.parseObject(result); JSONObject jsonObject = JSONObject.parseObject(result);
data=jsonObject.get("results"); data = jsonObject.get("results");
redisUtil.set(genKey(knowledgeParam), data,100000000); redisUtil.set(genKey(knowledgeParam), data, 100000000);
} }
JSONArray jsonArray = JSONObject.parseArray(data.toString()); JSONArray jsonArray = JSONObject.parseArray(data.toString());
List<KnowledgeVO> knowledgeList=new ArrayList<>(jsonArray.size()); List<KnowledgeVO> knowledgeList = new ArrayList<>(jsonArray.size());
for (Object o : jsonArray) { for (Object o : jsonArray) {
JSONObject one = JSONObject.parseObject(o.toString()); JSONObject one = JSONObject.parseObject(o.toString());
knowledgeList.add(KnowledgeVO.builder() knowledgeList.add(KnowledgeVO.builder()
.id((String) one.get("id")) .id((String) one.get("id"))
.score((int) one.get("score")) .score((int) one.get("score"))
.verifyStatus("".equals(one.get("verifyStatus"))?0:(int)one.get("verifyStatus")) .verifyStatus("".equals(one.get("verifyStatus")) ? 0 : Integer.parseInt(one.get("verifyStatus").toString()))
.verifyTime(one.get("verifyTime").toString()) .verifyTime(one.get("verifyTime").toString())
.publishDate(one.get("publishDate").toString()) .publishDate(one.get("publishDate").toString())
.type(one.get("type").toString()) .type(one.get("type").toString())
...@@ -347,8 +356,17 @@ class KnowledgeServiceImpl implements IKnowledgeService { ...@@ -347,8 +356,17 @@ class KnowledgeServiceImpl implements IKnowledgeService {
return pageData; return pageData;
} }
@Override
public KnowledgeVO getById(String id) {
Map<String, Object> map = esOpUtil.searchDoc(Constants.ES_DATA_FOR_KNOWLEDGE, id);
if (map != null) {
return JSON.parseObject(JSON.toJSONString(map), KnowledgeVO.class);
}
return null;
}
private String genKey(KnowledgeParam knowledgeParam) { private String genKey(KnowledgeParam knowledgeParam) {
String type = (knowledgeParam.getTypes() == null ? "" : knowledgeParam.getTypes()); String type = (knowledgeParam.getTypeIds() == null ? "" : knowledgeParam.getTypeIds());
String knowledgeProjectId = (knowledgeParam.getKnowledgeProjectId() == null ? "" : knowledgeParam.getKnowledgeProjectId()); String knowledgeProjectId = (knowledgeParam.getKnowledgeProjectId() == null ? "" : knowledgeParam.getKnowledgeProjectId());
String startTime = (knowledgeParam.getStartTime() == null ? "" : knowledgeParam.getStartTime()); String startTime = (knowledgeParam.getStartTime() == null ? "" : knowledgeParam.getStartTime());
String endTime = (knowledgeParam.getEndTime() == null ? "" : knowledgeParam.getEndTime()); String endTime = (knowledgeParam.getEndTime() == null ? "" : knowledgeParam.getEndTime());
......
...@@ -48,7 +48,7 @@ public class KnowledgeParam { ...@@ -48,7 +48,7 @@ public class KnowledgeParam {
/** /**
* 类型 * 类型
*/ */
private String types; private String typeIds;
/** /**
* 发布开始时间 * 发布开始时间
*/ */
......
package com.zzsn.knowbase.vo; package com.zzsn.knowbase.vo;
import com.zzsn.knowbase.entity.Content;
import com.zzsn.knowbase.entity.KnowFile;
import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/** /**
* 知识参数 * 知识参数
...@@ -11,15 +17,21 @@ import lombok.Data; ...@@ -11,15 +17,21 @@ import lombok.Data;
*/ */
@Data @Data
@Builder @Builder
@NoArgsConstructor
@AllArgsConstructor
public class KnowledgeVO { public class KnowledgeVO {
private String content; private String content;
private String id; private String id;
private String title;
private String verifyTime; private String verifyTime;
private String publishDate; private String publishDate;
private String createTime;
private String type; private String type;
private String verifierName; private String verifierName;
private Integer score; private Integer score;
private Integer verifyStatus; private Integer verifyStatus;
private List<Content> contents;
private List<KnowFile> files;
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论