CrazyIter 4 năm trước cách đây
mục cha
commit
8a54ec8fe8

+ 0 - 77
TEAMModelGrpc/Services/BlobSASService.cs

@@ -1,77 +0,0 @@
-using Google.Protobuf.WellKnownTypes;
-using Grpc.Core;
-using Grpc.Extension.Abstract;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
-using TEAMModelGrpc.Models;
-using TEAMModelOS;
-using TEAMModelOS.SDK.Context.Exception;
-using TEAMModelOS.SDK.Module.AzureBlob.Interfaces;
-
-namespace TEAMModelGrpc.Services
-{
-    public class BlobSASService : IGrpcService
-    {
-
-        private readonly IAzureBlobDBRepository _azureBlobDBRepository;
-
-        public BlobSASService(IAzureBlobDBRepository azureBlobDBRepository)
-        {
-            _azureBlobDBRepository = azureBlobDBRepository;
-        }
-
-        /// <summary>
-        /// 获取bolb共享访问权限
-        /// </summary>
-        /// <param name="empty"></param>
-        /// <param name="context"></param>
-        /// <returns></returns>
-        public async Task<BlobSASDto> GetContainerSasUri(Empty empty, ServerCallContext context) {
-            (string,string, string) aaa = await _azureBlobDBRepository.GetContainerSasUri();
-            BlobSASDto blobSASDto = new BlobSASDto();
-            blobSASDto.Url = aaa.Item1;
-            blobSASDto.Container = aaa.Item2;
-            blobSASDto.SAS = aaa.Item3;
-            return blobSASDto;
-        }
-
-        /// <summary>
-        /// 获取blob共享访问权限 (只读)
-        /// </summary>
-        /// <param name="blob"></param>
-        /// <param name="context"></param>
-        /// <returns></returns>
-        public async Task<BlobSASDto> GetContainerSASRead(BlobSASDto blob, ServerCallContext context)
-        {
-            (string, string) a = BlobUrlString(blob.Url);
-            string ContainerName = a.Item1;
-            string BlobName = a.Item2;
-            bool flg = IsBlobName(BlobName);
-            if (flg)
-            {
-                var SAS = await _azureBlobDBRepository.GetBlobSasUriRead(ContainerName, BlobName);
-                return new BlobSASDto { Url = SAS.url+SAS.sas };
-            }
-            else throw new BizException("文件名错误", ResponseCode.PARAMS_ERROR);
-        }
-
-        private static (string, string) BlobUrlString(string sasUrl)
-        {
-            sasUrl = sasUrl.Substring(8);
-            string[] sasUrls = sasUrl.Split("/");
-            string ContainerName;
-            ContainerName = sasUrls[1].Clone().ToString();
-            string item = sasUrls[0] + "/" + sasUrls[1] + "/";
-            string blob = sasUrl.Replace(item, "");
-            return (ContainerName, blob);
-        }
-
-        public static bool IsBlobName(string BlobName)
-        {
-            return System.Text.RegularExpressions.Regex.IsMatch(BlobName,
-             @"(?!((^(con)$)|^(con)\\..*|(^(prn)$)|^(prn)\\..*|(^(aux)$)|^(aux)\\..*|(^(nul)$)|^(nul)\\..*|(^(com)[1-9]$)|^(com)[1-9]\\..*|(^(lpt)[1-9]$)|^(lpt)[1-9]\\..*)|^\\s+|.*\\s$)(^[^\\\\\\:\\<\\>\\*\\?\\\\\\""\\\\|]{1,255}$)");
-        }
-    }
-}

+ 0 - 16
TEAMModelGrpc/TEAMModelOS.GRPC.xml

@@ -206,22 +206,6 @@
             数据状态
             </summary>
         </member>
-        <member name="M:TEAMModelGrpc.Services.BlobSASService.GetContainerSasUri(Google.Protobuf.WellKnownTypes.Empty,Grpc.Core.ServerCallContext)">
-            <summary>
-            获取bolb共享访问权限
-            </summary>
-            <param name="empty"></param>
-            <param name="context"></param>
-            <returns></returns>
-        </member>
-        <member name="M:TEAMModelGrpc.Services.BlobSASService.GetContainerSASRead(TEAMModelGrpc.Models.BlobSASDto,Grpc.Core.ServerCallContext)">
-            <summary>
-            获取blob共享访问权限 (只读)
-            </summary>
-            <param name="blob"></param>
-            <param name="context"></param>
-            <returns></returns>
-        </member>
         <member name="M:TEAMModelGrpc.Services.ClassroomService.SaveOrUpdateVolume(Grpc.Core.IAsyncStreamReader{TEAMModelOS.Service.Models.Classroom},Grpc.Core.IServerStreamWriter{TEAMModelOS.Service.Models.Classroom},Grpc.Core.ServerCallContext)">
             <summary>
             保存教室

