package cn.iocoder.yudao.module.ai.dal.mysql.chat; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.ai.controller.admin.chat.vo.conversation.AiChatConversationPageReqVO; import cn.iocoder.yudao.module.ai.dal.dataobject.chat.AiChatConversationDO; import org.apache.ibatis.annotations.Mapper; import java.util.List; /** * AI 聊天对话 Mapper * * @author 芋道源码 */ @Mapper public interface AiChatConversationMapper extends BaseMapperX { default List selectListByUserId(Long userId) { return selectList(AiChatConversationDO::getUserId, userId); } default List selectListByUserIdAndPinned(Long userId, boolean pinned) { return selectList(new LambdaQueryWrapperX() .eq(AiChatConversationDO::getUserId, userId) .eq(AiChatConversationDO::getPinned, pinned)); } default PageResult selectChatConversationPage(AiChatConversationPageReqVO pageReqVO) { return selectPage(pageReqVO, new LambdaQueryWrapperX() .eqIfPresent(AiChatConversationDO::getUserId, pageReqVO.getUserId()) .likeIfPresent(AiChatConversationDO::getTitle, pageReqVO.getTitle()) .betweenIfPresent(AiChatConversationDO::getCreateTime, pageReqVO.getCreateTime()) .orderByDesc(AiChatConversationDO::getId)); } }