package com.usoft.fin.grpc.dal.mapper;

import com.usoft.fin.grpc.dal.entity.DrawApply;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface DrawApplyMapper {
    /**
     * deleteByPrimaryKey
     * 
     * @param id
     * @return int
     */
    int deleteByPrimaryKey(Integer id);

    /**
     * insert
     * 
     * @param record
     * @return int
     */
    int insert(DrawApply record);

    /**
     * insertSelective
     * 
     * @param record
     * @return int
     */
    int insertSelective(DrawApply record);

    /**
     * selectByPrimaryKey
     * 
     * @param id
     * @return DrawApply
     */
    DrawApply selectByPrimaryKey(Integer id);

    /**
     * updateByPrimaryKeySelective
     * 
     * @param record
     * @return int
     */
    int updateByPrimaryKeySelective(DrawApply record);

    /**
     * updateByPrimaryKey
     * 
     * @param record
     * @return int
     */
    int updateByPrimaryKey(DrawApply record);

    /**
     * 根据code获取提款申请记录
     * @param code
     * @return
     */
    DrawApply findByCode(String code);

    /**
     * 根据额度编号和受理状态查询提款记录
     * @param creditCode
     * @param auditStatus
     * @return
     */
    DrawApply findByCreditCodeAndAuditStatus(@Param("creditCode") String creditCode,@Param("auditStatus") short auditStatus);

    /**
     * 分页查询
     * @param start 当前页数
     * @param pageSize 每页数量
     * @param enuu
     * @return
     */
    List<DrawApply> findListByEnuu(@Param("start") int start, @Param("pageSize") int pageSize, @Param("enuu") int enuu);


    /**
     * 根据产品编号和用户查询提款申请信息
     * @param productCode 产品编号
     * @param enuu 企业uu号
     * @return
     */
    List<DrawApply> findByEnuuAndProductCode(@Param("productCode") String productCode,  @Param("enuu") int enuu);

    /**
     * 统计当前用户的提款申请记录
     * @param enuu 企业uu号
     * @return
     */
    int countByEnuu(@Param("enuu") int enuu);
}