package com.ruoyi.cs.service;

import java.util.Date;
import java.util.List;
import com.ruoyi.cs.domain.CsBusinessMapping;
import com.ruoyi.cs.domain.dto.CsBusinessMappingDTO;
import com.ruoyi.cs.domain.dto.CsUserInfoDTO;
import com.ruoyi.cs.domain.vo.CsBusinessMappingVO;

/**
 * 业务映射Service接口
 * 
 * @author ruoyi
 * @date 2024-04-26
 */
public interface ICsBusinessMappingService 
{
    /**
     * 查询业务映射
     * 
     * @param mappingId 业务映射主键
     * @return 业务映射
     */
    public CsBusinessMapping selectCsBusinessMappingByMappingId(String mappingId);

    /**
     * 查询业务映射列表
     * 
     * @param csBusinessMapping 业务映射
     * @return 业务映射集合
     */
    public List<CsBusinessMapping> selectCsBusinessMappingList(CsBusinessMapping csBusinessMapping);

    /**
     * 新增业务映射
     * 
     * @param csBusinessMapping 业务映射
     * @return 结果
     */
    public int insertCsBusinessMapping(CsBusinessMapping csBusinessMapping);

    /**
     * 修改业务映射
     * 
     * @param csBusinessMapping 业务映射
     * @return 结果
     */
    public int updateCsBusinessMapping(CsBusinessMapping csBusinessMapping);

    /**
     * 批量删除业务映射
     * 
     * @param mappingIds 需要删除的业务映射主键集合
     * @return 结果
     */
    public int deleteCsBusinessMappingByMappingIds(String[] mappingIds);

    /**
     * 删除业务映射信息
     * 
     * @param mappingId 业务映射主键
     * @return 结果
     */
    public int deleteCsBusinessMappingByMappingId(String mappingId);

    /**
     * 批量新增业务映射信息
     * @param list 映射信息列表
     * @param applyId 申请资源id
     * @param createAt 创建时间
     * @return
     */
    public int batchInsertBusinessMapping(List<CsBusinessMappingDTO> list, String applyId, Date createAt);

    /**
     * 查询业务映射列表
     * @param resId 业务映射相关资源ID
     * @param resType 相关资源类型：0-资源，1-工单，2-
     * @return 业务映射集合
     */
    public List<CsBusinessMappingVO> selectApplyBusinessMappingList(String resId, String resType);


    /**
     * 批量删除申请的业务映射信息
     * @param applyId 申请资源id
     * @param resType 相关资源类型：0-资源，1-工单，2-
     * @return
     */
    public int batchCoverBusinessMapping(List<CsBusinessMappingDTO> list, String applyId, Date createAt, String resType);
}
