package com.engine.salary.mapper.salarybill;

import com.engine.salary.entity.salaryBill.dto.SalarySendUserInfoDTO;
import com.engine.salary.entity.salaryBill.po.SalarySendRangeObj;
import org.apache.ibatis.annotations.Param;

import java.util.Collection;
import java.util.List;

public interface SalarySendRangeObjMapper {
    int deleteByPrimaryKey(Long id);

    int insertSelective(SalarySendRangeObj record);

    SalarySendRangeObj selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(SalarySendRangeObj record);

    List<SalarySendRangeObj> selectByAll(SalarySendRangeObj salarySendRangeObj);

    List<SalarySendRangeObj> listBySalarySendIdAndRangeIds(@Param("salarySendId") Long salarySendId,
                                                           @Param("salarySendRangeIds") List<Long> salarySendRangeId,
                                                           @Param("tenantKey") String tenantKey);

    int updateBatchSelective(List<SalarySendRangeObj> list);

    void deleteByRangeIds(@Param("salarySendRangeIds") List<Long> salarySendRangeIds,
                          @Param("tenantKey") String tenantKey);

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

    int deleteBySalarySendIds(@Param("salarySendIds") Collection<Long> salarySendIds);

    List<SalarySendUserInfoDTO> getUserInfoByEmployeeIds(@Param("employeeIds") List<Long> employeeIds);
}