+ 5 - 5
TEAMModelOS.SDK/Context/Filters/HttpGlobalExceptionInvoke.cs

@@ -1,4 +1,4 @@
-
+
 using Microsoft.AspNetCore.Http;
 using System;
 using System.Threading.Tasks;
@@ -42,18 +42,18 @@ namespace TEAMModelOS.SDK.Context.Filter
                     bizCode = ((BizException)ex).code;
                     if (bizCode == 401 || bizCode == 404 || bizCode == 502 || bizCode == 403)
                     {
-                        context.Response.StatusCode = bizCode;
+                        //context.Response.StatusCode = bizCode;
                     }
                     else
                     {
-                        context.Response.StatusCode = 200;
+                      //  context.Response.StatusCode = 200;
                     }
                     // context.Response.StatusCode = ((BizException)ex).code;
                 }
                 //未知异常
                 else
                 {
-                    context.Response.StatusCode = 500;
+                    //context.Response.StatusCode = 500;
                     //LogHelper.SetLog(LogLevel.Error, ex);
                 }
                 await HandleExceptionAsync(context, bizCode, ex.Message, ex.StackTrace);
@@ -105,7 +105,7 @@ namespace TEAMModelOS.SDK.Context.Filter
         {
             if (context.Response.StatusCode == 500)
             {
-                context.Response.StatusCode = 200;
+               // context.Response.StatusCode = 200;
             }
             var data = new ErrorResponse<string>(bizCode, msg, devmsg);
             context.Response.ContentType = Constants.CONTENT_TYPE_JSON;

+ 2 - 2
TEAMModelOS/Controllers/Analysis/ChangeController.cs

@@ -25,8 +25,8 @@ namespace TEAMModelOS.Controllers.Analysis
 
         private readonly IWebHostEnvironment _hostingEnvironment;
         public AzureCosmosFactory _cosmosrepository;
-        public IAzureBlobDBRepository azureBlobDB;
-        public ChangeController(IWebHostEnvironment hostingEnvironment, AzureCosmosFactory cosmosDBRepository, IAzureBlobDBRepository _azureBlobDB)
+        public AzureStorageFactory azureBlobDB;
+        public ChangeController(IWebHostEnvironment hostingEnvironment, AzureCosmosFactory cosmosDBRepository, AzureStorageFactory _azureBlobDB)
         {
             _hostingEnvironment = hostingEnvironment;
             _cosmosrepository = cosmosDBRepository;

+ 4 - 169
TEAMModelOS/Controllers/Core/FileController.cs

@@ -24,12 +24,12 @@ namespace TEAMModelOS.Controllers
     public class FileController:BaseController
     {
         private readonly AzureStorageFactory azureTableDBRepository;
-        private readonly IAzureBlobDBRepository _azureBlobDBRepository;
-        public FileController(AzureStorageFactory _azureTableDBRepository, IAzureBlobDBRepository azureBlobDBRepository 
+       // private readonly IAzureBlobDBRepository _azureBlobDBRepository;
+        public FileController(AzureStorageFactory _azureTableDBRepository 
         )
         {
             azureTableDBRepository = _azureTableDBRepository;
-            _azureBlobDBRepository = azureBlobDBRepository;
+           // _azureBlobDBRepository = azureBlobDBRepository;
         }
 
 
@@ -133,172 +133,7 @@ namespace TEAMModelOS.Controllers
             }
         }
 
-
-        /// <summary>
-        /// 获取某个文件夹下所以文件列表
-        /// </summary>
-        /// <param name="azureBlobSASDto"></param>
-        /// <returns></returns>
-        [HttpPost("GetBlobDirectory")]
-        public async Task<BaseResponse> GetBlobDirectory(JosnRequest<string> azureBlobSASDto)
-        {
-            ResponseBuilder responseBuilder = new ResponseBuilder();
-            string azureBlobSAS = azureBlobSASDto.@params;
-            (string, string) a = BlobUrlString(azureBlobSAS);
-            string ContainerName = a.Item1;
-            string BlobName = a.Item2;
-            bool flg = IsBlobName(BlobName);
-            List<BlobFileDto> blobProperties = new List<BlobFileDto>();
-            if (flg)
-            {
-                string[] blobstring = BlobName.Split("/");
-                //string SAS = _azureBlobDBRepository.GetBlobSasUriRead(ContainerName, BlobName);
-                blobProperties =await _azureBlobDBRepository.GetBlobDirectory(ContainerName, blobstring[0]);
-
-            }
-            return responseBuilder.Data(blobProperties).build();
-        }
-
-
-
-        /// <summary>
-        /// 获取 blob文件 共享访问签名 (写,新增)
-        /// </summary>
-        /// <param name="azureBlobSASDto"></param>
-        /// <returns></returns>
-        [HttpPost("getBlobSAS")]
-        public async Task<BaseResponse> GetBlobSAS(JosnRequest<string> azureBlobSASDto)
-        {
-            ResponseBuilder responseBuilder = new ResponseBuilder();
-            string BlobName = azureBlobSASDto.@params;
-            bool flg = IsBlobName(BlobName);
-            if (flg)
-            {
-                string SAS =await _azureBlobDBRepository.GetBlobSasUri(BlobName);
-                return responseBuilder.Data(SAS).build();
-            }
-            else {
-                return responseBuilder.Error(ResponseCode.PARAMS_ERROR, "文件名错误").build();
-            };
-        }
-
-        /// <summary>
-        /// 获取 blob文件 共享访问签名 (读)
-        /// </summary>
-        /// <param name="azureBlobSASDto"></param>
-        /// <returns></returns>
-        [HttpPost("getBlobSASRead")]
-        public async Task<BaseResponse> GetBlobSASRead(JosnRequest<string> azureBlobSASDto)
-        {
-            ResponseBuilder responseBuilder = new ResponseBuilder();
-            string azureBlobSAS = azureBlobSASDto.@params;
-            (string, string) a = BlobUrlString(azureBlobSAS);
-            string ContainerName = a.Item1;
-            string BlobName = a.Item2;
-            bool flg = IsBlobName(BlobName);
-            if (flg)
-            {
-                var SAS =await _azureBlobDBRepository.GetBlobSasUriRead(ContainerName, BlobName);
-                return responseBuilder.Data(SAS).build();
-            }
-            else {
-                return responseBuilder.Error(ResponseCode.PARAMS_ERROR, "文件名错误").build();
-            };
-        }
-
-
-        /// <summary>
-        /// 获取 容器 共享访问签名 (写,新增)
-        /// </summary>
-        /// <param name="azureBlobSASDto"></param>
-        /// <returns></returns>
-        [HttpPost("getContainerSAS")]
-        public async Task<BaseResponse> GetContainerSAS(JosnRequest<string> azureBlobSASDto)
-        {
-            ResponseBuilder responseBuilder = new ResponseBuilder();
-            (string, string, string) aaa =await _azureBlobDBRepository.GetContainerSasUri();
-            string Url = aaa.Item1;
-            string Container = aaa.Item2;
-            string SAS = aaa.Item3;
-            return responseBuilder.Data(new Dictionary<string,object> { 
-                { "Url",Url },
-                {"Container",Container },
-                { "SAS",SAS},
-            }).build();
-        }
-
-        /// <summary>
-        /// 获取 容器 共享访问签名 (读)
-        /// </summary>
-        /// <param name="azureBlobSASDto"></param>
-        /// <returns></returns>
-        [HttpPost("getContainerSASRead")]
-        public async Task<BaseResponse> GetContainerSASRead(JosnRequest<string> azureBlobSASDto)
-        {
-            ResponseBuilder responseBuilder = new ResponseBuilder();
-            string azureBlobSAS = azureBlobSASDto.@params;
-            string ContainerName = ContainerUrlString(azureBlobSAS);
-            (string, string) aaa =await _azureBlobDBRepository.GetContainerSasUriRead(ContainerName);
-
-            string Url = aaa.Item1;
-            string SAS = aaa.Item2;
-
-            return responseBuilder.Data(new Dictionary<string, object> {
-                { "Url",Url },
-                { "SAS",SAS}
-            }).build();
-        }
-
-
-        /// <summary>
-        /// 创建共享访问策略 (删除权限)
-        /// </summary>
-        /// <param name="azureBlobSASDto"></param>
-        /// <returns></returns>
-        [HttpPost("CreateSharedAccessPolicy")]
-        public async Task<BaseResponse> CreateSharedAccessPolicyAsync(JosnRequest<AzureBlobSASDto> azureBlobSASDto)
-        {
-            ResponseBuilder responseBuilder = new ResponseBuilder();
-            AzureBlobSASDto azureBlobSAS = azureBlobSASDto.@params;
-            bool flg = await _azureBlobDBRepository.CreateSharedAccessPolicyAsync( azureBlobSAS.PolicyName);
-            return responseBuilder.Data(flg).build();
-        }
-
-        /// <summary>
-        /// 删除共享访问策略
-        /// </summary>
-        /// <param name="request"></param>
-        /// <returns></returns>
-        [HttpPost("DeleteSharedAccessPolicyAsync")]
-        public async Task<BaseResponse> DeleteSharedAccessPolicyAsync(JosnRequest<AzureBlobSASDto> azureBlobSASDto)
-        {
-            ResponseBuilder responseBuilder = new ResponseBuilder();
-            AzureBlobSASDto azureBlobSAS = azureBlobSASDto.@params;
-             await _azureBlobDBRepository.DeleteSharedAccessPolicyAsync( azureBlobSAS.PolicyName);
-            return responseBuilder.build();
-
-        }
-
-
-
-        /// <summary>
-        /// 删除blob
-        /// </summary>
-        /// <param name="azureBlobSASDto"></param>
-        /// <returns></returns>
-        [HttpPost("DeleteBlob")]
-        public async Task<BaseResponse> DeleteBlobAsync(JosnRequest<string> bloburl)
-        {
-            ResponseBuilder responseBuilder = new ResponseBuilder();
-            string URL = bloburl.@params;
-            if (!string.IsNullOrEmpty(URL))
-            {
-                await _azureBlobDBRepository.Deleteblob(URL);
-            }
-            return responseBuilder.build();
-
-        }
-
+            
         private static (string, string) BlobUrlString( string sasUrl) {
             sasUrl= sasUrl.Substring(8);
             string[] sasUrls = sasUrl.Split("/");

+ 4 - 6
TEAMModelOS/Controllers/Syllabus/ResourceController.cs

@@ -19,13 +19,11 @@ namespace TEAMModelOS.Controllers
     {
         private AzureStorageFactory _table;
         private AzureCosmosFactory _cosmos;
-        private readonly IAzureBlobDBRepository _azureBlobDBRepository;
-
-        public ResourceController(AzureStorageFactory table, AzureCosmosFactory cosmos, IAzureBlobDBRepository azureBlobDBRepository)
+        
+        public ResourceController(AzureStorageFactory table, AzureCosmosFactory cosmos)
         {
             _table = table;
             _cosmos = cosmos;
-            _azureBlobDBRepository = azureBlobDBRepository;
         }
 
         /// <summary>
@@ -120,12 +118,12 @@ namespace TEAMModelOS.Controllers
                 string blobUrl = syllabusResource.blobUrl;
                 if (!string.IsNullOrEmpty(blobUrl))
                 {
-                    await _azureBlobDBRepository.Deleteblob(blobUrl);
+                  //  await _azureBlobDBRepository.Deleteblob(blobUrl);
                 }
                 string compressUrl = syllabusResource.compressUrl;
                 if (!string.IsNullOrEmpty(compressUrl))
                 {
-                    await _azureBlobDBRepository.Deleteblob(compressUrl);
+                   // await _azureBlobDBRepository.Deleteblob(compressUrl);
                 }
             }
 

+ 1 - 1
TEAMModelOS/Startup.cs

@@ -111,7 +111,7 @@ namespace TEAMModelOS
             {
                 app.UseDeveloperExceptionPage();
             }
-            //app.UseMiddleware<HttpGlobalExceptionInvoke>();
+            app.UseMiddleware<HttpGlobalExceptionInvoke>();
             //以下需要按照順序載入中間件  如果应用调用 UseStaticFiles,请将 UseStaticFiles 置于 UseRouting之前。
             app.UseStaticFiles();
             //app.UseSpaStaticFiles(); //使用中間件不開