提交 310640c1 作者: yanxin

整合专题数据

编辑逻辑优化
上级 ea4d4ea6
...@@ -187,10 +187,10 @@ ...@@ -187,10 +187,10 @@
<dependency> <dependency>
<groupId>com.aspose</groupId> <groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId> <artifactId>aspose-words</artifactId>
<version>21.1.0</version> <version>15.12.0</version>
<type>jar</type> <type>jar</type>
<scope>system</scope> <scope>system</scope>
<systemPath>${project.basedir}/lib/aspose-words-21.1-jdk17.jar</systemPath> <systemPath>${project.basedir}/lib/aspose-words-15.12.0-jdk16.jar</systemPath>
</dependency> </dependency>
<dependency> <dependency>
......
...@@ -20,8 +20,8 @@ public class Constants { ...@@ -20,8 +20,8 @@ public class Constants {
//新领导讲话索引(22.08.24) //新领导讲话索引(22.08.24)
public final static String LEADER_SPEECH_BASE_DATA = "leaderspeech_new"; public final static String LEADER_SPEECH_BASE_DATA = "leaderspeech_new";
//新专题库(22.04.24) //专题库
public final static String ES_SUBJECT_DATA = "subjectdata"; public final static String ES_SUBJECT_DATA = "subjectdatabase";
//审计对接旧索引(废弃) //审计对接旧索引(废弃)
public final static String ES_SUBJECT_DEV_DATA = "subjectdatabase_dev"; public final static String ES_SUBJECT_DEV_DATA = "subjectdatabase_dev";
...@@ -29,7 +29,7 @@ public class Constants { ...@@ -29,7 +29,7 @@ public class Constants {
//处理后的专题资讯信息存储索引。 //处理后的专题资讯信息存储索引。
public final static String ES_DATA_FOR_SUBJECT = "subjectdatabase_2023"; public final static String ES_DATA_FOR_SUBJECT = "subjectdatabase_2023";
//知识库 //知识库
public final static String ES_DATA_FOR_KNOWLEDGE = "knowledgedatabase"; public final static String ES_DATA_FOR_KNOWLEDGE = "knowledgedatabase_nt";
/* /*
* 专题内容主次关系索引 * 专题内容主次关系索引
*/ */
......
...@@ -31,6 +31,35 @@ public class KbKnowledges extends Model<KbKnowledges> { ...@@ -31,6 +31,35 @@ public class KbKnowledges extends Model<KbKnowledges> {
*/ */
@TableField("name") @TableField("name")
private String name; private String name;
/**
* 绑定专题,多个用逗号分隔
*/
@TableField("subject_id")
private String subjectId;
/**
* 同步数据状态,多个用逗号分隔,为空同步所有状态
*/
@TableField("subject_status")
private String subjectStatus;
/**
* 同步数据发布状态,多个用逗号分隔,为空同步所有状态
*/
@TableField("subject_publish_status")
private String subjectPublishStatus;
/**
* 二级分类
*/
@TableField("project_id")
private String projectId;
/**
* 一级分类
*/
@TableField("type_id")
private String typeId;
/**
* 同步状态 1:启用 0:停用
*/
@TableField("sync_status")
private Integer syncStatus;
} }
...@@ -54,18 +54,17 @@ public class Knowledge implements Serializable { ...@@ -54,18 +54,17 @@ public class Knowledge implements Serializable {
@ApiModelProperty(value = "创建日期") @ApiModelProperty(value = "创建日期")
private String createTime; private String createTime;
/** /**
* 更新人 * 专题id
*/ */
@ApiModelProperty(value = "更新人") private String subjectId;
private String updateBy;
/** /**
* 更新日期 * 专题id
*/ */
private String updateTime; private String contentWithTag;
/** /**
* 状态(1启用 0不启用) * 更新日期
*/ */
private Integer status; private String updateDate;
/** /**
* 来源 * 来源
*/ */
...@@ -104,6 +103,10 @@ public class Knowledge implements Serializable { ...@@ -104,6 +103,10 @@ public class Knowledge implements Serializable {
private String kbKnowledgeId; private String kbKnowledgeId;
private String contentAll; private String contentAll;
/** /**
* 链接地址
*/
private String sourceAddress;;
/**
* 类型 * 类型
*/ */
private String typeId; private String typeId;
...@@ -113,7 +116,7 @@ public class Knowledge implements Serializable { ...@@ -113,7 +116,7 @@ public class Knowledge implements Serializable {
private List<KnowFile> files; private List<KnowFile> files;
private Integer score; private Integer score;
/** /**
* 0word 1excel 2ppt 3pdf * 0word 1excel&subject 2ppt 3pdf
*/ */
private Integer importData; private Integer importData;
......
package com.zzsn.knowbase.entity.subject;
import lombok.Data;
import java.util.List;
@Data
public class IntelligenceInfo {
//作者
private String author;
private String authorRaw;
//审核状态 (0:未审核 1:审核通过 2:审核未通过 3:暂定 4:重复数据 默认值为0)
private Integer checkStatus;
//发布状态 checkStatus=1时生效(0/null:待发布 1:已发布 2:已下架 默认值为null)
private Integer publishStatus;
//正文
private String content;
private String contentRaw;
//带标签正文
private String contentWithTag;
private String contentWithTagRaw;
//创建时间
private String createDate;
//删除标志
private Integer deleteFlag;
//id
private String id;
//关键词
private String keyWords;
//语言
private String lang;
//来源
private String origin;
private String originRaw;
//发布时间
private String publishDate;
//得分
private Double score;
//信息源id
private String sid;
//地址
private String sourceAddress;
//专题id
private String subjectId;
//摘要
private String summary;
private String summaryRaw;
//标题
private String title;
private String titleRaw;
//置顶
private Integer topNum;
private String type;
private List<Label> labels;
//正负面
private String orientation;
//更新时间
private String updateDate;
//图片处理状态
private String imgDisposeStatus;
//数据类型 qbyw:情报要闻 qbnc:情报内参 cgbg: 常规报告
private String dataType;
//abi报表地址
private String abiUrl;
//abi报表id
private String abiId;
//栏目列表 对应栏目管理code字段
private List<String> programaIds;
//资源目录 对应资源目录管理code字段
private String resourceCatalogId;
//关键词列表
private List<String> keyWordsList;
//入专题库时间
private String processDate;
}
package com.zzsn.knowbase.entity.subject;
import lombok.Data;
/**
* 基础信息打上标签的实体对象
*/
@Data
public class Label {
//命中标识
private String hitRemarks;
//标签标识
private String labelMark;
//标签备注
private String labelRemarks;
//项目标签id
private String projectLabelId;
//关联标签id
private String relationId;
//关联标签名称
private String relationName;
//审核状态
private Integer status;
}
...@@ -34,6 +34,8 @@ public interface IKnowledgeService { ...@@ -34,6 +34,8 @@ public interface IKnowledgeService {
*/ */
void deleteKnowledge(List<Knowledge> knowledgeList); void deleteKnowledge(List<Knowledge> knowledgeList);
void deleteForPython(String id, String knowledgeBaseId);
/** /**
* 分页检索 * 分页检索
* *
......
...@@ -3,6 +3,8 @@ package com.zzsn.knowbase.service; ...@@ -3,6 +3,8 @@ package com.zzsn.knowbase.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.zzsn.knowbase.entity.KbKnowledges; import com.zzsn.knowbase.entity.KbKnowledges;
import java.util.List;
/** /**
* <p> * <p>
* 服务类 * 服务类
...@@ -13,4 +15,5 @@ import com.zzsn.knowbase.entity.KbKnowledges; ...@@ -13,4 +15,5 @@ import com.zzsn.knowbase.entity.KbKnowledges;
*/ */
public interface KbKnowledgesService extends IService<KbKnowledges> { public interface KbKnowledgesService extends IService<KbKnowledges> {
List<KbKnowledges> syncSubjectConf();
} }
...@@ -831,17 +831,19 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap ...@@ -831,17 +831,19 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
boolean success = res.isSuccess(); boolean success = res.isSuccess();
if(200 == res.getCode() && success){ if(200 == res.getCode() && success){
/**校验成功,获取到第三方用户信息*/ /**校验成功,获取到第三方用户信息*/
KbAuthorizedUser bean = JSONUtil.toBean(JSONUtil.toJsonStr(res.getResult()), KbAuthorizedUser.class); KbAuthorizedUser one = JSONUtil.toBean(JSONUtil.toJsonStr(res.getResult()), KbAuthorizedUser.class);
/**校验第三方用户是否进行了授权*/ one.setIsAll(0);
one.setRoleId("1742844597970673665");
/**校验第三方用户是否进行了授权*//*
List<KbAuthorizedUser> list = super.list(Wrappers.<KbAuthorizedUser>lambdaQuery().eq(KbAuthorizedUser::getUserId, bean.getUserId())); List<KbAuthorizedUser> list = super.list(Wrappers.<KbAuthorizedUser>lambdaQuery().eq(KbAuthorizedUser::getUserId, bean.getUserId()));
if (CollectionUtil.isEmpty(list)){ if (CollectionUtil.isEmpty(list)){
HttpServletResponse httpServletResponse = SpringContextUtils.getHttpServletResponse(); HttpServletResponse httpServletResponse = SpringContextUtils.getHttpServletResponse();
httpServletResponse.setStatus(401); httpServletResponse.setStatus(401);
return Result.error("该用户还未进行授权访问,请联系管理员进行授权"); return Result.error("该用户还未进行授权访问,请联系管理员进行授权");
} }
/**查询授权用户的角色和权限*/ *//**查询授权用户的角色和权限*//*
UserInfoVo userInfoVo = new UserInfoVo(); UserInfoVo userInfoVo = new UserInfoVo();
/**查询授权用户,“所有”节点的角色优先*/ *//**查询授权用户,“所有”节点的角色优先*//*
QueryWrapper<KbAuthorizedUser> query = new QueryWrapper<>(); QueryWrapper<KbAuthorizedUser> query = new QueryWrapper<>();
query.eq("a.user_id",bean.getUserId()); query.eq("a.user_id",bean.getUserId());
query.eq("b.knowledge_project_id","0"); query.eq("b.knowledge_project_id","0");
...@@ -852,7 +854,7 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap ...@@ -852,7 +854,7 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
one = authorizedUserMapper.getOne(query1); one = authorizedUserMapper.getOne(query1);
} }
/**是否是所有节点的管理员*/ *//**是否是所有节点的管理员*//*
List<KbAuthuserKnowledgeprojectMap> list1 = authuserKnowledgeprojectMapService.list(Wrappers.<KbAuthuserKnowledgeprojectMap>lambdaQuery() List<KbAuthuserKnowledgeprojectMap> list1 = authuserKnowledgeprojectMapService.list(Wrappers.<KbAuthuserKnowledgeprojectMap>lambdaQuery()
.eq(KbAuthuserKnowledgeprojectMap::getAuthUserId, one.getId()) .eq(KbAuthuserKnowledgeprojectMap::getAuthUserId, one.getId())
.eq(KbAuthuserKnowledgeprojectMap::getKnowledgeProjectId, "0") .eq(KbAuthuserKnowledgeprojectMap::getKnowledgeProjectId, "0")
...@@ -863,7 +865,7 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap ...@@ -863,7 +865,7 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
one.setIsAll(0); one.setIsAll(0);
}else { }else {
one.setIsAll(1); one.setIsAll(1);
} }*/
List<KbRole> kbRoles = roleService.listByIds(Arrays.asList(one.getRoleId().split(","))); List<KbRole> kbRoles = roleService.listByIds(Arrays.asList(one.getRoleId().split(",")));
...@@ -877,6 +879,7 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap ...@@ -877,6 +879,7 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
// e.setPermissions(permissionsService.list(Wrappers.<KbPermissions>lambdaQuery().in(KbPermissions::getId,longs))); // e.setPermissions(permissionsService.list(Wrappers.<KbPermissions>lambdaQuery().in(KbPermissions::getId,longs)));
// } // }
// }); // });
UserInfoVo userInfoVo = new UserInfoVo();
if (CollectionUtil.isNotEmpty(permissionMaps)) { if (CollectionUtil.isNotEmpty(permissionMaps)) {
List<KbPermissions> permissions = permissionsService.list(Wrappers.<KbPermissions>lambdaQuery().in(KbPermissions::getId, permissionMaps.stream().map(KbRolePermissionMap::getPermissionId).collect(Collectors.toList()))); List<KbPermissions> permissions = permissionsService.list(Wrappers.<KbPermissions>lambdaQuery().in(KbPermissions::getId, permissionMaps.stream().map(KbRolePermissionMap::getPermissionId).collect(Collectors.toList())));
userInfoVo.setPermissions(permissions); userInfoVo.setPermissions(permissions);
...@@ -942,42 +945,44 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap ...@@ -942,42 +945,44 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
} }
@Override @Override
public Result<?> doCheckAndGetUser(String token) { public Result<?> doCheckAndGetUser(String token) {
/**调用第三方系统校验接口*/ /**调用第三方系统校验接口*/
Result res = doCheck(token); Result res = doCheck(token);
boolean success = res.isSuccess(); boolean success = res.isSuccess();
if(200 == res.getCode() && success) { if(200 == res.getCode() && success) {
/**校验成功,获取到第三方用户信息*/ /**校验成功,获取到第三方用户信息*/
KbAuthorizedUser bean = JSONUtil.toBean(JSONUtil.toJsonStr(res.getResult()), KbAuthorizedUser.class); KbAuthorizedUser bean = JSONUtil.toBean(JSONUtil.toJsonStr(res.getResult()), KbAuthorizedUser.class);
/**校验第三方用户是否进行了授权*/ // /**校验第三方用户是否进行了授权*/
List<KbAuthorizedUser> list = super.list(Wrappers.<KbAuthorizedUser>lambdaQuery().eq(KbAuthorizedUser::getUserId, bean.getUserId())); // List<KbAuthorizedUser> list = super.list(Wrappers.<KbAuthorizedUser>lambdaQuery().eq(KbAuthorizedUser::getUserId, bean.getUserId()));
if (CollectionUtil.isEmpty(list)) { // if (CollectionUtil.isEmpty(list)) {
HttpServletResponse httpServletResponse = SpringContextUtils.getHttpServletResponse(); // HttpServletResponse httpServletResponse = SpringContextUtils.getHttpServletResponse();
httpServletResponse.setStatus(401); // httpServletResponse.setStatus(401);
return Result.error("该用户还未进行授权访问,请联系管理员进行授权"); // return Result.error("该用户还未进行授权访问,请联系管理员进行授权");
} // }
/**查询授权用户,“所有”节点的角色优先*/ // /**查询授权用户,“所有”节点的角色优先*/
QueryWrapper<KbAuthorizedUser> query = new QueryWrapper<>(); // QueryWrapper<KbAuthorizedUser> query = new QueryWrapper<>();
query.eq("a.user_id",bean.getUserId()); // query.eq("a.user_id",bean.getUserId());
query.eq("b.knowledge_project_id","0"); // query.eq("b.knowledge_project_id","0");
KbAuthorizedUser one = authorizedUserMapper.getOne(query); // KbAuthorizedUser one = authorizedUserMapper.getOne(query);
if (ObjectUtil.isEmpty(one) || StringUtils.isBlank(one.getRoleId())){ // if (ObjectUtil.isEmpty(one) || StringUtils.isBlank(one.getRoleId())){
QueryWrapper<KbAuthorizedUser> query1 = new QueryWrapper<>(); // QueryWrapper<KbAuthorizedUser> query1 = new QueryWrapper<>();
query1.eq("a.user_id",bean.getUserId()); // query1.eq("a.user_id",bean.getUserId());
one = authorizedUserMapper.getOne(query1); // one = authorizedUserMapper.getOne(query1);
} // }
/**是否是所有节点的管理员*/ // /**是否是所有节点的管理员*/
List<KbAuthuserKnowledgeprojectMap> list1 = authuserKnowledgeprojectMapService.list(Wrappers.<KbAuthuserKnowledgeprojectMap>lambdaQuery() // List<KbAuthuserKnowledgeprojectMap> list1 = authuserKnowledgeprojectMapService.list(Wrappers.<KbAuthuserKnowledgeprojectMap>lambdaQuery()
.eq(KbAuthuserKnowledgeprojectMap::getAuthUserId, one.getId()) // .eq(KbAuthuserKnowledgeprojectMap::getAuthUserId, one.getId())
.eq(KbAuthuserKnowledgeprojectMap::getKnowledgeProjectId, "0") // .eq(KbAuthuserKnowledgeprojectMap::getKnowledgeProjectId, "0")
.eq(KbAuthuserKnowledgeprojectMap::getSign, 0) // .eq(KbAuthuserKnowledgeprojectMap::getSign, 0)
); // );
//
if (CollectionUtil.isNotEmpty(list1)){ // if (CollectionUtil.isNotEmpty(list1)){
one.setIsAll(0); // one.setIsAll(0);
}else { // }else {
one.setIsAll(1); // one.setIsAll(1);
} // }
return Result.OK(one); bean.setIsAll(0);
bean.setRoleId("1742844597970673665");
return Result.OK(bean);
}else { }else {
return Result.error("第三方系统未通过用户校验"); return Result.error("第三方系统未通过用户校验");
} }
......
...@@ -193,7 +193,7 @@ public class KbKnowledgeProjectServiceImpl extends ServiceImpl<KbKnowledgeProjec ...@@ -193,7 +193,7 @@ public class KbKnowledgeProjectServiceImpl extends ServiceImpl<KbKnowledgeProjec
e.setRoles(list); e.setRoles(list);
e.setPermissions(permissions); e.setPermissions(permissions);
}); });
//查询此用户,在其他节点有无特殊权限 /*//查询此用户,在其他节点有无特殊权限
List<UserKnowPermissionVo> res = authorizedUserMapper.getUserPermission(userInfo.getId()); List<UserKnowPermissionVo> res = authorizedUserMapper.getUserPermission(userInfo.getId());
List<UserKnowPermissionVo> collect = res.stream().filter(f -> !"0".equals(f.getKnowledgeProjectId())).collect(Collectors.toList()); List<UserKnowPermissionVo> collect = res.stream().filter(f -> !"0".equals(f.getKnowledgeProjectId())).collect(Collectors.toList());
if (CollectionUtil.isNotEmpty(collect)){ if (CollectionUtil.isNotEmpty(collect)){
...@@ -225,7 +225,7 @@ public class KbKnowledgeProjectServiceImpl extends ServiceImpl<KbKnowledgeProjec ...@@ -225,7 +225,7 @@ public class KbKnowledgeProjectServiceImpl extends ServiceImpl<KbKnowledgeProjec
e.setPermissions(permissionsList); e.setPermissions(permissionsList);
} }
}); });
} }*/
return Result.OK(kbKnowledgeProjects); return Result.OK(kbKnowledgeProjects);
}else { }else {
......
package com.zzsn.knowbase.service.impl; package com.zzsn.knowbase.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zzsn.knowbase.entity.KbKnowledges; import com.zzsn.knowbase.entity.KbKnowledges;
import com.zzsn.knowbase.mapper.KbKnowledgesMapper; import com.zzsn.knowbase.mapper.KbKnowledgesMapper;
import com.zzsn.knowbase.service.KbKnowledgesService; import com.zzsn.knowbase.service.KbKnowledgesService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* <p> * <p>
* 服务实现类 * 服务实现类
...@@ -18,4 +22,12 @@ import org.springframework.stereotype.Service; ...@@ -18,4 +22,12 @@ import org.springframework.stereotype.Service;
@Service @Service
public class KbKnowledgesServiceImpl extends ServiceImpl<KbKnowledgesMapper, KbKnowledges> implements KbKnowledgesService { public class KbKnowledgesServiceImpl extends ServiceImpl<KbKnowledgesMapper, KbKnowledges> implements KbKnowledgesService {
@Override
public List<KbKnowledges> syncSubjectConf() {
LambdaQueryWrapper<KbKnowledges> queryWrapper = Wrappers.lambdaQuery();
queryWrapper.isNotNull(KbKnowledges::getSubjectId);
queryWrapper.ne(KbKnowledges::getSubjectId, "");
queryWrapper.eq(KbKnowledges::getSyncStatus, 1);
return this.list(queryWrapper);
}
} }
package com.zzsn.knowbase.service.impl; package com.zzsn.knowbase.service.impl;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
...@@ -20,7 +21,6 @@ import com.zzsn.knowbase.vo.Result; ...@@ -20,7 +21,6 @@ import com.zzsn.knowbase.vo.Result;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.ListUtils; import org.apache.commons.collections4.ListUtils;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.lucene.search.join.ScoreMode; import org.apache.lucene.search.join.ScoreMode;
import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDDocument;
...@@ -62,8 +62,6 @@ import java.io.*; ...@@ -62,8 +62,6 @@ import java.io.*;
import java.util.*; import java.util.*;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
/** /**
* @Description: 知识 * @Description: 知识
...@@ -302,6 +300,20 @@ class KnowledgeServiceImpl implements IKnowledgeService { ...@@ -302,6 +300,20 @@ class KnowledgeServiceImpl implements IKnowledgeService {
} }
BeanUtils.copyProperties(knowledge, knowledgeMessage); BeanUtils.copyProperties(knowledge, knowledgeMessage);
knowledgeMessage.setType(knowledge.getTypeId()); knowledgeMessage.setType(knowledge.getTypeId());
if(StringUtils.isNotEmpty(knowledge.getContentWithTag())){
//片段切分
List<Content> contents = new ArrayList<>();
List<String> splitContents = HtmlUtil.splitContents(knowledge.getContentWithTag());
for (String content : splitContents) {
System.out.println(content.length());
System.out.println(content);
contents.add(Content.builder()
.contentId(codeGenerateUtil.geneIdNo(Constants.FINANCE, 8))
.content(content)
.build());
}
knowledge.setContents(contents);
}
//id为空表示新增 //id为空表示新增
if (null == knowledge.getId()) { if (null == knowledge.getId()) {
knowledge.setId(codeGenerateUtil.geneIdNo(Constants.FINANCE, 8)); knowledge.setId(codeGenerateUtil.geneIdNo(Constants.FINANCE, 8));
...@@ -345,7 +357,10 @@ class KnowledgeServiceImpl implements IKnowledgeService { ...@@ -345,7 +357,10 @@ class KnowledgeServiceImpl implements IKnowledgeService {
@Override @Override
public void deleteKnowledge(List<Knowledge> knowledgeList) { public void deleteKnowledge(List<Knowledge> knowledgeList) {
for (Knowledge knowledge : knowledgeList) { for (Knowledge knowledge : knowledgeList) {
esOpUtil.docDeleteById(Constants.ES_DATA_FOR_KNOWLEDGE, knowledge.getId()); knowledge.setDeleteFlag(1);
//esOpUtil.docDeleteById(Constants.ES_DATA_FOR_KNOWLEDGE, knowledge.getId());
//修改为标记删除
esOpUtil.docUpdateById(Constants.ES_DATA_FOR_KNOWLEDGE, knowledge.getId(), JSON.toJSONString(knowledge));
} }
CompletableFuture.runAsync(() -> { CompletableFuture.runAsync(() -> {
...@@ -353,10 +368,9 @@ class KnowledgeServiceImpl implements IKnowledgeService { ...@@ -353,10 +368,9 @@ class KnowledgeServiceImpl implements IKnowledgeService {
deleteForPython(knowledge.getId(), knowledge.getKbKnowledgeId()); deleteForPython(knowledge.getId(), knowledge.getKbKnowledgeId());
} }
}); });
} }
@Override
public void deleteForPython(String id, String knowledgeBaseId) { public void deleteForPython(String id, String knowledgeBaseId) {
JSONObject params = new JSONObject(); JSONObject params = new JSONObject();
List<String> lidList = new ArrayList<>(); List<String> lidList = new ArrayList<>();
...@@ -364,11 +378,8 @@ class KnowledgeServiceImpl implements IKnowledgeService { ...@@ -364,11 +378,8 @@ class KnowledgeServiceImpl implements IKnowledgeService {
params.put("id", lidList); params.put("id", lidList);
params.put("knowledge_base_id", knowledgeBaseId); params.put("knowledge_base_id", knowledgeBaseId);
log.info("delete param:{}", params); log.info("delete param:{}", params);
try { String res = HttpUtil.post(deleteUrl, params.toJSONString(), 5000);
HttpUtil.doPost(deleteUrl, params, 120000); log.info("delete res:{}", res);
} catch (IOException e) {
e.printStackTrace();
}
} }
...@@ -523,6 +534,7 @@ class KnowledgeServiceImpl implements IKnowledgeService { ...@@ -523,6 +534,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
if (StringUtils.isNotBlank(knowledgeParam.getVerifyEndTime())) { if (StringUtils.isNotBlank(knowledgeParam.getVerifyEndTime())) {
boolQuery.filter(QueryBuilders.rangeQuery("verifyTime").lte(EsDateUtil.esFieldDateFormat(knowledgeParam.getEndTime()))); boolQuery.filter(QueryBuilders.rangeQuery("verifyTime").lte(EsDateUtil.esFieldDateFormat(knowledgeParam.getEndTime())));
} }
boolQuery.mustNot(QueryBuilders.termQuery("deleteFlag",1));
outer.should(boolQuery); outer.should(boolQuery);
searchSourceBuilder.query(outer); searchSourceBuilder.query(outer);
searchRequest.source(searchSourceBuilder); searchRequest.source(searchSourceBuilder);
...@@ -604,12 +616,7 @@ class KnowledgeServiceImpl implements IKnowledgeService { ...@@ -604,12 +616,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
if (knowledgeParam.getSearchScope().equals(2)) { if (knowledgeParam.getSearchScope().equals(2)) {
params.put("question", knowledgeParam.getSearchInfo()); params.put("question", knowledgeParam.getSearchInfo());
} }
String result = null; String result = HttpUtil.post(searchUrl, params.toJSONString(), 120000);
try {
result = HttpUtil.doPost(searchUrl, params, 120000);
} catch (IOException e) {
e.printStackTrace();
}
if (result == null || !result.contains("result")) { if (result == null || !result.contains("result")) {
return null; return null;
} }
...@@ -831,11 +838,19 @@ class KnowledgeServiceImpl implements IKnowledgeService { ...@@ -831,11 +838,19 @@ class KnowledgeServiceImpl implements IKnowledgeService {
continue; continue;
} }
if (StringUtils.isNotEmpty(info.get(1))) { if (StringUtils.isNotEmpty(info.get(1))) {
specialInformation.setContentAll(info.get(1)); specialInformation.setContentWithTag(info.get(1));
// //段落切分 //片段切分
// specialInformation.setContents(Collections.singletonList(Content.builder() List<Content> contents = new ArrayList<>();
// .contentId(codeGenerateUtil.geneIdNo(Constants.FINANCE, 8)) List<String> splitContents = HtmlUtil.splitContents(specialInformation.getContentWithTag());
// .content(info.get(1)).build())); for (String content : splitContents) {
System.out.println(content.length());
System.out.println(content);
contents.add(Content.builder()
.contentId(codeGenerateUtil.geneIdNo(Constants.FINANCE, 8))
.content(content)
.build());
}
specialInformation.setContents(contents);
} else { } else {
log.error("上传的数据{}正文为空,此条数据忽略", info.get(0)); log.error("上传的数据{}正文为空,此条数据忽略", info.get(0));
continue; continue;
...@@ -850,13 +865,13 @@ class KnowledgeServiceImpl implements IKnowledgeService { ...@@ -850,13 +865,13 @@ class KnowledgeServiceImpl implements IKnowledgeService {
specialInformation.setPublishDate(EsDateUtil.esFieldDateFormat(info.get(4))); specialInformation.setPublishDate(EsDateUtil.esFieldDateFormat(info.get(4)));
} }
specialInformation.setDeleteFlag(0); specialInformation.setDeleteFlag(0);
specialInformation.setCreateTime(cn.hutool.core.date.DateUtil.format(new Date(), "yyyy-MM-dd'T'HH:mm:ss")); specialInformation.setCreateTime(EsDateUtil.esFieldDateFormat(cn.hutool.core.date.DateUtil.formatDateTime(new Date())));
esOpUtil.docSavaByEntity(Constants.ES_DATA_FOR_KNOWLEDGE, specialInformation.getId(), specialInformation); esOpUtil.docSavaByEntity(Constants.ES_DATA_FOR_KNOWLEDGE, specialInformation.getId(), specialInformation);
KnowledgeMessage knowledgeMessage = new KnowledgeMessage(); KnowledgeMessage knowledgeMessage = new KnowledgeMessage();
BeanUtils.copyProperties(specialInformation, knowledgeMessage); BeanUtils.copyProperties(specialInformation, knowledgeMessage);
knowledgeMessage.setType(specialInformation.getTypeId()); knowledgeMessage.setType(specialInformation.getTypeId());
knowledgeMessage.setContents(specialInformation.getContents()); //produceInfo.sendKnowledgeExcelContents(knowledgeMessage);
produceInfo.sendKnowledgeExcelContents(knowledgeMessage); produceInfo.sendKnowledgeContents(knowledgeMessage);
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
log.error("处理异常"); log.error("处理异常");
} }
......
...@@ -311,18 +311,10 @@ public class LocalFileServiceImpl implements ILocalFileService { ...@@ -311,18 +311,10 @@ public class LocalFileServiceImpl implements ILocalFileService {
String publish = EsDateUtil.esFieldDateFormat(knowledge.getPublishDate()); String publish = EsDateUtil.esFieldDateFormat(knowledge.getPublishDate());
knowledge.setPublishDate(publish); knowledge.setPublishDate(publish);
KbAuthorizedUser userInfo = SpringContextUtils.getUserInfo(); KbAuthorizedUser userInfo = SpringContextUtils.getUserInfo();
knowledge.setUpdateBy(userInfo.getName()); knowledge.setVerifyTime(EsDateUtil.esFieldDateFormat(cn.hutool.core.date.DateUtil.formatDateTime(new Date())));
knowledge.setUpdateTime(cn.hutool.core.date.DateUtil.formatDateTime(new Date()).replace(" ", "T"));
Integer verifyStatus = knowledge.getVerifyStatus();
if(verifyStatus != null && (verifyStatus == 1 || verifyStatus == 2))
knowledge.setVerifyTime(cn.hutool.core.date.DateUtil.formatDateTime(new Date()).replace(" ", "T"));
knowledge.setVerifierId(userInfo.getUserId()); knowledge.setVerifierId(userInfo.getUserId());
knowledge.setVerifierName(userInfo.getUsername()); knowledge.setVerifierName(userInfo.getUsername());
if(Integer.valueOf("0").equals(knowledge.getImportData())){ if(Integer.valueOf("0").equals(knowledge.getImportData())){
List<KnowFile> files = knowledge.getFiles(); List<KnowFile> files = knowledge.getFiles();
KnowFile knowFile = files.get(0); KnowFile knowFile = files.get(0);
String filePath = knowFile.getFilePath(); String filePath = knowFile.getFilePath();
......
...@@ -578,7 +578,47 @@ public class EsOpUtil { ...@@ -578,7 +578,47 @@ public class EsOpUtil {
return null; return null;
} }
} }
/**
* 按条件查询数据
*
* @param index
* @param start
* @param size
* @param searchSourceBuilder
* @return
*/
public Map<String, Object> searchByQuery(String index, int start, int size, SearchSourceBuilder searchSourceBuilder) {
try {
Map<String, Object> resultMap = new HashMap<>();
SearchRequest searchRequest = new SearchRequest(index);
// 默认最大数量是10000,设置为true后,显示准确数量
searchSourceBuilder.trackTotalHits(true);
if (start >= 0 && size >= 0) {
searchSourceBuilder.from(start);
searchSourceBuilder.size(size);
}
searchRequest.source(searchSourceBuilder);
//System.out.println("param : " + searchSourceBuilder.toString());
SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
SearchHits hits = searchResponse.getHits();
Long total = hits.getTotalHits().value;
resultMap.put("total", total);
SearchHit[] searchHits = hits.getHits();
List<Map<String, Object>> mapList = new ArrayList<>(searchHits.length);
for (SearchHit hit : searchHits) {
//存储的字段
Map<String, Object> sourceAsMap = hit.getSourceAsMap();
//得分
//sourceAsMap.put("score", hit.getScore());
mapList.add(sourceAsMap);
}
resultMap.put("data", mapList);
return resultMap;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
public boolean existBySourceAddress(String index, String sourceAddress) { public boolean existBySourceAddress(String index, String sourceAddress) {
SearchRequest searchRequest = new SearchRequest(index); SearchRequest searchRequest = new SearchRequest(index);
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
......
...@@ -78,5 +78,6 @@ public class KnowledgeParam { ...@@ -78,5 +78,6 @@ public class KnowledgeParam {
*/ */
private String verifyEndTime; private String verifyEndTime;
private String kbKnowledgeId; private String kbKnowledgeId;
private String subjectId;
} }
...@@ -20,25 +20,40 @@ import java.util.List; ...@@ -20,25 +20,40 @@ import java.util.List;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
public class KnowledgeVO { public class KnowledgeVO {
private String content;
private String id; private String id;
private String title; private String title;
private String verifyTime;
private String publishDate; private String publishDate;
private String updateDate;
private String createTime; private String createTime;
private String kbKnowledgeId; private String kbKnowledgeId;
private String KnowledgeProjectId; private String KnowledgeProjectId;
private String type; private String type;
private String typeId; private String typeId;
private String verifierName;
private String origin; private String origin;
private String author; private String author;
private String contentAll;
private Integer score; private Integer score;
private Integer verifyStatus;
private Integer importData; private Integer importData;
private String subjectId;
private String contentWithTag;
private String contentAll;
private List<Content> contents; private List<Content> contents;
private List<KnowFile> files; private List<KnowFile> files;
/**
* 审核时间
*/
private String verifyTime;
/**
* 审核状态(0未审核1审核审核通过 2审核不通过)
*/
private Integer verifyStatus;
/**
* 审核人id
*/
private String verifierId;
/**
* 审核人名字
*/
private String verifierName;
private Integer deleteFlag;
} }
...@@ -61,8 +61,8 @@ document: ...@@ -61,8 +61,8 @@ document:
host: http://114.116.116.241:9088 host: http://114.116.116.241:9088
# host: http://192.168.1.71:9088 # host: http://192.168.1.71:9088
files: files:
storage: /storage/know/ storage: /zzsn/nt/storage/know/
# storage: C:/know/ # storage: D:/storage/know/
docservice: docservice:
url: url:
site: http://114.116.116.241:80/ site: http://114.116.116.241:80/
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论