diff --git a/src/main/java/com/gxwebsoft/ai/controller/AuditReportController.java b/src/main/java/com/gxwebsoft/ai/controller/AuditReportController.java index b2fb502..f31e99e 100644 --- a/src/main/java/com/gxwebsoft/ai/controller/AuditReportController.java +++ b/src/main/java/com/gxwebsoft/ai/controller/AuditReportController.java @@ -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 kbIdSet = new HashSet<>(); + List 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()); diff --git a/src/main/java/com/gxwebsoft/ai/dto/AuditReportRequest.java b/src/main/java/com/gxwebsoft/ai/dto/AuditReportRequest.java index 9bd2c19..b10e94a 100644 --- a/src/main/java/com/gxwebsoft/ai/dto/AuditReportRequest.java +++ b/src/main/java/com/gxwebsoft/ai/dto/AuditReportRequest.java @@ -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; diff --git a/src/main/java/com/gxwebsoft/pwl/controller/PwlProjectLibraryController.java b/src/main/java/com/gxwebsoft/pwl/controller/PwlProjectLibraryController.java index 954aed9..cd57b62 100644 --- a/src/main/java/com/gxwebsoft/pwl/controller/PwlProjectLibraryController.java +++ b/src/main/java/com/gxwebsoft/pwl/controller/PwlProjectLibraryController.java @@ -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(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> getByIds(@PathVariable("ids") String ids) { + List idList = StrUtil.split(ids, ','); + List ret = pwlProjectLibraryService.list(new LambdaQueryWrapper().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); diff --git a/src/main/java/com/gxwebsoft/pwl/entity/PwlProjectLibrary.java b/src/main/java/com/gxwebsoft/pwl/entity/PwlProjectLibrary.java index e318723..bb1e6c0 100644 --- a/src/main/java/com/gxwebsoft/pwl/entity/PwlProjectLibrary.java +++ b/src/main/java/com/gxwebsoft/pwl/entity/PwlProjectLibrary.java @@ -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; diff --git a/src/main/java/com/gxwebsoft/pwl/param/PwlProjectLibraryParam.java b/src/main/java/com/gxwebsoft/pwl/param/PwlProjectLibraryParam.java index 607e159..04d0bb0 100644 --- a/src/main/java/com/gxwebsoft/pwl/param/PwlProjectLibraryParam.java +++ b/src/main/java/com/gxwebsoft/pwl/param/PwlProjectLibraryParam.java @@ -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;