package cn.iocoder.yudao.module.pay.dal.mysql.order; 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.pay.controller.admin.order.vo.PayOrderExportReqVO; import cn.iocoder.yudao.module.pay.controller.admin.order.vo.PayOrderPageReqVO; import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderDO; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.apache.ibatis.annotations.Mapper; import java.time.LocalDateTime; import java.util.List; @Mapper public interface PayOrderMapper extends BaseMapperX { default PageResult selectPage(PayOrderPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(PayOrderDO::getAppId, reqVO.getAppId()) .eqIfPresent(PayOrderDO::getChannelCode, reqVO.getChannelCode()) .likeIfPresent(PayOrderDO::getMerchantOrderId, reqVO.getMerchantOrderId()) .likeIfPresent(PayOrderDO::getChannelOrderNo, reqVO.getChannelOrderNo()) .likeIfPresent(PayOrderDO::getNo, reqVO.getNo()) .eqIfPresent(PayOrderDO::getStatus, reqVO.getStatus()) .betweenIfPresent(PayOrderDO::getCreateTime, reqVO.getCreateTime()) .orderByDesc(PayOrderDO::getId)); } default List selectList(PayOrderExportReqVO reqVO) { return selectList(new LambdaQueryWrapperX() .eqIfPresent(PayOrderDO::getAppId, reqVO.getAppId()) .eqIfPresent(PayOrderDO::getChannelCode, reqVO.getChannelCode()) .likeIfPresent(PayOrderDO::getMerchantOrderId, reqVO.getMerchantOrderId()) .likeIfPresent(PayOrderDO::getChannelOrderNo, reqVO.getChannelOrderNo()) .likeIfPresent(PayOrderDO::getNo, reqVO.getNo()) .eqIfPresent(PayOrderDO::getStatus, reqVO.getStatus()) .betweenIfPresent(PayOrderDO::getCreateTime, reqVO.getCreateTime()) .orderByDesc(PayOrderDO::getId)); } default Long selectCountByAppId(Long appId) { return selectCount(PayOrderDO::getAppId, appId); } default PayOrderDO selectByAppIdAndMerchantOrderId(Long appId, String merchantOrderId) { return selectOne(PayOrderDO::getAppId, appId, PayOrderDO::getMerchantOrderId, merchantOrderId); } default int updateByIdAndStatus(Long id, Integer status, PayOrderDO update) { return update(update, new LambdaQueryWrapper() .eq(PayOrderDO::getId, id).eq(PayOrderDO::getStatus, status)); } default List selectListByStatusAndExpireTimeLt(Integer status, LocalDateTime expireTime) { return selectList(new LambdaQueryWrapper() .eq(PayOrderDO::getStatus, status) .lt(PayOrderDO::getExpireTime, expireTime)); } }