Commit 0a155dab authored by alex yao's avatar alex yao

feat:知识库列表

parent 3c874756
package cn.com.poc.expose.dto;
/**
* @author alex.yao
* @date 2025/6/20
*/
public class AiDialoguesKnowledgeDto {
private String knowledgeName;
private Integer knowledgeId;
private String knowledgeType;
public String getKnowledgeName() {
return knowledgeName;
}
public void setKnowledgeName(String knowledgeName) {
this.knowledgeName = knowledgeName;
}
public Integer getKnowledgeId() {
return knowledgeId;
}
public void setKnowledgeId(Integer knowledgeId) {
this.knowledgeId = knowledgeId;
}
public String getKnowledgeType() {
return knowledgeType;
}
public void setKnowledgeType(String knowledgeType) {
this.knowledgeType = knowledgeType;
}
}
package cn.com.poc.expose.rest;
import cn.com.poc.expose.dto.AiDialoguesKnowledgeDto;
import cn.com.yict.framemax.core.rest.BaseRest;
import cn.com.yict.framemax.web.permission.Access;
import cn.com.yict.framemax.web.permission.Permission;
import java.util.List;
import java.util.Map;
/**
* @author alex.yao
* @date 2025/6/20
*/
@Permission(Access.Safety)
public interface AiDialoguesKnowledgeRest extends BaseRest {
Map<String, List<AiDialoguesKnowledgeDto>> knowledgeList() throws Exception;
}
package cn.com.poc.expose.rest.impl;
import cn.com.poc.common.utils.BlContext;
import cn.com.poc.expose.dto.AiDialoguesKnowledgeDto;
import cn.com.poc.expose.rest.AiDialoguesKnowledgeRest;
import cn.com.poc.knowledge.constant.KnowledgeConstant;
import cn.com.poc.knowledge.dto.BizKnowledgeInfoDto;
import cn.com.poc.knowledge.query.KnowledgeInfosQueryCondition;
import cn.com.poc.knowledge.query.KnowledgeInfosQueryItem;
import cn.com.poc.knowledge.service.BizKnowledgeInfoService;
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.collections.CollectionUtils;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author alex.yao
* @date 2025/6/20
*/
@Component
public class AiDialoguesKnowledgeRestImpl implements AiDialoguesKnowledgeRest {
List<String> organization = new ArrayList<String>() {{
add("组织1");
add("组织2");
add("组织3");
add("组织4");
}};
@Resource
private BizKnowledgeInfoService bizKnowledgeInfoService;
@Override
public Map<String, List<AiDialoguesKnowledgeDto>> knowledgeList() throws Exception {
UserBaseEntity userBaseEntity = BlContext.getCurrentUserNotException();
if (ObjectUtil.isEmpty(userBaseEntity)) {
throw new BusinessException("用户未登录");
}
Map<String, List<AiDialoguesKnowledgeDto>> result = new HashMap<>();
KnowledgeInfosQueryCondition condition = new KnowledgeInfosQueryCondition();
condition.setMemberId(userBaseEntity.getUserId().toString());
// condition.setQuery();
condition.setTrainStatus(KnowledgeConstant.TrainStatus.COMPLETE);
condition.setKnowledgeType(KnowledgeConstant.KnowledgeType.BASE);
List<KnowledgeInfosQueryItem> items = bizKnowledgeInfoService.knowledgeInfos(condition, null);
if (CollectionUtils.isNotEmpty(items)) {
int i = 1;
int org = 0;
for (KnowledgeInfosQueryItem item : items) {
AiDialoguesKnowledgeDto aiDialoguesKnowledgeDto = new AiDialoguesKnowledgeDto();
aiDialoguesKnowledgeDto.setKnowledgeName(item.getKnowledgeName());
aiDialoguesKnowledgeDto.setKnowledgeId(item.getId());
aiDialoguesKnowledgeDto.setKnowledgeType(item.getKnowledgeType());
String orgName = organization.get(org);
List<AiDialoguesKnowledgeDto> dtos = result.getOrDefault(orgName, new ArrayList<>());
dtos.add(aiDialoguesKnowledgeDto);
result.put(orgName, dtos);
i++;
if (i == 4) {
i = 1;
if (org < organization.size() - 1) {
org++;
}
}
}
}
return result;
}
}
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