| using Microsoft.AspNetCore.Authorization; | 
| using Microsoft.AspNetCore.Http; | 
| using Microsoft.AspNetCore.Mvc; | 
| using WIDESEA_Core; | 
| using WIDESEA_Core.BaseController; | 
| using WIDESEA_Core.Helper; | 
| using WIDESEA_DTO.Inbound; | 
| using WIDESEA_IInboundService; | 
| using WIDESEA_IOutboundService; | 
| using WIDESEA_ITaskInfoService; | 
| using System.IO; | 
| using WIDESEA_Model.Models; | 
| using System; | 
|   | 
| namespace WIDESEA_WMSServer.Controllers | 
| { | 
|     /// <summary> | 
|     /// PDA | 
|     /// </summary> | 
|     [Route("api/PDA")] | 
|     [Authorize, ApiController] | 
|     public class PDAController : Controller | 
|     { | 
|         private readonly IInboundService _inboundService; | 
|         private readonly IOutboundService _outboundService; | 
|         private readonly ITaskService _taskService; | 
|   | 
|         public PDAController(ITaskService taskService, IInboundService inboundService, IOutboundService outboundService) | 
|         { | 
|             _inboundService = inboundService; | 
|             _outboundService = outboundService; | 
|             _taskService = taskService; | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 下载PDA | 
|         /// </summary> | 
|         /// <returns></returns> | 
|         [HttpPost, HttpGet, Route("DownLoadApp"), AllowAnonymous] | 
|         public virtual ActionResult DownLoadApp() | 
|         { | 
|             string path = $"{AppDomain.CurrentDomain.BaseDirectory}Upload/App/"; | 
|             if (!Directory.Exists(path)) Directory.CreateDirectory(path); | 
|             path += "WMS-PDA.apk"; | 
|   | 
|             if (System.IO.File.Exists(path)) | 
|             { | 
|                 byte[] fileBytes = System.IO.File.ReadAllBytes(path); | 
|                 return File( | 
|                         fileBytes, | 
|                         System.Net.Mime.MediaTypeNames.Application.Octet, | 
|                         System.IO.Path.GetFileName(path) | 
|                     ); | 
|             } | 
|             else | 
|             { | 
|                 return Json(WebResponseContent.Instance.Error($"未找到安装包")); | 
|             } | 
|   | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 上传PDA | 
|         /// </summary> | 
|         /// <param name="fileInput"></param> | 
|         /// <returns></returns> | 
|         [HttpPost, HttpGet, Route("UploadApp"), AllowAnonymous] | 
|         [Consumes("multipart/form-data")] | 
|         public WebResponseContent UploadApp(IEnumerable<IFormFile> fileInput) | 
|         { | 
|             try | 
|             { | 
|                 List<IFormFile> files = fileInput.ToList(); | 
|                 if (files == null || files.Count() == 0) | 
|                     return new WebResponseContent { Status = true, Message = "请选择上传的文件" }; | 
|                 IFormFile formFile = files[0]; | 
|                 string dicPath = $"{AppDomain.CurrentDomain.BaseDirectory}Upload/App/"; | 
|                 if (!Directory.Exists(dicPath)) Directory.CreateDirectory(dicPath); | 
|                 string path = $"{dicPath}WMS-PDA{DateTime.Now:yyyyMMddhhmmss}.apk"; | 
|                 dicPath = $"{dicPath}WMS-PDA.apk"; | 
|                 if (System.IO.File.Exists(dicPath)) | 
|                     System.IO.File.Move(dicPath, path); | 
|   | 
|                 using (var stream = new FileStream(dicPath, FileMode.Create)) | 
|                 { | 
|                     formFile.CopyTo(stream); | 
|                 } | 
|                 return new WebResponseContent { Status = true, Message = "文件上传成功" }; | 
|             } | 
|             catch (Exception ex) | 
|             { | 
|                 return WebResponseContent.Instance.Error(ex.Message); | 
|             } | 
|         } | 
|   | 
|         [HttpPost, HttpGet, Route("GetPDAVersion"), AllowAnonymous] | 
|         public WebResponseContent GetPDAVersion(string version) | 
|         { | 
|             try | 
|             { | 
|                 string versionP = AppSettings.Get("PDAVersion"); | 
|                 if (Convert.ToInt32(versionP) > Convert.ToInt32(version)) | 
|                     return WebResponseContent.Instance.OK(data: true); | 
|                 else return WebResponseContent.Instance.OK(data: false); | 
|             } | 
|             catch (Exception ex) | 
|             { | 
|                 return WebResponseContent.Instance.Error(ex.Message); | 
|             } | 
|   | 
|         } | 
|     } | 
| } |