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; } } }