Procházet zdrojové kódy

api文档id增加分组id

lichunlei před 3 měsíci
rodič
revize
5ba8cf8a10

+ 2 - 2
Controllers/Admin/ApiGroupController.cs

@@ -111,10 +111,10 @@ namespace Controllers.Admin
         /// <returns>生成api文档</returns>
         [HttpPost]
         [Route("/v1/omega_source/ApiGroup/makeApiDoc")]
-        public IActionResult makeApiDoc([FromBody] ApiGroup param)
+        public IActionResult makeApiDoc([FromBody] MakeApiDocDto param)
         {
             TokenModel loginUser = JwtUtil.GetLoginUser(HttpContext);
-            var response = _ApiGroupService.makeApiDoc(param.serviceId, loginUser);
+            var response = _ApiGroupService.makeApiDoc(param, loginUser);
             return SUCCESS(response);
         }
 

+ 24 - 0
Model/Dto/Admin/MakeApiDocDto.cs

@@ -0,0 +1,24 @@
+using System;
+using System.ComponentModel.DataAnnotations;
+using Model.Base;
+
+namespace Dto.Admin
+{
+    /// <summary>
+    /// 添加
+    /// </summary>
+    public class MakeApiDocDto
+    {
+        /// <summary>
+        /// 服务ID
+        /// </summary>
+        public int serviceId { get; set; }
+
+
+        /// <summary>
+        /// 分组ID
+        /// </summary>
+        public int groupId { get; set; }
+
+    }
+}

+ 13 - 6
Services/ApiGroupService.cs

@@ -9,6 +9,7 @@ using Common;
 using Custom;
 using Tasks;
 using Infrastructure;
+using Dto.Admin;
 
 
 namespace Services
@@ -51,27 +52,33 @@ namespace Services
         /// 生成api文档
         /// </summary>
         /// <param name="serviceId">服务id</param>
-        public MakeApiDocVo makeApiDoc(int serviceId, TokenModel loginUser)
+        public MakeApiDocVo makeApiDoc(MakeApiDocDto param, TokenModel loginUser)
         {
-            var service = Feign.IProject.getProjectService(serviceId);
-            var apiGroups = GetList(m => m.serviceId == serviceId);
-            var apiInfos = _ApiInfoService.GetList(m => m.serviceId == serviceId);
+            var service = Feign.IProject.getProjectService(param.serviceId);
+            var apiGroups = GetList(m => m.serviceId == param.serviceId);
+            var apiInfos = _ApiInfoService.GetList(m => m.serviceId == param.serviceId);
+            if(param.groupId > 0)
+            {
+                apiGroups = apiGroups.Where(m => m.id == param.groupId).ToList();
+                apiInfos = apiInfos.Where(m => m.groupId == param.groupId).ToList();
+            }
             foreach(var apiInfo in apiInfos)
             {
                 apiInfo.groupTitle = apiGroups.FirstOrDefault(m => m.id == apiInfo.groupId).groupTitle;
                 apiInfo.groupName = apiGroups.FirstOrDefault(m => m.id == apiInfo.groupId).groupName;
             }
 
+            string id = service.id.ToString() + param.groupId.ToString();
             Dictionary<string, object> pushData = new Dictionary<string, object>();
             pushData.Add("serviceName", service.serviceName);
             pushData.Add("serviceTitle", service.serviceTitle);
             pushData.Add("apiGroup", apiGroups);
             pushData.Add("apiInfo", apiInfos);
-            MakeHelper.Push(pushData, "apifoxDoc", "apidoc", loginUser, service.id.ToString());
+            MakeHelper.Push(pushData, "apifoxDoc", "apidoc", loginUser, id);
             var options = App.OptionsSetting;
             return new MakeApiDocVo()
             {
-                docUrl = options.BaseConfigs.gatewayHost + "/v1/omega_make/StaticFile/apiDocQuery?id=" + service.id + "&fileType=apidoc"
+                docUrl = options.BaseConfigs.gatewayHost + "/v1/omega_make/StaticFile/apiDocQuery?id=" + id + "&fileType=apidoc"
             };
         }
 

+ 2 - 1
Services/IService/IApiGroupService.cs

@@ -2,6 +2,7 @@ using Model;
 using Model.Base;
 using Microsoft.AspNetCore.Mvc;
 using Vo.Admin;
+using Dto.Admin;
 
 
 namespace Services
@@ -21,7 +22,7 @@ namespace Services
         /// 生成api文档
         /// </summary>
         /// <param name="serviceId">服务id</param>
-        MakeApiDocVo makeApiDoc(int serviceId, TokenModel loginUser);
+        MakeApiDocVo makeApiDoc(MakeApiDocDto param, TokenModel loginUser);
 
 
         /// <summary>