提交 be6454b5 作者: chenshiqiang

deal knowledgeType

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