package cn.iocoder.yudao.module.system.dal.mysql.rental;

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.system.controller.admin.rental.vo.rentalsalerecord.RentalSaleRecordPageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.rental.vo.rentalsalerecord.RentalSaleRecordRespVO;
import cn.iocoder.yudao.module.system.dal.dataobject.rental.RentalSaleRecordDO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 租赁转销售记录 Mapper
 *
 * @author 符溶馨
 */
@Mapper
public interface RentalSaleRecordMapper extends BaseMapperX<RentalSaleRecordDO> {

    default PageResult<RentalSaleRecordDO> selectPage(RentalSaleRecordPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<RentalSaleRecordDO>()
                .eqIfPresent(RentalSaleRecordDO::getOrderNo, reqVO.getOrderNo())
                .betweenIfPresent(RentalSaleRecordDO::getSaleDate, reqVO.getSaleDate())
                .eqIfPresent(RentalSaleRecordDO::getStatus, reqVO.getStatus())
                .eqIfPresent(RentalSaleRecordDO::getReturnUserId, reqVO.getReturnUserId())
                .betweenIfPresent(RentalSaleRecordDO::getCreateTime, reqVO.getCreateTime())
                .orderByDesc(RentalSaleRecordDO::getId));
    }

    List<RentalSaleRecordRespVO> selectSaleDepositRecordList();
}