package com.op.mes.mapper;

import com.op.common.core.domain.BaseFileData;
import com.op.mes.domain.BaseFile;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 附件Mapper接口
 *
 * @author Open Platform
 * @date 2023-07-10
 */
@Mapper
public interface BaseFileMapper {
	/**
	 * 查询附件
	 *
	 * @param fileId 附件主键
	 * @return 附件
	 */
	public BaseFile selectBaseFileByFileId(String fileId);

	/**
	 * 查询附件列表
	 *
	 * @param baseFile 附件
	 * @return 附件集合
	 */
	public List<BaseFile> selectBaseFileList(BaseFile baseFile);

	/**
	 * 新增附件
	 *
	 * @param baseFile 附件
	 * @return 结果
	 */
	public int insertBaseFile(BaseFile baseFile);

	/**
	 * 修改附件
	 *
	 * @param baseFile 附件
	 * @return 结果
	 */
	public int updateBaseFile(BaseFile baseFile);

	/**
	 * 删除附件
	 *
	 * @param fileId 附件主键
	 * @return 结果
	 */
	public int deleteBaseFileByFileId(String fileId);

	/**
	 * 批量删除附件
	 *
	 * @param fileIds 需要删除的数据主键集合
	 * @return 结果
	 */
	public int deleteBaseFileByFileIds(String[] fileIds);

    Boolean insertBaseFileBatch(@Param("baseFiles") List<BaseFileData> baseFiles);

    List<BaseFile> getBaseFileBatch(String processId);

	void deleteBaseFileBySourceId(String processId);
}
