package com.goafanti.common.dao;

import com.goafanti.common.model.TOrderInvoice;
import com.goafanti.common.model.TOrderInvoiceExample;
import com.goafanti.order.bo.InvoiceBo;
import com.goafanti.order.bo.TOrderInvoiceDetails;

import java.math.BigDecimal;
import java.util.List;
import org.apache.ibatis.annotations.Param;

public interface TOrderInvoiceMapper {

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_invoice
	 * @mbg.generated  Fri May 17 09:46:50 CST 2019
	 */
	long countByExample(TOrderInvoiceExample example);

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_invoice
	 * @mbg.generated  Fri May 17 09:46:50 CST 2019
	 */
	int deleteByExample(TOrderInvoiceExample example);

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_invoice
	 * @mbg.generated  Fri May 17 09:46:50 CST 2019
	 */
	int deleteByPrimaryKey(Integer id);

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_invoice
	 * @mbg.generated  Fri May 17 09:46:50 CST 2019
	 */
	int insert(TOrderInvoice record);

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_invoice
	 * @mbg.generated  Fri May 17 09:46:50 CST 2019
	 */
	int insertSelective(TOrderInvoice record);

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_invoice
	 * @mbg.generated  Fri May 17 09:46:50 CST 2019
	 */
	List<TOrderInvoice> selectByExample(TOrderInvoiceExample example);

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_invoice
	 * @mbg.generated  Fri May 17 09:46:50 CST 2019
	 */
	TOrderInvoice selectByPrimaryKey(Integer id);

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_invoice
	 * @mbg.generated  Fri May 17 09:46:50 CST 2019
	 */
	int updateByExampleSelective(@Param("record") TOrderInvoice record, @Param("example") TOrderInvoiceExample example);

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_invoice
	 * @mbg.generated  Fri May 17 09:46:50 CST 2019
	 */
	int updateByExample(@Param("record") TOrderInvoice record, @Param("example") TOrderInvoiceExample example);

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_invoice
	 * @mbg.generated  Fri May 17 09:46:50 CST 2019
	 */
	int updateByPrimaryKeySelective(TOrderInvoice record);

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_invoice
	 * @mbg.generated  Fri May 17 09:46:50 CST 2019
	 */
	int updateByPrimaryKey(TOrderInvoice record);

	String checkApplyAmount(@Param("orderNo")String orderNo,@Param("id")Integer id);

	TOrderInvoiceDetails selectByInvoiceDitails(Integer id);

	 BigDecimal conutAmountByOrderNo(String orderNo);

	List<InvoiceBo> selectByOrderNo(String orderNo);

	TOrderInvoiceDetails getInvoiceDetails(String orderNo);
}