Commit 5d7de55f authored by R10's avatar R10

Merge branch 'release_gdghg' of ssh://gitlab.gsstcloud.com:10022/poc/poc-api into release_gdghg

parents 197428f4 97b81f35
package cn.com.poc.knowledge.cache;
import cn.com.poc.common.utils.SpringUtils;
import cn.com.poc.common.utils.StringUtils;
import cn.com.yict.framemax.frame.service.FmxParamConfigService;
import org.apache.commons.lang3.ArrayUtils;
import java.util.Arrays;
/**
* @author alex.yao
* @date 2025/9/1
*/
public class KnowledgeDefaultCache {
private FmxParamConfigService fmxParamConfigService;
public KnowledgeDefaultCache() {
fmxParamConfigService = SpringUtils.getBean(FmxParamConfigService.class);
}
public Integer[] getDefaultKnowledgeId() {
String param = fmxParamConfigService.getParam("knowledge.default.id");
if (StringUtils.isNotBlank(param)) {
String[] knowledgeId = param.split(";");
if (ArrayUtils.isNotEmpty(knowledgeId)) {
return (Integer[]) Arrays.stream(knowledgeId).map(Integer::valueOf).toArray();
}
}
return ArrayUtils.EMPTY_INTEGER_OBJECT_ARRAY;
}
}
......@@ -29,4 +29,5 @@ public interface KnowledgeConstant {
String MEMBER = "member"; //微信用户
}
}
......@@ -12,6 +12,7 @@ public class BizKnowledgeInfoConvert {
entity.setId(model.getId());
entity.setKnowledgeName(model.getKnowledgeName());
entity.setKnowledgeType(model.getKnowledgeType());
entity.setKnowledgeOwner(model.getKnowledgeOwner());
entity.setMemberId(model.getMemberId());
entity.setKdIds(model.getKdIds());
entity.setTrainStatus(model.getTrainStatus());
......@@ -31,6 +32,7 @@ public class BizKnowledgeInfoConvert {
model.setId(entity.getId());
model.setKnowledgeType(entity.getKnowledgeType());
model.setKnowledgeName(entity.getKnowledgeName());
model.setKnowledgeOwner(entity.getKnowledgeOwner());
model.setMemberId(entity.getMemberId());
model.setKdIds(entity.getKdIds());
model.setTrainStatus(entity.getTrainStatus());
......@@ -50,6 +52,7 @@ public class BizKnowledgeInfoConvert {
dto.setId(entity.getId());
dto.setKnowledgeName(entity.getKnowledgeName());
dto.setKnowledgeType(entity.getKnowledgeType());
dto.setKnowledgeOwner(entity.getKnowledgeOwner());
dto.setMemberId(entity.getMemberId());
dto.setIsOpen(entity.getIsOpen());
dto.setKdIds(entity.getKdIds());
......@@ -64,6 +67,7 @@ public class BizKnowledgeInfoConvert {
entity.setId(dto.getId());
entity.setKnowledgeType(dto.getKnowledgeType());
entity.setKnowledgeName(dto.getKnowledgeName());
entity.setKnowledgeOwner(dto.getKnowledgeOwner());
entity.setMemberId(dto.getMemberId());
entity.setKdIds(dto.getKdIds());
entity.setIsOpen(dto.getIsOpen());
......
......@@ -45,6 +45,20 @@ public class BizKnowledgeInfoDto {
this.knowledgeType = knowledgeType;
}
/**
* knowledge_owner
* 知识库拥有类型: corp-集团,company-企业,personal-个人
*/
private String knowledgeOwner;
public String getKnowledgeOwner() {
return knowledgeOwner;
}
public void setKnowledgeOwner(String knowledgeOwner) {
this.knowledgeOwner = knowledgeOwner;
}
/**
* member_id
* 用户ID
......
......@@ -43,6 +43,20 @@ public class BizKnowledgeInfoEntity {
this.knowledgeType = knowledgeType;
}
/**
* knowledge_owner
* 知识库拥有
*/
private String knowledgeOwner;
public String getKnowledgeOwner() {
return knowledgeOwner;
}
public void setKnowledgeOwner(String knowledgeOwner) {
this.knowledgeOwner = knowledgeOwner;
}
/** member_id
*用户ID
*/
......
......@@ -79,6 +79,22 @@ public class BizKnowledgeInfoModel extends BaseModelClass implements Serializabl
super.addValidField("knowledgeType");
}
/**
* knowledge_owner
* 知识库拥有者
*/
private String knowledgeOwner;
@Column(name = "knowledge_owner")
public String getKnowledgeOwner() {
return knowledgeOwner;
}
public void setKnowledgeOwner(String knowledgeOwner) {
this.knowledgeOwner = knowledgeOwner;
super.addValidField("knowledgeOwner");
}
/**
* member_id
* 用户ID
......
select
id,
knowledge_name,
knowledge_type,
member_id,
kd_ids,
train_status,
knowledge_desc,
is_open,
is_deleted,
CREATOR,
CREATED_TIME,
MODIFIER,
MODIFIED_TIME
from
biz_knowledge_info
where
is_deleted = 'N'
<< and member_id = :memberId>>
select id,
knowledge_name,
knowledge_type,
knowledge_owner,
member_id,
kd_ids,
train_status,
knowledge_desc,
is_open,
is_deleted,
CREATOR,
CREATED_TIME,
MODIFIER,
MODIFIED_TIME
from biz_knowledge_info
where is_deleted = 'N' << and member_id = :memberId >>
<< and knowledge_owner = : knowledgeOwner >>
<< and LOCATE(:query ,knowledge_name) >>
<< and train_status = :trainStatus>>
<< and knowledge_type = :knowledgeType>>
order by MODIFIED_TIME
\ No newline at end of file
or (member_id = 1 and is_deleted = 'N')
order by MODIFIED_TIME
package cn.com.poc.knowledge.query;
package cn.com.poc.knowledge.query;
import java.io.Serializable;
/**
* Query Condition class for KnowledgeInfosQuery
*/
public class KnowledgeInfosQueryCondition implements Serializable{
public class KnowledgeInfosQueryCondition implements Serializable {
private static final long serialVersionUID = 1L;
private java.lang.String memberId;
public java.lang.String getMemberId(){
public java.lang.String getMemberId() {
return this.memberId;
}
public void setMemberId(java.lang.String memberId){
public void setMemberId(java.lang.String memberId) {
this.memberId = memberId;
}
private java.lang.String query;
......@@ -32,12 +32,12 @@ public class KnowledgeInfosQueryCondition implements Serializable{
}
private java.lang.String trainStatus;
public java.lang.String getTrainStatus(){
public java.lang.String getTrainStatus() {
return this.trainStatus;
}
public void setTrainStatus(java.lang.String trainStatus){
public void setTrainStatus(java.lang.String trainStatus) {
this.trainStatus = trainStatus;
}
......@@ -50,4 +50,14 @@ public class KnowledgeInfosQueryCondition implements Serializable{
public void setKnowledgeType(String knowledgeType) {
this.knowledgeType = knowledgeType;
}
private String knowledgeOwner;
public String getKnowledgeOwner() {
return knowledgeOwner;
}
public void setKnowledgeOwner(String knowledgeOwner) {
this.knowledgeOwner = knowledgeOwner;
}
}
\ No newline at end of file
select bki.knowledge_owner from biz_knowledge_info bki where bki.knowledge_owner is not null group by bki.knowledge_owner order by bki.knowledge_owner
\ No newline at end of file
package cn.com.poc.knowledge.query;
import java.io.Serializable;
/**
* Query Condition class for KnowledgeOwnerListQuery
*/
public class KnowledgeOwnerListQueryCondition implements Serializable{
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package cn.com.poc.knowledge.query;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import cn.com.yict.framemax.data.model.BaseItemClass;
/**
* Query Item class for KnowledgeOwnerListQuery
*/
@Entity
public class KnowledgeOwnerListQueryItem extends BaseItemClass implements Serializable{
private static final long serialVersionUID = 1L;
/** knowledge_owner
*knowledge_owner
*/
private java.lang.String knowledgeOwner;
@Column(name = "knowledge_owner")
public java.lang.String getKnowledgeOwner(){
return this.knowledgeOwner;
}
public void setKnowledgeOwner(java.lang.String knowledgeOwner){
this.knowledgeOwner = knowledgeOwner;
}
}
\ No newline at end of file
......@@ -87,15 +87,23 @@ public interface KnowledgeRest extends BaseRest {
/**
* 获取知识库详情
*/
BizKnowledgeInfoDto getKnowledgeDetail(@RequestParam Integer knowledgeInfoId) ;
BizKnowledgeInfoDto getKnowledgeDetail(@RequestParam Integer knowledgeInfoId);
/**
* 获取用户知识库列表
*
* @param search 搜索条件
* @param trainStatus 训练状态
* @param search 搜索条件
* @param trainStatus 训练状态
* @param knowledgeOwner 用户者标签
*/
List<QueryKnowledgeDocumentDto> getKnowledgeList(@RequestParam(required = false) String search, @RequestParam(required = false) String trainStatus, PagingInfo pagingInfo) throws Exception;
List<QueryKnowledgeDocumentDto> getKnowledgeList(@RequestParam(required = false) String search, @RequestParam(required = false) String trainStatus,
@RequestParam(required = false) String knowledgeOwner,
PagingInfo pagingInfo) throws Exception;
/**
* 获取知识库owner标签列表
*/
List<String> getKnowledgeOwnerList();
/**
* 获取用户知识库列表
......
......@@ -15,6 +15,7 @@ import cn.com.poc.knowledge.entity.BizKnowledgeDocumentEntity;
import cn.com.poc.knowledge.entity.BizKnowledgeInfoEntity;
import cn.com.poc.knowledge.query.KnowledgeInfosQueryCondition;
import cn.com.poc.knowledge.query.KnowledgeInfosQueryItem;
import cn.com.poc.knowledge.query.KnowledgeOwnerListQueryItem;
import cn.com.poc.knowledge.rest.KnowledgeRest;
import cn.com.poc.knowledge.service.BizKnowledgeInfoService;
import cn.com.poc.support.security.oauth.entity.UserBaseEntity;
......@@ -202,7 +203,7 @@ public class KnowledgeRestImpl implements KnowledgeRest {
}
@Override
public List<QueryKnowledgeDocumentDto> getKnowledgeList(String search, String trainStatus, PagingInfo pagingInfo) throws Exception {
public List<QueryKnowledgeDocumentDto> getKnowledgeList(String search, String trainStatus, String knowledgeOwner, PagingInfo pagingInfo) throws Exception {
List<QueryKnowledgeDocumentDto> result = new ArrayList<>();
UserBaseEntity userBaseEntity = BlContext.getCurrentUserNotException();
KnowledgeInfosQueryCondition condition = new KnowledgeInfosQueryCondition();
......@@ -213,6 +214,9 @@ public class KnowledgeRestImpl implements KnowledgeRest {
if (StringUtils.isNoneBlank(trainStatus)) {
condition.setTrainStatus(trainStatus);
}
if (StringUtils.isNotBlank(knowledgeOwner)) {
condition.setKnowledgeOwner(knowledgeOwner);
}
List<KnowledgeInfosQueryItem> items = bizKnowledgeInfoService.knowledgeInfos(condition, pagingInfo);
if (CollectionUtils.isNotEmpty(items)) {
result = items.stream().map(item -> {
......@@ -233,6 +237,12 @@ public class KnowledgeRestImpl implements KnowledgeRest {
return result;
}
@Override
public List<String> getKnowledgeOwnerList() {
List<KnowledgeOwnerListQueryItem> knowledgeOwnerListQueryItems = bizKnowledgeInfoService.queryKnowledgeOwner();
return knowledgeOwnerListQueryItems.stream().map(KnowledgeOwnerListQueryItem::getKnowledgeOwner).collect(Collectors.toList());
}
@Override
public List<QueryKnowledgeDocumentDto> getKnowledgeListByKnowledgeInfoIds(List<Integer> knowledgeInfoIds) throws Exception {
Assert.notEmpty(knowledgeInfoIds);
......
......@@ -2,6 +2,7 @@ package cn.com.poc.knowledge.service;
import cn.com.poc.knowledge.query.KnowledgeInfosQueryCondition;
import cn.com.poc.knowledge.query.KnowledgeInfosQueryItem;
import cn.com.poc.knowledge.query.KnowledgeOwnerListQueryItem;
import cn.com.poc.knowledge.query.KnowledgeQueryItem;
import cn.com.yict.framemax.core.service.BaseService;
import cn.com.poc.knowledge.entity.BizKnowledgeInfoEntity;
......@@ -26,4 +27,6 @@ public interface BizKnowledgeInfoService extends BaseService {
void removeDocument(Integer knowledgeInfoId, Integer kdId);
List<KnowledgeOwnerListQueryItem> queryKnowledgeOwner();
}
\ No newline at end of file
......@@ -4,6 +4,8 @@ import cn.com.poc.common.utils.JsonUtils;
import cn.com.poc.common.utils.StringUtils;
import cn.com.poc.knowledge.query.KnowledgeInfosQueryCondition;
import cn.com.poc.knowledge.query.KnowledgeInfosQueryItem;
import cn.com.poc.knowledge.query.KnowledgeOwnerListQueryCondition;
import cn.com.poc.knowledge.query.KnowledgeOwnerListQueryItem;
import cn.com.yict.framemax.core.service.impl.BaseServiceImpl;
import cn.com.poc.knowledge.service.BizKnowledgeInfoService;
import cn.com.poc.knowledge.model.BizKnowledgeInfoModel;
......@@ -131,4 +133,9 @@ public class BizKnowledgeInfoServiceImpl extends BaseServiceImpl
}
}
}
@Override
public List<KnowledgeOwnerListQueryItem> queryKnowledgeOwner() {
return this.sqlDao.query(new KnowledgeOwnerListQueryCondition(), KnowledgeOwnerListQueryItem.class);
}
}
\ No newline at end of file
......@@ -2,6 +2,7 @@ package cn.com.poc.portal.rest.impl;
import cn.com.poc.common.utils.Assert;
import cn.com.poc.common.utils.BlContext;
import cn.com.poc.knowledge.cache.KnowledgeDefaultCache;
import cn.com.poc.portal.aggregate.PortalService;
import cn.com.poc.portal.convert.PortalConvert;
import cn.com.poc.portal.dto.PortalDialoguesDto;
......@@ -10,9 +11,11 @@ import cn.com.poc.portal.rest.PortalRest;
import cn.com.poc.support.security.oauth.entity.UserBaseEntity;
import cn.com.yict.framemax.core.exception.BusinessException;
import cn.hutool.core.util.ObjectUtil;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.Arrays;
/**
* @author alex.yao
......@@ -33,7 +36,13 @@ public class PortalRestImpl implements PortalRest {
if (ObjectUtil.isEmpty(userBaseEntity)) {
throw new BusinessException("用户未登录");
}
KnowledgeDefaultCache knowledgeDefaultCache = new KnowledgeDefaultCache();
Integer[] defaultKnowledgeId = knowledgeDefaultCache.getDefaultKnowledgeId();
Integer[] knowledgeId = (Integer[]) Arrays.stream(ArrayUtils.addAll(defaultKnowledgeId, dto.getKnowledgeIds())).distinct()
.toArray();
PortalDialoguesCallEntity callEntity = PortalConvert.callDtoToEntity(dto);
callEntity.setKnowledgeIds(knowledgeId);
portalService.call(callEntity, userBaseEntity.getUserId());
}
}
......@@ -2,14 +2,17 @@ package cn.com.poc.writing.rest.impl;
import cn.com.poc.common.utils.Assert;
import cn.com.poc.common.utils.BlContext;
import cn.com.poc.knowledge.cache.KnowledgeDefaultCache;
import cn.com.poc.support.security.oauth.entity.UserBaseEntity;
import cn.com.poc.writing.aggregate.AiWritingService;
import cn.com.poc.writing.dto.*;
import cn.com.poc.writing.rest.AiWritingRest;
import cn.com.yict.framemax.core.exception.BusinessException;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;
/**
......@@ -32,8 +35,13 @@ public class AiWritingRestImpl implements AiWritingRest {
if (userBaseEntity == null) {
throw new BusinessException("用户未登录");
}
KnowledgeDefaultCache knowledgeDefaultCache = new KnowledgeDefaultCache();
Integer[] defaultKnowledgeId = knowledgeDefaultCache.getDefaultKnowledgeId();
Integer[] knowledgeId = (Integer[]) Arrays.stream(ArrayUtils.addAll(defaultKnowledgeId, aiWritingDto.getKnowledgeIds())).distinct()
.toArray();
aiWritingService.call(aiWritingDto.getDialoguesId(), aiWritingDto.getFileUrl(),
aiWritingDto.getInput(), aiWritingDto.getKnowledgeIds(), userBaseEntity.getUserId(),
aiWritingDto.getInput(), knowledgeId, userBaseEntity.getUserId(),
aiWritingDto.getEnableSearchEngine(), aiWritingDto.getEnableDeepThinking());
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment