package com.bailuntec.mapper;

import com.bailuntec.domain.entity.DcBaseCrmRefund;
import com.bailuntec.domain.example.DcBaseCrmRefundExample;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDate;
import java.util.List;

public interface DcBaseCrmRefundMapper {
    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_crm_refund
     *
     * @mbg.generated
     */
    long countByExample(DcBaseCrmRefundExample example);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_crm_refund
     *
     * @mbg.generated
     */
    int deleteByExample(DcBaseCrmRefundExample example);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_crm_refund
     *
     * @mbg.generated
     */
    int deleteByPrimaryKey(Integer id);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_crm_refund
     *
     * @mbg.generated
     */
    int insert(DcBaseCrmRefund record);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_crm_refund
     *
     * @mbg.generated
     */
    int insertSelective(DcBaseCrmRefund record);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_crm_refund
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    DcBaseCrmRefund selectOneByExample(DcBaseCrmRefundExample example);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_crm_refund
     *
     * @mbg.generated
     */
    List<DcBaseCrmRefund> selectByExample(DcBaseCrmRefundExample example);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_crm_refund
     *
     * @mbg.generated
     */
    DcBaseCrmRefund selectByPrimaryKey(Integer id);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_crm_refund
     *
     * @mbg.generated
     */
    int updateByExampleSelective(@Param("record") DcBaseCrmRefund record, @Param("example") DcBaseCrmRefundExample example);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_crm_refund
     *
     * @mbg.generated
     */
    int updateByExample(@Param("record") DcBaseCrmRefund record, @Param("example") DcBaseCrmRefundExample example);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_crm_refund
     *
     * @mbg.generated
     */
    int updateByPrimaryKeySelective(DcBaseCrmRefund record);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_crm_refund
     *
     * @mbg.generated
     */
    int updateByPrimaryKey(DcBaseCrmRefund record);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_crm_refund
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    int upsert(DcBaseCrmRefund record);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_crm_refund
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    int upsertSelective(DcBaseCrmRefund record);

    List<DcBaseCrmRefund> selectByRefundDate(@Param("localDateStr") String localDateStr, @Param("v1") Integer v1, @Param("v2") Integer v2);

    long countByDate(@Param("localDateStr") String localDate);
}