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