package com.iamberry.rent.service.rebate.mapper;

import java.util.List;

import com.iamberry.wechat.core.entity.rent.RebateRecord;
import com.iamberry.wechat.core.entity.rent.RebateType;
import com.iamberry.wechat.core.entity.rent.RentOrder;
import com.iamberry.wechat.core.entity.rent.RentTypeInfo;
import org.apache.ibatis.annotations.Param;

public interface OrderRebateMapper {

	/**
	 * 根据id和状态查询租赁类型数据
	 * @param rentTypeInfo
	 * @return
	 */
	RentTypeInfo getRebateType(RentTypeInfo rentTypeInfo);
	
	/**
	 * 查询租赁方式列表
	 * @param rentTypeInfo
	 * @return
	 */
	List<RentTypeInfo> listRebateType(RentTypeInfo rentTypeInfo);
	
	/**
	 * 根据条件查询订单列表
	 * @param rentOrder
	 * @return
	 */
	List<RentOrder> listRentOrderByStatus(RentOrder rentOrder);
	
	/**
	 * 根据条件查询返利记录信息
	 * @param rebateRecord
	 * @return
	 */
	List<RebateRecord> listRebateRecord(RebateRecord rebateRecord);
	
	/**
	 * 根据三个条件查询一条返利类型
	 * @param rebateType
	 * @return
	 */
	RebateType getOneRebateType(RebateType rebateType);
	
	/**
	 * 保存待返利记录
	 * @param rebateRecord
	 * @return
	 */
	Integer saveRebateRecord(RebateRecord rebateRecord);

	/**
	 * 分页查询转账的记录
	 * @return
	 */
	List<RebateRecord> listPayRebate(@Param("min") int min, @Param("max") int max);

	/**
	 * 统计待转账的返利记录条数
	 * @return
	 */
	Integer countPayRebate();

	/**
	 * 根据id，查询返利记录
	 * @param id
	 * @return
	 */
	RebateRecord get(Integer id);

	/**
	 * 将待返利记录修改为已返利
	 * @param id
	 * @return
	 */
	Integer updateRebate(Integer id);
}
