Administrator
2025-07-30 db8566a1e50e55039fc4acd65d4f8248ba6783b4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package cc.mrbird.febs.ai.service;
 
import cc.mrbird.febs.ai.entity.AiProductQuestion;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
 
/**
 * AI产品题目 Service接口
 *
 * @author yourname
 * @date 2025-07-29
 */
public interface AiProductQuestionService extends IService<AiProductQuestion> {
 
    /**
     * 根据ID查询AI产品题目
     * @param id 题目ID
     * @return AI产品题目信息
     */
    AiProductQuestion getById(String id);
 
    /**
     * 根据公司ID查询AI产品题目列表
     * @param companyId 公司ID
     * @return AI产品题目列表
     */
    List<AiProductQuestion> getByCompanyId(String companyId);
 
    /**
     * 根据AI产品类别ID查询AI产品题目列表
     * @param productCategoryId AI产品类别ID
     * @return AI产品题目列表
     */
    List<AiProductQuestion> getByProductCategoryId(String productCategoryId);
 
    /**
     * 根据题目查询AI产品题目列表
     * @param title 题目
     * @return AI产品题目列表
     */
    List<AiProductQuestion> getByTitle(String title);
 
    /**
     * 根据父ID查询AI产品题目列表
     * @param parentId 父ID
     * @return AI产品题目列表
     */
    List<AiProductQuestion> getByParentId(String parentId);
 
    /**
     * 根据难度查询AI产品题目列表
     * @param difficulty 难度:1-简单,2-中等,3-困难
     * @return AI产品题目列表
     */
    List<AiProductQuestion> getByDifficulty(Integer difficulty);
 
    /**
     * 根据状态查询AI产品题目列表
     * @param state 状态 0-禁用 1-启用 2-已删除
     * @return AI产品题目列表
     */
    List<AiProductQuestion> getByState(Integer state);
 
    /**
     * 根据是否正确答案查询AI产品题目列表
     * @param correctAnswer 是否是正确答案 0-否 1-是
     * @return AI产品题目列表
     */
    List<AiProductQuestion> getByCorrectAnswer(Integer correctAnswer);
 
    /**
     * 根据公司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);
}