149 lines
5.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Learun.Util;
using System.Collections.Generic;
using System.IO;
namespace Learun.Application.Base.SystemModule
{
/// <summary>
/// 版 本 PIT-ADMS V7.0.3 敏捷开发框架
/// Copyright (c) 2013-2018 Hexagon PPM
/// 创建人:研发部
/// 日 期2017.03.08
/// 描 述:附件管理
/// </summary>
public interface AnnexesFileIBLL
{
#region
/// <summary>
/// 获取实体列表
/// </summary>
/// <param name="keyValue">附件夹主键</param>
/// <returns></returns>
List<AnnexesFileEntity> GetList(string keyValue);
/// <summary>
/// 获取实体(根据F_Id)
/// </summary>
/// <param name="F_Id">主键</param>
/// <returns></returns>
AnnexesFileEntity GetEntityByF_Id(string F_Id);
/// <summary>
/// 获取附件名称集合
/// </summary>
/// <param name="keyValue">主键值</param>
/// <returns></returns>
string GetFileNames(string keyValue);
/// <summary>
/// 获取附件实体
/// </summary>
/// <param name="keyValue">主键</param>
/// <returns></returns>
AnnexesFileEntity GetEntity(string keyValue);
/// <summary>
/// 获取附件实体
/// </summary>
/// <param name="keyValue">附键</param>
/// <returns></returns>
List<AnnexesFileEntity> GetEntitys(string keyValue);
/// <summary>
/// 获取页面显示列表数据
/// </summary>
/// <param name="pagination">分页信息</param>
/// <param name="queryJson">查询参数</param>
/// <returns></returns>
List<AnnexesFileEntity> GetPageList(Pagination pagination, string queryJson);
#endregion
#region
/// <summary>
/// 保存数据实体
/// </summary>
/// <param name="folderId">附件夹主键</param>
/// <param name="annexesFileEntity">附件实体数据</param>
void SaveEntity(string folderId, AnnexesFileEntity annexesFileEntity);
/// <summary>
/// 删除附件
/// </summary>
/// <param name="fileId">文件主键</param>
void DeleteEntity(string fileId);
#endregion
#region
/// <summary>
/// 保存附件(文件流)
/// </summary>
/// <param name="folderId">附件夹主键</param>
/// <param name="fileGuid">文件主键</param>
/// <param name="fileName">文件名称</param>
/// <param name="fileSize">文件大小</param>
/// <param name="inputStream">文件流</param>
/// <param name="userInfo">用户信息</param>
/// <param name="filePath">保存路径</param>
/// <returns></returns>
bool SaveAnnexes(string folderId, string fileGuid, string fileName, int fileSize, Stream inputStream, UserInfo userInfo, string filePath = "");
/// <summary>
/// 保存附件(支持大文件分片传输)
/// </summary>
/// <param name="folderId">附件夹主键</param>
/// <param name="fileGuid">文件主键</param>
/// <param name="fileName">文件名称</param>
/// <param name="chunks">文件总共分多少片</param>
/// <param name="fileStream">文件二进制流</param>
bool SaveAnnexes(string folderId, string fileGuid, string fileName, int chunks, UserInfo userInfo, string filePath = "");
/// <summary>
/// 保存附件
/// </summary>
/// <param name="folderid"></param>
/// <param name="fileAnnexesEntity"></param>
void SaveAnnexesFileEntity(string folderid, AnnexesFileEntity fileAnnexesEntity);
/// <summary>
/// 保存附件(支持大文件分片传输)
/// </summary>
/// <param name="fileGuid">文件主键</param>
/// <param name="fileName">文件名称</param>
/// <param name="chunks">文件总共分多少片</param>
/// <param name="fileStream">文件二进制流</param>
/// <returns></returns>
string SaveAnnexes(string fileGuid, string fileName, int chunks, UserInfo userInfo);
/// <summary>
/// 保存附件到文件中
/// </summary>
/// <param name="fileGuid">文件主键</param>
/// <param name="filePath">文件路径</param>
/// <param name="chunks">总共分片数</param>
/// <param name="buffer">文件二进制流</param>
/// <returns></returns>
long SaveAnnexesToFile(string fileGuid, string filePath, int chunks);
/// <summary>
/// 保存分片附件
/// </summary>
/// <param name="fileGuid">文件主键</param>
/// <param name="chunk">分片文件序号</param>
/// <param name="fileStream">文件流</param>
void SaveChunkAnnexes(string fileGuid, int chunk, Stream fileStream);
/// <summary>
/// 移除文件分片数据
/// </summary>
/// <param name="fileGuid">文件主键</param>
/// <param name="chunks">文件分片数</param>
void RemoveChunkAnnexes(string fileGuid, int chunks);
#endregion
/// <summary>
///
/// </summary>
/// <param name="path"></param>
/// <returns></returns>
bool Exists(string path);
/// <summary>
/// 图片压缩
/// </summary>
/// <param name="srcPath">需要压缩的文件路径</param>
/// <param name="outPath">压缩后输出到哪个路径</param>
/// <param name="flag">压缩比例</param>
/// <returns></returns>
bool YaSuo(string srcPath, string outPath, int flag);
}
}