Administrator
2025-08-13 50e115e0161091385286ab2462b09018b4f18456
src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkService.java
@@ -1,8 +1,16 @@
package cc.mrbird.febs.ai.service;
import cc.mrbird.febs.ai.entity.AiMemberTalk;
import cc.mrbird.febs.ai.req.memberTalk.ApiMemberTalkAnswerDto;
import cc.mrbird.febs.ai.req.memberTalk.ApiMemberTalkDto;
import cc.mrbird.febs.ai.req.memberTalk.ApiMemberTalkItemPageDto;
import cc.mrbird.febs.ai.res.ai.AiResponse;
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;
import java.util.Date;
import java.util.function.Consumer;
/**
 * AI用户对话训练记录 Service接口
@@ -12,73 +20,20 @@
 */
public interface AiMemberTalkService extends IService<AiMemberTalk> {
    /**
     * 根据ID查询对话记录
     * @param id 对话记录ID
     * @return 对话记录信息
     */
    AiMemberTalk getById(String id);
    /**
     * 根据用户ID查询对话记录
     * @param memberId 用户ID
     * @return 对话记录列表
     */
    List<AiMemberTalk> getByMemberId(String memberId);
    FebsResponse start(ApiMemberTalkDto dto);
    /**
     * 根据产品ID查询对话记录
     * @param productId 产品ID
     * @return 对话记录列表
     */
    List<AiMemberTalk> getByProductId(String productId);
    void startStream(ApiMemberTalkDto dto, Consumer<AiResponse> callback);
    /**
     * 根据角色ID查询对话记录
     * @param productRoleId 角色ID
     * @return 对话记录列表
     */
    List<AiMemberTalk> getByProductRoleId(String productRoleId);
    AiMemberTalk getByQuery(LambdaQueryWrapper<AiMemberTalk> query);
    /**
     * 根据公司ID查询对话记录
     * @param companyId 公司ID
     * @return 对话记录列表
     */
    List<AiMemberTalk> getByCompanyId(String companyId);
    void updateTimeUpdate(Date nowTime, String id);
    /**
     * 保存对话记录
     * @param aiMemberTalk 对话记录实体
     * @return 是否保存成功
     */
    boolean saveTalk(AiMemberTalk aiMemberTalk);
    FebsResponse answer(ApiMemberTalkAnswerDto dto);
    /**
     * 批量保存对话记录
     * @param talks 对话记录列表
     * @return 是否保存成功
     */
    boolean saveBatchTalks(List<AiMemberTalk> talks);
    AiMemberTalk add(String memberUuid, String productId, Date nowTime);
    /**
     * 更新对话记录
     * @param aiMemberTalk 对话记录实体
     * @return 是否更新成功
     */
    boolean updateTalk(AiMemberTalk aiMemberTalk);
    /**
     * 根据ID删除对话记录
     * @param id 对话记录ID
     * @return 是否删除成功
     */
    boolean deleteById(String id);
    /**
     * 根据用户ID删除对话记录
     * @param memberId 用户ID
     * @return 是否删除成功
     */
    boolean deleteByMemberId(String memberId);
    FebsResponse historyPage(ApiMemberTalkItemPageDto dto);
}