package com.yd.csf.service.dao;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.csf.feign.dto.salarysplit.ApiSalarySplitPageDto;
import com.yd.csf.feign.dto.salarysplit.ApiSalarySplitSummaryPageDto;
import com.yd.csf.feign.request.salarysplit.ApiSalarySplitExportSummaryListRequest;
import com.yd.csf.feign.request.salarysplit.ApiSalarySplitPageRequest;
import com.yd.csf.feign.request.salarysplit.ApiSalarySplitSummaryPageRequest;
import com.yd.csf.service.model.SalarySplit;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 薪资拆分应发表 Mapper 接口
 * </p>
 *
 * @author zxm
 * @since 2026-03-30
 */
public interface SalarySplitMapper extends BaseMapper<SalarySplit> {

    IPage<ApiSalarySplitSummaryPageDto> summaryPage(@Param("page") Page<ApiSalarySplitSummaryPageDto> page,
                                                    @Param("request") ApiSalarySplitSummaryPageRequest request);

    List<ApiSalarySplitSummaryPageDto> summaryList(@Param("request") ApiSalarySplitExportSummaryListRequest request);

    IPage<ApiSalarySplitPageDto> page(@Param("page") Page<ApiSalarySplitPageDto> page,
                                      @Param("request") ApiSalarySplitPageRequest request);

    List<String> queryList(@Param("request") ApiSalarySplitSummaryPageRequest request);
}
