Ver Fonte

同步api数据到系统调整

lichunlei há 3 meses atrás
pai
commit
f6c57e4257

+ 1 - 1
Controllers/Admin/ApiGroupController.cs

@@ -128,7 +128,7 @@ namespace Controllers.Admin
         [Route("/v1/omega_source/ApiGroup/sycnApiToSystem")]
         public IActionResult sycnApiToSystem([FromBody] SycnApiToSystemDto param)
         {
-            var response = _ApiGroupService.sycnApiToSystem(param.projectId, param.serviceId, param.env);
+            var response = _ApiGroupService.sycnApiToSystem(param);
             if(response == "同步成功")
             {
                 return SUCCESS(response);

+ 2 - 2
Model/Custom/Project.cs

@@ -134,12 +134,12 @@ namespace Custom
         /// <summary>
         /// 加密方式
         /// </summary>
-        public int encryptKind { get; set; }
+        public string? encryptKind { get; set; }
 
         /// <summary>
         /// 加密参数
         /// </summary>
-        public string? encryptParams { get; set; }
+        public string? encryptParam { get; set; }
 
 
 

+ 5 - 0
Model/Dto/Admin/SycnApiToSystemDto.cs

@@ -18,6 +18,11 @@ namespace Dto.Admin
         /// 服务Id
         /// </summary>
         public int serviceId { get; set; }
+
+        /// <summary>
+        /// 分组Id
+        /// </summary>
+        public int groupId { get; set; }
         
         /// <summary>
         /// 环境

+ 16 - 8
Services/ApiGroupService.cs

@@ -90,15 +90,15 @@ namespace Services
         /// 同步api到管理平台
         /// </summary>
         /// <param name="serviceId">服务id</param>
-        public string sycnApiToSystem(int projectId, int serviceId, string env)
+        public string sycnApiToSystem(SycnApiToSystemDto param)
         {
             var apiGroupService = App.GetService<IApiGroupService>();
             var apiInfoService = App.GetService<IApiInfoService>();
             var tableService = App.GetService<IDatabaseTableService>();
-            var project = IProject.getProject(projectId);
+            var project = IProject.getProject(param.projectId);
             string ApiListHost = "";
             string Hosts = "";
-            if(env == "test")
+            if(param.env == "test")
             {
                 ApiListHost = project.apiListNoticeHostDev ?? "";
                 Hosts = project.gatewayHostDev ?? "";
@@ -108,12 +108,12 @@ namespace Services
                 ApiListHost = project.apiListNoticeHost ?? "";
                 Hosts = project.gatewayHost ?? "";
             }
-            var projectService = IProject.getProjectService(serviceId);
+            var projectService = IProject.getProjectService(param.serviceId);
             List<string> checkStrs = new List<string>();
             List<Dictionary<string, object>> dic = new List<Dictionary<string, object>>();
             string now = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
             int Id = 0;
-            var projectServiceList = IProject.getProjectServiceList(projectId);
+            var projectServiceList = IProject.getProjectServiceList(param.projectId);
             foreach(var proService in projectServiceList)
             {
                 Id += 1;
@@ -130,6 +130,14 @@ namespace Services
                 }
                 List<Dictionary<string, object>> child = new List<Dictionary<string, object>>();
                 var apiInfos = apiInfoService.GetList(m => m.serviceId == serId);
+                if(param.serviceId > 0)
+                {
+                    apiInfos = apiInfos.Where(m => m.serviceId == param.serviceId).ToList();
+                }
+                if(param.groupId > 0)
+                {
+                    apiInfos = apiInfos.Where(m => m.groupId == param.groupId).ToList();
+                }
                 foreach(var apiInfo in apiInfos)
                 {
                     var linkTable = tableService.GetFirst(m => m.id == apiInfo.linkTableId) ?? new DatabaseTable();
@@ -176,7 +184,7 @@ namespace Services
                 }
                 Dictionary<string, object> item = new Dictionary<string, object>();
                 item.Add("id", Id);
-                item.Add("group_project", projectId);
+                item.Add("group_project", param.projectId);
                 item.Add("group_kind", 1);
                 item.Add("group_remark", proService.serviceTitle ?? "");
                 item.Add("group_name", PublicFunction.transferName(proService.serviceName ?? "", 2));
@@ -186,9 +194,9 @@ namespace Services
 
             string req = Newtonsoft.Json.JsonConvert.SerializeObject(dic);
             string result = "";
-            if(project.encryptKind == 1)
+            if(project.encryptKind == "AES")
             {
-                JsonData encryptParam = JsonMapper.ToObject(project.encryptParams ?? "{}");
+                JsonData encryptParam = JsonMapper.ToObject(project.encryptParam ?? "{}");
                 string reqData = CryptHelper.AesEncrypt(req, encryptParam["encrypt_key"].ToString(), encryptParam["encrypt_iv"].ToString(), encryptParam["encrypt_model"].ToString(), encryptParam["encrypt_padding"].ToString());
                 result = Function.PostWebRequest(ApiListHost, reqData, "application/json");
                 JsonData jsonObj = JsonMapper.ToObject(result);

+ 1 - 1
Services/IService/IApiGroupService.cs

@@ -29,6 +29,6 @@ namespace Services
         /// 同步api到管理平台
         /// </summary>
         /// <param name="serviceId">服务id</param>
-        string sycnApiToSystem(int projectId, int serviceId, string env);
+        string sycnApiToSystem(SycnApiToSystemDto param);
     }
 }