helongyang
19 小时以前 dc06f58d8ed537555fd529551180f43a0586ec3f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
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);
            }
 
        }
    }
}