using Attribute;
using Model;
using Model.Base;
using Repository;
using Service;
using Microsoft.AspNetCore.Mvc;
using Vo.Admin;
using Infrastructure;
using Common;
namespace Services
{
///
/// APP项目版本Service业务层处理
///
[AppService(ServiceType = typeof(IAppProjectVersionService), ServiceLifetime = LifeTime.Transient)]
public class AppProjectVersionService : BaseService, IAppProjectVersionService
{
///
/// APP项目版本-列表
///
/// 参数请求体
/// 分页参数
/// 列表
public PagedInfo getAppProjectVersionList([FromQuery] PagerInfo page, [FromQuery] AppProjectVersion param)
{
//拼装查询条件
var predicate = Expressionable.Create();
predicate = predicate.AndIF(param.appId > 0, m => m.appId == param.appId);
var response = Queryable()
.Where(predicate.ToExpression())
.OrderByDescending(m => m.id)
.ToPage(page);
return response;
}
///
/// APP项目版本-同步已有页面
///
/// 参数请求体
/// 同步已有页面
public string sycnAppProjectPage(AppProjectVersion param)
{
var item = GetFirst(m => m.id == param.id);
if (item != null)
{
string zipUrl = App.OptionsSetting.OssConfigs.Host + item.staticFile;
string toPath = "AppProjectVersion/" + item.id;
string zipPath = Function.getPath(toPath + ".zip");
Function.DownloadNetFile(zipUrl, zipPath);
FileHelper.ExtractZip(toPath + ".zip", toPath);
return toPath;
}
return "";
}
}
}