feat: 完善知识库批量导入与公共 API
- 新增批量异步导入、状态查询、失败重试与中断恢复链路 - 拆分知识库读取、导入、维护权限并完善 Public API 契约 - 补充数据库迁移、管理端交互、接口说明与相关测试
This commit is contained in:
@@ -26,6 +26,15 @@ public class SysApiKey extends SysApiKeyBase {
|
||||
@Column(ignore = true)
|
||||
private Boolean knowledgeShareEnabled;
|
||||
|
||||
@Column(ignore = true)
|
||||
private Boolean knowledgeReadEnabled;
|
||||
|
||||
@Column(ignore = true)
|
||||
private Boolean knowledgeImportEnabled;
|
||||
|
||||
@Column(ignore = true)
|
||||
private Boolean knowledgeMaintenanceEnabled;
|
||||
|
||||
@Column(ignore = true)
|
||||
private Boolean workflowApiEnabled;
|
||||
|
||||
@@ -56,6 +65,60 @@ public class SysApiKey extends SysApiKeyBase {
|
||||
this.knowledgeShareEnabled = knowledgeShareEnabled;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取知识库读取权限开关。
|
||||
*
|
||||
* @return 是否开启读取权限
|
||||
*/
|
||||
public Boolean getKnowledgeReadEnabled() {
|
||||
return knowledgeReadEnabled;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置知识库读取权限开关。
|
||||
*
|
||||
* @param knowledgeReadEnabled 是否开启读取权限
|
||||
*/
|
||||
public void setKnowledgeReadEnabled(Boolean knowledgeReadEnabled) {
|
||||
this.knowledgeReadEnabled = knowledgeReadEnabled;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取知识库导入权限开关。
|
||||
*
|
||||
* @return 是否开启导入权限
|
||||
*/
|
||||
public Boolean getKnowledgeImportEnabled() {
|
||||
return knowledgeImportEnabled;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置知识库导入权限开关。
|
||||
*
|
||||
* @param knowledgeImportEnabled 是否开启导入权限
|
||||
*/
|
||||
public void setKnowledgeImportEnabled(Boolean knowledgeImportEnabled) {
|
||||
this.knowledgeImportEnabled = knowledgeImportEnabled;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取知识库维护权限开关。
|
||||
*
|
||||
* @return 是否开启维护权限
|
||||
*/
|
||||
public Boolean getKnowledgeMaintenanceEnabled() {
|
||||
return knowledgeMaintenanceEnabled;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置知识库维护权限开关。
|
||||
*
|
||||
* @param knowledgeMaintenanceEnabled 是否开启维护权限
|
||||
*/
|
||||
public void setKnowledgeMaintenanceEnabled(Boolean knowledgeMaintenanceEnabled) {
|
||||
this.knowledgeMaintenanceEnabled = knowledgeMaintenanceEnabled;
|
||||
}
|
||||
|
||||
public Boolean getWorkflowApiEnabled() {
|
||||
return workflowApiEnabled;
|
||||
}
|
||||
|
||||
@@ -13,7 +13,14 @@ import java.math.BigInteger;
|
||||
*/
|
||||
public interface SysApiKeyService extends IService<SysApiKey> {
|
||||
|
||||
void checkApikeyPermission(String apiKey, String requestURI);
|
||||
/**
|
||||
* 校验访问令牌是否具有接口权限。
|
||||
*
|
||||
* @param apiKey 访问令牌明文
|
||||
* @param requestURI 请求 URI
|
||||
* @return 已通过身份和接口权限校验的访问令牌
|
||||
*/
|
||||
SysApiKey checkApikeyPermission(String apiKey, String requestURI);
|
||||
|
||||
SysApiKey getSysApiKey(String apiKey);
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ public class SysApiKeyServiceImpl extends ServiceImpl<SysApiKeyMapper, SysApiKey
|
||||
private SysApiKeyResourceService resourceService;
|
||||
|
||||
@Override
|
||||
public void checkApikeyPermission(String apiKey, String requestURI) {
|
||||
public SysApiKey checkApikeyPermission(String apiKey, String requestURI) {
|
||||
SysApiKey sysApiKey = getSysApiKey(apiKey);
|
||||
List<String> candidateRequestUris = getCandidateRequestUris(requestURI);
|
||||
QueryWrapper w = QueryWrapper.create();
|
||||
@@ -55,6 +55,7 @@ public class SysApiKeyServiceImpl extends ServiceImpl<SysApiKeyMapper, SysApiKey
|
||||
if (count == 0) {
|
||||
throw new BusinessException(403, 403, "该apiKey无权限访问该接口");
|
||||
}
|
||||
return sysApiKey;
|
||||
}
|
||||
|
||||
private List<String> getCandidateRequestUris(String requestURI) {
|
||||
|
||||
Reference in New Issue
Block a user