package cc.mrbird.febs.ai.service.impl; import cc.mrbird.febs.ai.entity.AiTalkItem; import cc.mrbird.febs.ai.mapper.AiTalkItemMapper; import cc.mrbird.febs.ai.req.talk.ApiTalkItemPageDto; import cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkItemVo; import cc.mrbird.febs.ai.res.talk.ApiTalkItemPageVo; import cc.mrbird.febs.ai.service.AiTalkItemService; import cc.mrbird.febs.ai.utils.UUID; import cc.mrbird.febs.common.entity.FebsResponse; import cn.hutool.core.date.DateTime; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; 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 java.util.List; @Slf4j @Service @RequiredArgsConstructor public class AiTalkItemServiceImpl extends ServiceImpl implements AiTalkItemService { private final AiTalkItemMapper aiTalkItemMapper; @Override public void add(String id, int code, String context, String memberUuid, DateTime date) { AiTalkItem aiTalkItem = new AiTalkItem(); aiTalkItem.setId(UUID.getSimpleUUIDString()); aiTalkItem.setMemberId(memberUuid); aiTalkItem.setType(code); aiTalkItem.setTalkId(id); aiTalkItem.setCreatedTime(date); aiTalkItem.setContext(context); this.baseMapper.insert(aiTalkItem); } @Override public FebsResponse historyPage(ApiTalkItemPageDto dto) { // 创建分页对象,传入当前页和每页大小 Page page = new Page<>(dto.getPageNow(), dto.getPageSize()); Page pageListByQuery = aiTalkItemMapper.getPageListByQuery(page, dto); return new FebsResponse().success().data(pageListByQuery); } @Override public List getListByTalkId(String talkId) { LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(AiTalkItem.class); queryWrapper.eq(AiTalkItem::getTalkId, talkId); queryWrapper.orderByDesc(AiTalkItem::getCreatedTime); queryWrapper.last("limit 10"); List list = aiTalkItemMapper.selectList(queryWrapper); return list; } }