From c5cae80b64b4c56601835f4d40e204a462563094 Mon Sep 17 00:00:00 2001
From: liaoxujun@qq.com <liaoxujun@qq.com>
Date: 星期二, 29 八月 2023 16:56:38 +0800
Subject: [PATCH] 修正登录逻辑 取消租户登录选项,修正消息租户会自动创建一个员工账号,一企业账号

---
 DocumentFile.Service/IUploadService.cs |   85 +++++++++++++++++++++++++++++-------------
 1 files changed, 59 insertions(+), 26 deletions(-)

diff --git a/DocumentFile.Service/IUploadService.cs b/DocumentFile.Service/IUploadService.cs
index 9d91a2c..833ad2a 100644
--- a/DocumentFile.Service/IUploadService.cs
+++ b/DocumentFile.Service/IUploadService.cs
@@ -4,11 +4,11 @@
 {
     public interface IUploadService
     {
-        Task<ReturnMsg> HandleUploadWordFile(IFormFile iFormFile);
+        Task<ReturnMsg> HandleUploadWordFile(IFormFile iFormFile,string code,string name);
 
-        Task<ReturnMsg> HandleUploadTemplateFile(IFormFile iFormFile);
+        //Task<ReturnMsg> HandleUploadTemplateFile(IFormFile iFormFile, string code);
 
-        Task<ReturnMsg> HandleUploadImageFile(IFormFile iFormFile);
+        Task<ReturnMsg> HandleUploadImageFile(IFormFile iFormFile, string code);
 
         //(string fileType, byte[] archiveData, string archiveName) DownloadFiles(string subDirectory);
 
@@ -27,10 +27,11 @@
         /// 涓婁紶鏂囦欢 杈呭姪鍑芥暟
         /// </summary>
         /// <param name="formFile"></param>
-        /// <param name="folder"></param>
+        /// <param name="tenant">鏂囦欢澶瑰鎴锋爣璇�</param>
+        /// <param name="folder">鏂囦欢澶瑰垎绫绘爣绛�</param>
         /// <param name="format"></param>
         /// <returns></returns>
-        protected async virtual Task<ReturnMsg> HandleUploadFile(IFormFile formFile, string folder, params string[] format)
+        protected async virtual Task<ReturnMsg> HandleUploadFile(IFormFile formFile,string tenant, string folder,string name, params string[] format)
         {
             ReturnMsg msg = new ReturnMsg();
 
@@ -44,19 +45,32 @@
                 }
                 else
                 {
-                    var path = $"/upload/{folder}/{DateTime.Now:yyyyMMdd}";
-                    var dir = this._webRootPath + path;
-                    if (!Directory.Exists(dir))
+                    string path;
+                    if (string.IsNullOrEmpty(name))
                     {
-                        Directory.CreateDirectory(dir);
+                        //鏈嶅姟鍣ㄥ懡鍚�
+                        path = $"/uploads/{tenant}/{folder}/{DateTime.Now:yyyyMMdd}";
+                        var dir = this._webRootPath + path;
+                        if (!Directory.Exists(dir))
+                        {
+                            Directory.CreateDirectory(dir);
+                        }
+                        var filename = CreateName(path, extensionName);
+                        path +="/" + filename;
                     }
-
-                    var filename = $"ZC_{DateTime.Now:HHmmssfff}" + extensionName;
-
-                    path += "/" + filename;
+                    else
+                    {
+                        //鏈湴涓婁紶鍛藉悕
+                        path = name;
+                        string baseDirectory = Path.GetDirectoryName(this._webRootPath + name);
+                        if (!Directory.Exists(baseDirectory))
+                        {
+                            Directory.CreateDirectory(baseDirectory);
+                        }
+                    }
                                         
                     // 鍒涘缓鏂版枃浠�
-                    using var fs = File.Create(this._webRootPath+ path);
+                    using var fs = File.Create(this._webRootPath + path);
                     await formFile.CopyToAsync(fs);
                     // 娓呯┖缂撳啿鍖烘暟鎹�
                     fs.Flush();
@@ -75,6 +89,25 @@
             return msg;
         }
 
+        /// <summary>
+        /// 鐢熸垚鍞竴鐨勬枃浠跺悕
+        /// </summary>
+        /// <param name="path"></param>
+        /// <param name="extensionName"></param>
+        /// <returns></returns>
+        private string CreateName(string path,string extensionName)
+        {
+            var filename = $"ZC_{DateTime.Now:HHmmssfff}" + extensionName;
+            if (File.Exists(path + "/" + filename))
+            {
+                return CreateName(path, extensionName);
+            }
+            else
+            {
+                return filename;
+            }
+        }
+
 
         /// <summary>
         /// 涓婁紶word鏂囦欢
@@ -82,17 +115,17 @@
         /// <param name="iFormFile"></param>
         /// <param name="format"></param>
         /// <returns></returns>
-        public async virtual Task<ReturnMsg> HandleUploadWordFile(IFormFile iFormFile)
-            => await this.HandleUploadFile(iFormFile, "Instance", ".doc",".docx");
+        public async virtual Task<ReturnMsg> HandleUploadWordFile(IFormFile iFormFile, string code,string name)
+            => await this.HandleUploadFile(iFormFile,code, "Word",name, ".doc",".docx");
 
-        /// <summary>
-        /// 涓婁紶word妯℃澘鏂囦欢
-        /// </summary>
-        /// <param name="iFormFile"></param>
-        /// <param name="format"></param>
-        /// <returns></returns>
-        public async virtual Task<ReturnMsg> HandleUploadTemplateFile(IFormFile iFormFile)
-            => await this.HandleUploadFile(iFormFile, "Template", ".doc", ".docx");
+        ///// <summary>
+        ///// 涓婁紶word妯℃澘鏂囦欢
+        ///// </summary>
+        ///// <param name="iFormFile"></param>
+        ///// <param name="format"></param>
+        ///// <returns></returns>
+        //public async virtual Task<ReturnMsg> HandleUploadTemplateFile(IFormFile iFormFile, string code)
+        //    => await this.HandleUploadFile(iFormFile, code, "Template", ".doc", ".docx");
 
         /// <summary>
         /// 涓婁紶鍥剧墖
@@ -100,8 +133,8 @@
         /// <param name="iFormFile"></param>
         /// <param name="folder"></param>
         /// <returns></returns>
-        public async virtual Task<ReturnMsg> HandleUploadImageFile(IFormFile iFormFile)
-            => await this.HandleUploadFile(iFormFile, "Photo", ".jpg", ".jpeg", ".png");
+        public async virtual Task<ReturnMsg> HandleUploadImageFile(IFormFile iFormFile, string code)
+            => await this.HandleUploadFile(iFormFile, code, "Photo","", ".jpg", ".jpeg", ".png");
         /*, ".gif", ".jfif"*/
 
         ///// <summary>

--
Gitblit v1.9.1