From 5f366e546806a5690ff7a5770857048663e4521a Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Mon, 15 Sep 2025 16:17:11 +0800 Subject: [PATCH] feat(ai): 增加公司 ID 筛选功能 --- src/main/java/cc/mrbird/febs/ai/service/AiProductQuestionService.java | 2 +- src/main/java/cc/mrbird/febs/ai/service/impl/AiProductQuestionServiceImpl.java | 16 +++++++++++++--- src/main/java/cc/mrbird/febs/ai/controller/productQuestion/AiProductQuestionController.java | 10 +++++++++- src/main/java/cc/mrbird/febs/ai/req/AiProductQuestionAiDto.java | 1 + 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/ai/controller/productQuestion/AiProductQuestionController.java b/src/main/java/cc/mrbird/febs/ai/controller/productQuestion/AiProductQuestionController.java index 591aa13..497dc54 100644 --- a/src/main/java/cc/mrbird/febs/ai/controller/productQuestion/AiProductQuestionController.java +++ b/src/main/java/cc/mrbird/febs/ai/controller/productQuestion/AiProductQuestionController.java @@ -30,6 +30,8 @@ @GetMapping("list") public FebsResponse list(AiProductQuestion dto, QueryRequest request) { + String companyId = getCurrentUserCompanyId(); + dto.setCompanyId(companyId); Map<String, Object> data = getDataTable(aiProductQuestionService.listInPage(dto, request)); return new FebsResponse().success().data(data); @@ -49,6 +51,8 @@ @ControllerEndpoint(operation = "新增", exceptionMessage = "操作失败") public FebsResponse add(@RequestBody @Valid AiProductQuestion dto) { + String companyId = getCurrentUserCompanyId(); + dto.setCompanyId(companyId); return aiProductQuestionService.add(dto); } @@ -56,6 +60,8 @@ @ControllerEndpoint(operation = "AI生成题目", exceptionMessage = "操作失败") public FebsResponse aiAdd(@RequestBody @Valid AiProductQuestionAiDto dto) { + String companyId = getCurrentUserCompanyId(); + dto.setCompanyId(companyId); return aiProductQuestionService.aiAdd(dto); } @@ -78,6 +84,8 @@ @GetMapping(value = "/questionTree") public FebsResponse questionTree() { - return new FebsResponse().success().data(aiProductQuestionService.questionTree()); + + String companyId = getCurrentUserCompanyId(); + return new FebsResponse().success().data(aiProductQuestionService.questionTree(companyId)); } } diff --git a/src/main/java/cc/mrbird/febs/ai/req/AiProductQuestionAiDto.java b/src/main/java/cc/mrbird/febs/ai/req/AiProductQuestionAiDto.java index 1714826..82e7e43 100644 --- a/src/main/java/cc/mrbird/febs/ai/req/AiProductQuestionAiDto.java +++ b/src/main/java/cc/mrbird/febs/ai/req/AiProductQuestionAiDto.java @@ -4,6 +4,7 @@ @Data public class AiProductQuestionAiDto { + private String companyId; private String productCategoryId; diff --git a/src/main/java/cc/mrbird/febs/ai/service/AiProductQuestionService.java b/src/main/java/cc/mrbird/febs/ai/service/AiProductQuestionService.java index b10b521..23e0259 100644 --- a/src/main/java/cc/mrbird/febs/ai/service/AiProductQuestionService.java +++ b/src/main/java/cc/mrbird/febs/ai/service/AiProductQuestionService.java @@ -35,7 +35,7 @@ FebsResponse delete(String id); - List<AiProductQuestion> questionTree(); + List<AiProductQuestion> questionTree(String companyId); List<AiProductQuestion> productQuestionTree(LambdaQueryWrapper<AiProductQuestion> aiProductQuestionLambdaQueryWrapper); diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductQuestionServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductQuestionServiceImpl.java index d125cf8..06a3247 100644 --- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductQuestionServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductQuestionServiceImpl.java @@ -11,6 +11,7 @@ import cc.mrbird.febs.common.entity.QueryRequest; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; @@ -55,6 +56,9 @@ public IPage<AiProductQuestion> listInPage(AiProductQuestion dto, QueryRequest request) { Page<AiProductQuestion> page = new Page<>(request.getPageNum(), request.getPageSize()); LambdaQueryWrapper<AiProductQuestion> query = Wrappers.lambdaQuery(AiProductQuestion.class); + if (StrUtil.isNotEmpty(dto.getCompanyId())){ + query.eq(AiProductQuestion::getCompanyId, dto.getCompanyId()); + } query.ne(AiProductQuestion::getState, 2); Page<AiProductQuestion> pages = aiProductQuestionMapper.selectPage(page, query); return pages; @@ -99,6 +103,7 @@ for (AiProductQuestionItem item : dto.getAiProductQuestionItems()){ item.setId(UUID.getSimpleUUIDString()); item.setProductQuestionId(entity.getId()); + item.setCompanyId(dto.getCompanyId()); item.setTitle(entity.getTitle()); item.setCreatedTime(new Date()); aiProductQuestionItemService.getBaseMapper().insert(item); @@ -125,7 +130,6 @@ if (ObjectUtil.isNotNull( entity)){ this.update(null, Wrappers.lambdaUpdate(AiProductQuestion.class) - .set(AiProductQuestion::getCompanyId, dto.getCompanyId()) .set(AiProductQuestion::getProductCategoryId, dto.getProductCategoryId()) .set(AiProductQuestion::getTitle, dto.getTitle()) .set(AiProductQuestion::getDifficulty, dto.getDifficulty()) @@ -161,9 +165,13 @@ } @Override - public List<AiProductQuestion> questionTree() { + public List<AiProductQuestion> questionTree(String companyId) { + LambdaQueryWrapper<AiProductQuestion> query = Wrappers.lambdaQuery(AiProductQuestion.class); + if (StrUtil.isNotEmpty(companyId)){ + query.eq(AiProductQuestion::getCompanyId, companyId); + } - return aiProductQuestionMapper.selectList(null); + return aiProductQuestionMapper.selectList(query); } @Override @@ -190,6 +198,7 @@ AiProductQuestion aiProductQuestion = new AiProductQuestion(); aiProductQuestion.setId(UUID.getSimpleUUIDString()); + aiProductQuestion.setCompanyId(dto.getCompanyId()); aiProductQuestion.setProductCategoryId(productCategoryId); aiProductQuestion.setTitle(title); aiProductQuestion.setDifficulty(difficulty); @@ -205,6 +214,7 @@ System.out.println("分析: " + answer.getStr("analysis")); AiProductQuestionItem aiProductQuestionItem = new AiProductQuestionItem(); aiProductQuestionItem.setId(UUID.getSimpleUUIDString()); + aiProductQuestionItem.setCompanyId(dto.getCompanyId()); aiProductQuestionItem.setProductQuestionId(aiProductQuestion.getId()); aiProductQuestionItem.setTitle(aiProductQuestion.getTitle()); aiProductQuestionItem.setAnswer(answer.getStr("answer")); -- Gitblit v1.9.1