package com.ruoyi.cs.service;

import java.util.List;
import com.ruoyi.cs.domain.CsIncomeDetails;
import com.ruoyi.cs.domain.template.CsCustomerFollowTemplate;
import com.ruoyi.cs.domain.template.CsIncomeDetailsTemplate;

/**
 * 收入明细Service接口
 *
 * @author ruoyi
 * @date 2024-05-07
 */
public interface ICsIncomeDetailsService
{
    /**
     * 查询收入明细
     *
     * @param incomeDetailsId 收入明细主键
     * @return 收入明细
     */
    public CsIncomeDetails selectCsIncomeDetailsByIncomeDetailsId(String incomeDetailsId);

    /**
     * 查询收入明细列表
     *
     * @param csIncomeDetails 收入明细
     * @return 收入明细集合
     */
    public List<CsIncomeDetails> selectCsIncomeDetailsList(CsIncomeDetails csIncomeDetails);

    /**
     * 新增收入明细
     *
     * @param csIncomeDetails 收入明细
     * @return 结果
     */
    public int insertCsIncomeDetails(CsIncomeDetails csIncomeDetails);

    /**
     * 修改收入明细
     *
     * @param csIncomeDetails 收入明细
     * @return 结果
     */
    public int updateCsIncomeDetails(CsIncomeDetails csIncomeDetails);

    /**
     * 批量删除收入明细
     *
     * @param incomeDetailsIds 需要删除的收入明细主键集合
     * @return 结果
     */
    public int deleteCsIncomeDetailsByIncomeDetailsIds(String[] incomeDetailsIds);

    /**
     * 删除收入明细信息
     *
     * @param incomeDetailsId 收入明细主键
     * @return 结果
     */
    public int deleteCsIncomeDetailsByIncomeDetailsId(String incomeDetailsId);

    /** 导入收入明细记录
     *
     * @param list
     * @param updateSupport
     * @return
     */
    public String importCsIncomeDetails(List<CsIncomeDetailsTemplate> list, boolean updateSupport);

    /**
     * 批量新增收入明细记录
     *
     * @param list 收入明细记录
     * @return 结果
     */
    public int insertCsIncomeDetailsBatch(List<CsIncomeDetailsTemplate> list);
}
