From 6fb9052c35348987cb4876cfab65f59d0558ab1b Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 05 Sep 2025 16:17:04 +0800
Subject: [PATCH] feat(ai): 添加 AI 生成题目的功能

---
 src/main/java/cc/mrbird/febs/ai/service/AiProductQuestionService.java |  113 +++++++-------------------------------------------------
 1 files changed, 14 insertions(+), 99 deletions(-)

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 1b31504..b10b521 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/AiProductQuestionService.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/AiProductQuestionService.java
@@ -1,6 +1,12 @@
 package cc.mrbird.febs.ai.service;
 
 import cc.mrbird.febs.ai.entity.AiProductQuestion;
+import cc.mrbird.febs.ai.entity.AiProductRole;
+import cc.mrbird.febs.ai.req.AiProductQuestionAiDto;
+import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.common.entity.QueryRequest;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import java.util.List;
 
@@ -19,110 +25,19 @@
      */
     AiProductQuestion getById(String id);
 
-    /**
-     * 根据公司ID查询AI产品题目列表
-     * @param companyId 公司ID
-     * @return AI产品题目列表
-     */
-    List<AiProductQuestion> getByCompanyId(String companyId);
+    IPage<AiProductQuestion> listInPage(AiProductQuestion dto, QueryRequest request);
 
-    /**
-     * 根据AI产品类别ID查询AI产品题目列表
-     * @param productCategoryId AI产品类别ID
-     * @return AI产品题目列表
-     */
-    List<AiProductQuestion> getByProductCategoryId(String productCategoryId);
+    FebsResponse changeState(String id, Integer state);
 
-    /**
-     * 根据题目查询AI产品题目列表
-     * @param title 题目
-     * @return AI产品题目列表
-     */
-    List<AiProductQuestion> getByTitle(String title);
+    FebsResponse add(AiProductQuestion dto);
 
-    /**
-     * 根据父ID查询AI产品题目列表
-     * @param parentId 父ID
-     * @return AI产品题目列表
-     */
-    List<AiProductQuestion> getByParentId(String parentId);
+    FebsResponse update(AiProductQuestion dto);
 
-    /**
-     * 根据难度查询AI产品题目列表
-     * @param difficulty 难度:1-简单,2-中等,3-困难
-     * @return AI产品题目列表
-     */
-    List<AiProductQuestion> getByDifficulty(Integer difficulty);
+    FebsResponse delete(String id);
 
-    /**
-     * 根据状态查询AI产品题目列表
-     * @param state 状态 0-禁用 1-启用 2-已删除
-     * @return AI产品题目列表
-     */
-    List<AiProductQuestion> getByState(Integer state);
+    List<AiProductQuestion> questionTree();
 
-    /**
-     * 根据是否正确答案查询AI产品题目列表
-     * @param correctAnswer 是否是正确答案 0-否 1-是
-     * @return AI产品题目列表
-     */
-    List<AiProductQuestion> getByCorrectAnswer(Integer correctAnswer);
+    List<AiProductQuestion> productQuestionTree(LambdaQueryWrapper<AiProductQuestion> aiProductQuestionLambdaQueryWrapper);
 
-    /**
-     * 根据公司ID和状态查询AI产品题目列表
-     * @param companyId 公司ID
-     * @param state 状态 0-禁用 1-启用 2-已删除
-     * @return AI产品题目列表
-     */
-    List<AiProductQuestion> getByCompanyIdAndState(String companyId, Integer state);
-
-    /**
-     * 根据父ID和状态查询AI产品题目列表(获取同一题目的所有选项)
-     * @param parentId 父ID
-     * @param state 状态 0-禁用 1-启用 2-已删除
-     * @return AI产品题目列表
-     */
-    List<AiProductQuestion> getByParentIdAndState(String parentId, Integer state);
-
-    /**
-     * 保存AI产品题目
-     * @param aiProductQuestion AI产品题目实体
-     * @return 是否保存成功
-     */
-    boolean saveProductQuestion(AiProductQuestion aiProductQuestion);
-
-    /**
-     * 批量保存AI产品题目
-     * @param productQuestions AI产品题目列表
-     * @return 是否保存成功
-     */
-    boolean saveBatchProductQuestions(List<AiProductQuestion> productQuestions);
-
-    /**
-     * 更新AI产品题目
-     * @param aiProductQuestion AI产品题目实体
-     * @return 是否更新成功
-     */
-    boolean updateProductQuestion(AiProductQuestion aiProductQuestion);
-
-    /**
-     * 根据ID删除AI产品题目
-     * @param id 题目ID
-     * @return 是否删除成功
-     */
-    boolean deleteById(String id);
-
-    /**
-     * 根据父ID删除AI产品题目(删除整个题目及其选项)
-     * @param parentId 父ID
-     * @return 是否删除成功
-     */
-    boolean deleteByParentId(String parentId);
-
-    /**
-     * 根据公司ID删除AI产品题目
-     * @param companyId 公司ID
-     * @return 是否删除成功
-     */
-    boolean deleteByCompanyId(String companyId);
+    FebsResponse aiAdd(AiProductQuestionAiDto dto);
 }

--
Gitblit v1.9.1