using Attribute; using Model; using Model.Base; using Repository; using Service; using Microsoft.AspNetCore.Mvc; using Vo.Admin; using Common; namespace Services { /// /// APP静态资源Service业务层处理 /// [AppService(ServiceType = typeof(IAppProjectStaticService), ServiceLifetime = LifeTime.Transient)] public class AppProjectStaticService : BaseService, IAppProjectStaticService { /// /// APP静态资源-列表 /// /// 参数请求体 /// 分页参数 /// 列表 public PagedInfo getAppProjectStaticList([FromQuery] PagerInfo page, [FromQuery] AppProjectStatic param) { //拼装查询条件 var predicate = Expressionable.Create(); predicate = predicate.AndIF(param.versionId > 0, m => m.versionId == param.versionId); predicate = predicate.AndIF(param.appId > 0, m => m.appId == param.appId); predicate = predicate.AndIF(!string.IsNullOrEmpty(param.fileType), m => m.fileType.Contains(param.fileType)); var response = Queryable() .Where(predicate.ToExpression()) .OrderByDescending(m => m.id) .ToPage(page); return response; } /// /// 获取目录下所有文件 /// /// 目录路径 public void getStaticFileList(string directoryPath, int appId, int versionId) { var files = FileHelper.GetSystemFiles(directoryPath); foreach (var file in files) { var exists = GetFirst(m => m.fileName == file && m.appId == appId && m.versionId == versionId); if (exists == null) { Add(new AppProjectStatic { fileName = file, appId = appId, versionId = versionId, createTime = DateTime.Now, updateTime = DateTime.Now }); } } } } }