| | |
| | | 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接口 |
| | |
| | | */ |
| | | 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); |
| | | } |