李昊 4 years ago
parent
commit
57c6e131d5

+ 5 - 2
gx_api/GxPress/Api/GxPress.Api/AdminControllers/AdminMediaController.cs

@@ -5,6 +5,7 @@ using GxPress.Common.Page;
 using GxPress.Repository.Interface.Media;
 using GxPress.Request.Media;
 using GxPress.Result.Media;
+using GxPress.Service.Interface.Media;
 using Microsoft.AspNetCore.Authorization;
 using Microsoft.AspNetCore.Mvc;
 
@@ -19,10 +20,12 @@ namespace GxPress.Api.AdminControllers
     {
         private readonly IMediaRepository mediaRepository;
         private readonly ILoginContext _loginContext;
-        public AdminMediaController(IMediaRepository mediaRepository, ILoginContext _loginContext)
+        private readonly IMediaService mediaService;
+        public AdminMediaController(IMediaRepository mediaRepository, ILoginContext _loginContext, IMediaService mediaService)
         {
             this.mediaRepository = mediaRepository;
             this._loginContext = _loginContext;
+            this.mediaService = mediaService;
         }
         /// <summary>
         /// 详情
@@ -54,7 +57,7 @@ namespace GxPress.Api.AdminControllers
         {
             result.AdminId = _loginContext.AccountId;
             result.Creator = _loginContext.Name;
-            return await mediaRepository.InsertAsync(result);
+            return await mediaService.InsertAsync(result);
         }
         /// <summary>
         /// 修改

+ 6 - 0
gx_api/GxPress/Model/GxPress.Entity/tede2/Media/Media.cs

@@ -103,6 +103,12 @@ namespace GxPress.Entity.tede2.Media
         /// </summary>
         [DataColumn]
         public int CategoryId { get; set; }
+
+        /// <summary>
+        /// 分类名称
+        /// </summary>
+        [DataColumn]
+        public string CategoryName { get; set; }
         /// <summary>
         /// 标签ID
         /// </summary>

+ 6 - 1
gx_api/GxPress/Model/GxPress.Result/Media/MediaResult.cs

@@ -96,6 +96,11 @@ namespace GxPress.Result.Media
 
         public int CategoryId { get; set; }
         /// <summary>
+        /// 分类名称
+        /// </summary>
+        /// <value></value>
+        public string CategoryName { get; set; }
+        /// <summary>
         /// 标签ID
         /// </summary>
 
@@ -183,7 +188,7 @@ namespace GxPress.Result.Media
         /// </summary>
         public int Sort { get; set; }
 
-        
+
     }
     /// <summary>
     /// 媒体标签

+ 28 - 0
gx_api/GxPress/Service/GxPress.Service.Implement/Media/MediaService.cs

@@ -0,0 +1,28 @@
+using GxPress.Service.Interface.Media;
+using GxPress.Repository.Interface.Category;
+using GxPress.Repository.Interface.Media;
+using System.Threading.Tasks;
+using GxPress.Result.Media;
+
+namespace GxPress.Service.Implement.Media
+{
+    public class MediaService : IMediaService
+    {
+        private readonly ICategoryRepository categoryRepository;
+        private readonly IMediaRepository mediaRepository;
+        public MediaService(ICategoryRepository categoryRepository, IMediaRepository mediaRepository)
+        {
+            this.categoryRepository = categoryRepository;
+            this.mediaRepository = mediaRepository;
+        }
+        public async Task<bool> InsertAsync(MediaResult result)
+        {
+
+            if (result.CategoryId > 0)
+            {
+                result.CategoryName = await categoryRepository.GetCategoryParentAsync(result.CategoryId, result.CategoryName);
+            }
+            return await mediaRepository.InsertAsync(result);
+        }
+    }
+}

+ 10 - 0
gx_api/GxPress/Service/GxPress.Service.Interface/Media/IMediaService.cs

@@ -0,0 +1,10 @@
+using System.Threading.Tasks;
+using GxPress.Result.Media;
+
+namespace GxPress.Service.Interface.Media
+{
+    public interface IMediaService:IService
+    {
+         Task<bool> InsertAsync(MediaResult result);
+    }
+}