Files
IOT_API/Service/Interface/Asset/IEquipmentAttachmentService.cs
T

44 lines
1.9 KiB
C#

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