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