Administrator
2025-08-21 03a268e51ee60f45b6a0ee88f62c20ec1783c715
src/main/java/cc/mrbird/febs/ai/service/AiMemberAnswerService.java
@@ -1,6 +1,9 @@
package cc.mrbird.febs.ai.service;
import cc.mrbird.febs.ai.entity.AiMemberAnswer;
import cc.mrbird.febs.ai.req.memberAnswer.*;
import cc.mrbird.febs.common.entity.FebsResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
@@ -12,97 +15,21 @@
 */
public interface AiMemberAnswerService extends IService<AiMemberAnswer> {
    /**
     * 根据ID查询答题记录
     * @param id 答题记录ID
     * @return 答题记录信息
     */
    AiMemberAnswer getById(String id);
    AiMemberAnswer getOneByQuery(LambdaQueryWrapper<AiMemberAnswer> aiMemberAnswerLambdaQueryWrapper);
    /**
     * 根据用户ID查询答题记录列表
     * @param memberId 用户ID
     * @return 答题记录列表
     */
    List<AiMemberAnswer> getByMemberId(String memberId);
    FebsResponse startAnswerV2(ApiMemberAnswerDto dto);
    /**
     * 根据产品ID查询答题记录列表
     * @param productId 产品ID
     * @return 答题记录列表
     */
    List<AiMemberAnswer> getByProductId(String productId);
    FebsResponse startAnswer(ApiMemberAnswerDto dto);
    /**
     * 根据公司ID查询答题记录列表
     * @param companyId 公司ID
     * @return 答题记录列表
     */
    List<AiMemberAnswer> getByCompanyId(String companyId);
    boolean checkMemberAnswerDone(AiMemberAnswer aiMemberAnswer);
    /**
     * 根据状态查询答题记录列表
     * @param state 状态 0-进行中 1-已结束
     * @return 答题记录列表
     */
    List<AiMemberAnswer> getByState(Integer state);
    FebsResponse answer(ApiQuestionAnswerDto dto);
    /**
     * 根据用户ID和状态查询答题记录列表
     * @param memberId 用户ID
     * @param state 状态 0-进行中 1-已结束
     * @return 答题记录列表
     */
    List<AiMemberAnswer> getByMemberIdAndState(String memberId, Integer state);
    FebsResponse insure(ApiMemberAnswerInsureDto dto);
    /**
     * 根据公司ID和用户ID查询答题记录列表
     * @param companyId 公司ID
     * @param memberId 用户ID
     * @return 答题记录列表
     */
    List<AiMemberAnswer> getByCompanyIdAndMemberId(String companyId, String memberId);
    FebsResponse previous(ApiMemberAnswerPreviousDto dto);
    /**
     * 根据评分范围查询答题记录列表
     * @param minScore 最低分
     * @param maxScore 最高分
     * @return 答题记录列表
     */
    List<AiMemberAnswer> getByScoreRange(Integer minScore, Integer maxScore);
    FebsResponse wrongPage(ApiMemberAnswerWrongPageDto dto);
    /**
     * 保存答题记录
     * @param aiMemberAnswer 答题记录实体
     * @return 是否保存成功
     */
    boolean saveAnswer(AiMemberAnswer aiMemberAnswer);
    /**
     * 批量保存答题记录
     * @param answers 答题记录列表
     * @return 是否保存成功
     */
    boolean saveBatchAnswers(List<AiMemberAnswer> answers);
    /**
     * 更新答题记录
     * @param aiMemberAnswer 答题记录实体
     * @return 是否更新成功
     */
    boolean updateAnswer(AiMemberAnswer aiMemberAnswer);
    /**
     * 根据ID删除答题记录
     * @param id 答题记录ID
     * @return 是否删除成功
     */
    boolean deleteById(String id);
    /**
     * 根据用户ID删除答题记录
     * @param memberId 用户ID
     * @return 是否删除成功
     */
    boolean deleteByMemberId(String memberId);
    FebsResponse myWork(ApiMemberProductWorkPageDto dto);
}