using Gatedge.K3Cloud.Utils;
using Gatedge.K3Cloud.Utils.Common;
using Gatedge.K3Cloud.Utils.Model.K3Request;
using Gatedge.ScanCode.Common;
using Gatedge.ScanCode.Extension;
using Gatedge.ScanCode.Services;
using Gatedge.ScanCode.Services.IServices;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json.Linq;
namespace Gatedge.ScanCode.Controllers
{
///
/// 版本控制
///
[Route("api/[controller]")]
[Authorize]
[ApiController]
public class VsersionController : ControllerBase
{
private readonly string _FormName = "扫码APP版本";
private readonly string _FormId = "k25663a1521d147669932af94b9146d86";
private readonly K3CloudApiUtils _utils;
private readonly IK3FileService _k3FileService;
///
/// 构造方法
///
///
///
public VsersionController(K3CloudApiUtils utils, IK3FileService k3FileService)
{
_utils = utils;
_k3FileService = k3FileService;
}
///
/// 获取最后的版本
///
///
[HttpGet("LastVersion")]
public AjaxResult LastVersion()
{
Query queryParam = new Query()
{
FormId = this._FormId,
FieldKeys = "FID",
OrderString = "FID desc"
};
// 已审核
FilterList filterString = new FilterList().AddAuditedItems();
queryParam.FilterString = filterString.GetFilterString();
var loginInfo = User.GetLoginInfoByClaimsPrincipal();
// 需要获取具有BOS权限的用户
var k3Apiutil = _utils.GetDefaultK3CloudApiUtil(loginInfo);
IVsersionService service = new VsersionService(k3Apiutil);
var data = service.List(queryParam);
if (data.List.Count == 0)
{
return AjaxResult.Error("没有找到App版本信息,请联系管理员!");
}
var lastVersion = data.List.First();
var dyobj = lastVersion;
var id = dyobj["FID"];
View viewBill = new View();
viewBill.Id = id.ToString();
var billData = service.View(viewBill);
var file = billData.FAppFile_Files.First();
_k3FileService.SetK3Util(k3Apiutil);
var fileFullName = _k3FileService.GetFilePath(billData.FAppFile_Files.First());
var result = AjaxResult
.Success(billData)
.AddBillId(_FormId);
result.Add("downloadUrl", $"/Download/{file.FileName}");
return result;
}
}
}