package com.engine.salary.mapper.salarybill;

import com.engine.salary.entity.salaryBill.dto.SalarySendRangeListDTO;
import com.engine.salary.entity.salaryBill.param.SalarySendRangeQueryParam;
import com.engine.salary.entity.salaryBill.po.SalarySendRangePO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface SalarySendRangeMapper {
    int deleteByPrimaryKey(Long id);

    int insertSelective(SalarySendRangePO record);

    SalarySendRangePO selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(SalarySendRangePO record);

    List<SalarySendRangePO> selectByAll(SalarySendRangePO salarySendRangePO);

    List<SalarySendRangePO> selectBySendIdAndGrantType(@Param("salarySendId") Long salarySendId,
                                                       @Param("grantType") String grantType);

    List<Long> selectIdsBySendIdAndGrantType(@Param("salarySendId") Long salarySendId,
                                                       @Param("grantType") String grantType);

    int updateBatchSelective(List<SalarySendRangePO> list);

    int batchInsert(@Param("list") List<SalarySendRangePO> list);

    List<SalarySendRangeListDTO> selectByParam(@Param("queryParam") SalarySendRangeQueryParam queryParam);


}