using Model;
using Model.Entity.Asset;
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
namespace Service.Interface
{
///
/// 设备附件服务接口(资产附件管理:分类存储、在线预览)
///
public interface IEquipmentAttachmentService
{
///
/// 查询指定设备的附件列表(按上传时间倒序)
///
/// 设备 Id
/// 返回包含附件列表的 Result
Task>> GetByEquipmentAsync(long equipmentId);
///
/// 上传附件(保存文件到 uploads 目录并写入附件记录)
///
/// 设备 Id
/// 文件流
/// 原始文件名
/// 文件大小(字节)
/// 文件类型(说明书/合格证/校准证书等)
/// 上传人
/// 备注
/// 站点静态文件根目录物理路径
/// 返回新增附件记录的 Result
Task> UploadAsync(long equipmentId, Stream stream, string originalFileName, long fileSize,
AttachmentTypeEnum fileType, string? uploader, string? remark, string webRootPath);
///
/// 删除附件(软删除记录并删除物理文件)
///
/// 附件 Id
/// 返回操作是否成功的 Result
Task> DeleteAsync(long id);
}
}