package cc.mrbird.febs.ai.service.impl; import cc.mrbird.febs.ai.entity.AiMemberTalkItem; import cc.mrbird.febs.ai.mapper.AiMemberTalkItemMapper; import cc.mrbird.febs.ai.req.memberTalk.ApiMemberTalkItemPageDto; import cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkItemVo; import cc.mrbird.febs.ai.res.product.ApiProductVo; import cc.mrbird.febs.ai.service.AiMemberTalkItemService; import cc.mrbird.febs.ai.utils.UUID; import cc.mrbird.febs.common.entity.FebsResponse; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; /** * AI用户对话训练记录子表 Service实现类 * * @author yourname * @date 2025-07-29 */ @Slf4j @Service @RequiredArgsConstructor public class AiMemberTalkItemServiceImpl extends ServiceImpl implements AiMemberTalkItemService { private final AiMemberTalkItemMapper aiMemberTalkItemMapper; @Override public void add(String memberUuid, String id, int type, String resContext,Date createdTime) { AiMemberTalkItem aiMemberTalkItem = new AiMemberTalkItem(); aiMemberTalkItem.setId(UUID.getSimpleUUIDString()); aiMemberTalkItem.setCreatedTime(createdTime); aiMemberTalkItem.setMemberId(memberUuid); aiMemberTalkItem.setMemberTalkId(id); aiMemberTalkItem.setType(type); aiMemberTalkItem.setContext(resContext); aiMemberTalkItemMapper.insert(aiMemberTalkItem); } @Override public AiMemberTalkItem getByQuery(LambdaQueryWrapper memberTalkItemQuery) { return aiMemberTalkItemMapper.selectOne(memberTalkItemQuery); } @Override public FebsResponse historyPage(ApiMemberTalkItemPageDto dto) { // 创建分页对象,传入当前页和每页大小 Page page = new Page<>(dto.getPageNow(), dto.getPageSize()); Page pageListByQuery = aiMemberTalkItemMapper.getPageListByQuery(page, dto); return new FebsResponse().success().data(pageListByQuery); } }