优化材料库资料库表接口

This commit is contained in:
2025-09-28 16:48:06 +08:00
parent 1b8e9a76fd
commit 5972cf9966
5 changed files with 38 additions and 13 deletions

View File

@@ -3,8 +3,10 @@ package com.gxwebsoft.ai.controller;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.servlet.http.HttpServletResponse;
@@ -30,6 +32,7 @@ import com.gxwebsoft.common.core.web.BaseController;
import com.gxwebsoft.common.system.entity.User;
import cn.afterturn.easypoi.word.WordExportUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpUtil;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -91,12 +94,17 @@ public class AuditReportController extends BaseController {
public ApiResult<?> generateAuditReport(@RequestBody AuditReportRequest req) {
final User loginUser = getLoginUser();
KnowledgeBaseRequest knowledgeBaseRequest = new KnowledgeBaseRequest();
knowledgeBaseRequest.setKbId(req.getKbId());
//召回切片数上限
knowledgeBaseRequest.setTopK(10);
knowledgeBaseRequest.setFormCommit((req.getFormCommit() >= 10) ? req.getFormCommit() / 10 : req.getFormCommit());
String knowledge = knowledgeBaseService.queryKnowledgeBase(knowledgeBaseRequest).toString();
Set<String> kbIdSet = new HashSet<>();
List<String> kbIdList = StrUtil.split(req.getKbIds(), ',');
for(String kbId : kbIdList) {
KnowledgeBaseRequest knowledgeBaseRequest = new KnowledgeBaseRequest();
knowledgeBaseRequest.setKbId(kbId);
//召回切片数上限
knowledgeBaseRequest.setTopK(10);
knowledgeBaseRequest.setFormCommit((req.getFormCommit() >= 10) ? req.getFormCommit() / 10 : req.getFormCommit());
kbIdSet.addAll(knowledgeBaseService.queryKnowledgeBase(knowledgeBaseRequest));
}
String knowledge = kbIdSet.toString();
String query = AuditReportEnum.getByCode(req.getFormCommit()).getDesc();
// String ret = this.invok(query, knowledge, AuditReportUtil.generateReportContent(req), req.getSuggestion(), loginUser.getUsername());

View File

@@ -75,7 +75,7 @@ public class AuditReportRequest{
private String from90;
@Schema(description = "知识库ID")
private String kbId;
private String kbIds;//英文逗号分割
@Schema(description = "生成模块:AuditReportEnum.code")
private Integer formCommit;

View File

@@ -7,16 +7,17 @@ import cn.hutool.core.util.StrUtil;
import com.gxwebsoft.pwl.entity.PwlProjectLibrary;
import com.gxwebsoft.pwl.param.PwlProjectLibraryParam;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.gxwebsoft.ai.service.KnowledgeBaseService;
import com.gxwebsoft.common.core.web.ApiResult;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.common.core.web.PageParam;
import com.gxwebsoft.common.core.web.BatchParam;
import com.gxwebsoft.common.system.entity.User;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
@@ -51,6 +52,10 @@ public class PwlProjectLibraryController extends BaseController {
@Operation(summary = "查询全部材料库资料库表")
@GetMapping()
public ApiResult<List<PwlProjectLibrary>> list(PwlProjectLibraryParam param) {
// User loginUser = getLoginUser();
// if(!loginUser.getIsAdmin()) {
// param.setUserId(loginUser.getUserId());
// }
// 使用关联查询
return success(pwlProjectLibraryService.listRel(param));
}
@@ -63,6 +68,15 @@ public class PwlProjectLibraryController extends BaseController {
return success(pwlProjectLibraryService.getByIdRel(id));
}
@PreAuthorize("hasAuthority('pwl:pwlProjectLibrary:list')")
@Operation(summary = "根据ids查询材料库资料库表")
@GetMapping("/byIds/{ids}")
public ApiResult<List<PwlProjectLibrary>> getByIds(@PathVariable("ids") String ids) {
List<String> idList = StrUtil.split(ids, ',');
List<PwlProjectLibrary> ret = pwlProjectLibraryService.list(new LambdaQueryWrapper<PwlProjectLibrary>().in(PwlProjectLibrary::getId, idList));
return success(ret);
}
@PreAuthorize("hasAuthority('pwl:pwlProjectLibrary:save')")
@Operation(summary = "添加材料库资料库表")
@PostMapping()
@@ -80,7 +94,7 @@ public class PwlProjectLibraryController extends BaseController {
String kbId = knowledgeBaseService.getKnowledgeBaseIdByName(kbName);
//新建知识库
if(StrUtil.isEmpty(kbId)) {
kbId = knowledgeBaseService.createKnowledgeBase(kbName, pwlProjectLibrary.getName());
kbId = knowledgeBaseService.createKnowledgeBase(pwlProjectLibrary.getName(),kbName);
}
//绑定知识库
pwlProjectLibrary.setKbId(kbId);
@@ -104,7 +118,7 @@ public class PwlProjectLibraryController extends BaseController {
String kbId = knowledgeBaseService.getKnowledgeBaseIdByName(kbName);
//新建知识库
if(StrUtil.isEmpty(kbId)) {
kbId = knowledgeBaseService.createKnowledgeBase(kbName, pwlProjectLibrary.getName());
kbId = knowledgeBaseService.createKnowledgeBase(pwlProjectLibrary.getName(),kbName);
}
//绑定知识库
pwlProjectLibrary.setKbId(kbId);

View File

@@ -28,14 +28,14 @@ public class PwlProjectLibrary implements Serializable {
@Schema(description = "资料库名称")
private String name;
@Schema(description = "资料库类型: biz-项目案例库, pub-公共知识库")
@Schema(description = "资料库类型: biz-行业案例库, pub-公共知识库")
private String type;
@Schema(description = "关联知识库ID")
private String kbId;
@Schema(description = "排序(数字越小越靠前)")
private Integer sort;
private Integer sortNumber;
@Schema(description = "资料库图标")
private String image;

View File

@@ -34,8 +34,11 @@ public class PwlProjectLibraryParam extends BaseParam {
@Schema(description = "关联知识库ID")
private String kbId;
@Schema(description = "资料库库IDs")
private String libraryIds; //英文逗号分割
@Schema(description = "排序(数字越小越靠前)")
private String sort;
private Integer sortNumber;
@Schema(description = "资料库图标")
private String image;