package cn.iocoder.yudao.module.mp.dal.mysql.message; 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.mp.controller.admin.message.vo.message.MpMessagePageReqVO; import cn.iocoder.yudao.module.mp.dal.dataobject.message.MpAutoReplyDO; import cn.iocoder.yudao.module.mp.enums.message.MpAutoReplyMatchEnum; import cn.iocoder.yudao.module.mp.enums.message.MpAutoReplyTypeEnum; import org.apache.ibatis.annotations.Mapper; import java.util.List; @Mapper public interface MpAutoReplyMapper extends BaseMapperX { default PageResult selectPage(MpMessagePageReqVO pageVO) { return selectPage(pageVO, new LambdaQueryWrapperX() .eq(MpAutoReplyDO::getAccountId, pageVO.getAccountId()) .eqIfPresent(MpAutoReplyDO::getType, pageVO.getType())); } default List selectListByAppIdAndKeywordAll(String appId, String requestKeyword) { return selectList(new LambdaQueryWrapperX() .eq(MpAutoReplyDO::getAppId, appId) .eq(MpAutoReplyDO::getType, MpAutoReplyTypeEnum.KEYWORD.getType()) .eq(MpAutoReplyDO::getRequestMatch, MpAutoReplyMatchEnum.ALL.getMatch()) .eq(MpAutoReplyDO::getRequestKeyword, requestKeyword)); } default List selectListByAppIdAndKeywordLike(String appId, String requestKeyword) { return selectList(new LambdaQueryWrapperX() .eq(MpAutoReplyDO::getAppId, appId) .eq(MpAutoReplyDO::getType, MpAutoReplyTypeEnum.KEYWORD.getType()) .eq(MpAutoReplyDO::getRequestMatch, MpAutoReplyMatchEnum.LIKE.getMatch()) .like(MpAutoReplyDO::getRequestKeyword, requestKeyword)); } default List selectListByAppIdAndMessage(String appId, String requestMessageType) { return selectList(new LambdaQueryWrapperX() .eq(MpAutoReplyDO::getAppId, appId) .eq(MpAutoReplyDO::getType, MpAutoReplyTypeEnum.MESSAGE.getType()) .eq(MpAutoReplyDO::getRequestMessageType, requestMessageType)); } default List selectListByAppIdAndSubscribe(String appId) { return selectList(new LambdaQueryWrapperX() .eq(MpAutoReplyDO::getAppId, appId) .eq(MpAutoReplyDO::getType, MpAutoReplyTypeEnum.SUBSCRIBE.getType())); } default MpAutoReplyDO selectByAccountIdAndSubscribe(Long accountId) { return selectOne(MpAutoReplyDO::getAccountId, accountId, MpAutoReplyDO::getType, MpAutoReplyTypeEnum.SUBSCRIBE.getType()); } default MpAutoReplyDO selectByAccountIdAndMessage(Long accountId, String requestMessageType) { return selectOne(new LambdaQueryWrapperX() .eq(MpAutoReplyDO::getAccountId, accountId) .eq(MpAutoReplyDO::getType, MpAutoReplyTypeEnum.MESSAGE.getType()) .eq(MpAutoReplyDO::getRequestMessageType, requestMessageType)); } default MpAutoReplyDO selectByAccountIdAndKeyword(Long accountId, String requestKeyword) { return selectOne(new LambdaQueryWrapperX() .eq(MpAutoReplyDO::getAccountId, accountId) .eq(MpAutoReplyDO::getType, MpAutoReplyTypeEnum.KEYWORD.getType()) .eq(MpAutoReplyDO::getRequestKeyword, requestKeyword)); } }