Просмотр исходного кода

数据库的克隆功能完善

lichunlei 7 месяцев назад
Родитель
Сommit
7069af05b6

+ 2 - 6
Controllers/Admin/ApiGroupController.cs

@@ -113,9 +113,7 @@ namespace Controllers.Admin
         [Route("/v1/omega_source/ApiGroup/makeApiDoc")]
         public IActionResult makeApiDoc([FromBody] ApiGroup param)
         {
-            var modal = param.Adapt<ApiGroup>().ToCreate(HttpContext);
-            var response = _ApiGroupService.InsertReturnIdentity(modal);
-            return SUCCESS(response);
+            return SUCCESS("ok");
         }
 
 
@@ -128,9 +126,7 @@ namespace Controllers.Admin
         [Route("/v1/omega_source/ApiGroup/sycnApiToSystem")]
         public IActionResult sycnApiToSystem([FromBody] ApiGroup param)
         {
-            var modal = param.Adapt<ApiGroup>().ToCreate(HttpContext);
-            var response = _ApiGroupService.InsertReturnIdentity(modal);
-            return SUCCESS(response);
+            return SUCCESS("ok");
         }
 
 

+ 1 - 0
Controllers/Admin/ApiInfoController.cs

@@ -144,6 +144,7 @@ namespace Controllers.Admin
         [Route("/v1/omega_source/ApiInfo/initApiInfo")]
         public IActionResult initApiInfo([FromBody] InitApiInfoDto param)
         {
+            
             return SUCCESS("ok");
         }
 

+ 2 - 3
Controllers/Admin/DatabaseFieldController.cs

@@ -140,9 +140,8 @@ namespace Controllers.Admin
         [Route("/v1/omega_source/DatabaseField/copyDatabaseField")]
         public IActionResult copyDatabaseField([FromBody] CopyDatabaseFieldDto param)
         {
-            var modal = param.Adapt<DatabaseField>().ToCreate(HttpContext);
-            var response = _DatabaseFieldService.InsertReturnIdentity(modal);
-            return SUCCESS(response);
+            _DatabaseFieldService.copyDatabaseField(param);
+            return SUCCESS("ok");
         }
 
 

+ 1 - 2
Controllers/Admin/DatabaseInfoController.cs

@@ -22,7 +22,6 @@ namespace Controllers.Admin
         private readonly IDatabaseTableService _DatabaseTableService;
         private readonly IDatabaseFieldService _DatabaseFieldService;
 
-
         public DatabaseInfoController(IDatabaseInfoService DatabaseInfoService, IDatabaseTableService DatabaseTableService, IDatabaseFieldService DatabaseFieldService)
         {
             _DatabaseInfoService = DatabaseInfoService;
@@ -130,7 +129,7 @@ namespace Controllers.Admin
         [Route("/v1/omega_source/DatabaseInfo/copyDatabaseInfo")]
         public IActionResult copyDatabaseInfo([FromBody] CopyDatabaseInfoDto param)
         {
-            
+            _DatabaseInfoService.copyDatabaseInfo(param);
             return SUCCESS("ok");
         }
 

+ 2 - 3
Controllers/Admin/DatabaseTableController.cs

@@ -113,9 +113,8 @@ namespace Controllers.Admin
         [Route("/v1/omega_source/DatabaseTable/copyDatabaseTable")]
         public IActionResult copyDatabaseTable([FromBody] CopyDatabaseTableDto param)
         {
-            var modal = param.Adapt<DatabaseTable>().ToCreate(HttpContext);
-            var response = _DatabaseTableService.InsertReturnIdentity(modal);
-            return SUCCESS(response);
+            _DatabaseTableService.copyDatabaseTable(param);
+            return SUCCESS("ok");
         }
 
 

+ 1 - 1
Model/Dto/Admin/CopyDatabaseFieldDto.cs

@@ -12,7 +12,7 @@ namespace Dto.Admin
         /// <summary>
         /// 来源字段ID
         /// </summary>
-        public string? sourceFieldId { get; set; }
+        public int[] sourceFieldId { get; set; }
 
 
         /// <summary>

+ 1 - 1
Model/Dto/Admin/CopyDatabaseInfoDto.cs

@@ -16,7 +16,7 @@ namespace Dto.Admin
 
 
         /// <summary>
-        /// 目标项目ID
+        /// 目标服务ID
         /// </summary>
         public int targetServiceId { get; set; }
 

+ 1 - 1
Model/Dto/Admin/CopyDatabaseTableDto.cs

@@ -12,7 +12,7 @@ namespace Dto.Admin
         /// <summary>
         /// 来源表ID
         /// </summary>
-        public string? sourceTableId { get; set; }
+        public int[] sourceTableId { get; set; }
 
 
         /// <summary>

+ 14 - 2
Services/ApiInfoService.cs

@@ -5,6 +5,7 @@ using Repository;
 using Service;
 using Microsoft.AspNetCore.Mvc;
 using Vo.Admin;
+using Dto.Admin;
 
 
 namespace Services
@@ -37,7 +38,12 @@ namespace Services
             return response;
         }
 
-
+        /// <summary>
+        /// 接口信息-字段关联接口列表
+        /// </summary>
+        /// <param name="param">参数请求体</param>
+        /// <param name="page">分页参数</param>
+        /// <returns>字段关联接口列表</returns>
         public PagedInfo<GetApiInfoListByProIdVo> getApiInfoListByProId([FromQuery] PagerInfo page, [FromQuery] ApiInfo param)
         {
             //拼装查询条件
@@ -51,6 +57,12 @@ namespace Services
         }
 
 
-
+        /// <summary>
+        /// 初始化接口
+        /// </summary>
+        public void initApiInfo([FromBody] InitApiInfoDto param)
+        {
+            
+        }
     }
 }

+ 51 - 2
Services/DatabaseFieldService.cs

@@ -5,6 +5,7 @@ using Repository;
 using Service;
 using Microsoft.AspNetCore.Mvc;
 using Vo.Admin;
+using Dto.Admin;
 
 
 namespace Services
@@ -15,6 +16,13 @@ namespace Services
     [AppService(ServiceType = typeof(IDatabaseFieldService), ServiceLifetime = LifeTime.Transient)]
     public class DatabaseFieldService : BaseService<DatabaseField>, IDatabaseFieldService
     {
+        private readonly IDatabaseFieldService _DatabaseFieldService;
+
+        public DatabaseFieldService(IDatabaseFieldService DatabaseFieldService)
+        {
+            _DatabaseFieldService = DatabaseFieldService;
+        }
+
         /// <summary>
         /// 数据字段-列表
         /// </summary>
@@ -39,6 +47,47 @@ namespace Services
         }
 
 
-
+        /// <summary>
+        /// 克隆数据字段
+        /// </summary>
+        /// <param name="param">参数请求体</param>
+        public void copyDatabaseField([FromBody] CopyDatabaseFieldDto param)
+        {
+            List<int> fieldIdList = param.sourceFieldId.ToList();
+            var sourceFields = _DatabaseFieldService.GetList(m => fieldIdList.Contains(m.id)).ToList();
+            foreach(DatabaseField sourceField in sourceFields)
+            {
+                DatabaseField newField = new DatabaseField();
+                newField.databaseId = 0;
+                newField.tableId = param.targetTableId;
+                newField.tabId = sourceField.tabId;
+                newField.fieldTitle = sourceField.fieldTitle;
+                newField.fieldName = sourceField.fieldName;
+                newField.fieldType = sourceField.fieldType;
+                newField.fieldLength = sourceField.fieldLength;
+                newField.fieldDefaultValue = sourceField.fieldDefaultValue;
+                newField.fieldDetail = sourceField.fieldDetail;
+                newField.editType = sourceField.editType;
+                newField.validateAttribute = sourceField.validateAttribute;
+                newField.primaryKey = sourceField.primaryKey;
+                newField.autoIncrement = sourceField.autoIncrement;
+                newField.splitFlag = sourceField.splitFlag;
+                newField.showList = sourceField.showList;
+                newField.showQuery = sourceField.showQuery;
+                newField.showEdit = sourceField.showEdit;
+                newField.checkRepeat = sourceField.checkRepeat;
+                newField.exportFlag = sourceField.exportFlag;
+                newField.importFlag = sourceField.importFlag;
+                newField.listEditFlag = sourceField.listEditFlag;
+                newField.listEditPlaceholder = sourceField.listEditPlaceholder;
+                newField.statCondition = sourceField.statCondition;
+                newField.statData = sourceField.statData;
+                newField.linkTableId = sourceField.linkTableId;
+                newField.linkFieldId = sourceField.linkFieldId;
+                newField.apiId = sourceField.apiId;
+                newField.createTime = DateTime.Now;
+                _DatabaseFieldService.Add(newField);
+            }
+        }
     }
-}
+}

+ 146 - 0
Services/DatabaseInfoService.cs

@@ -8,6 +8,7 @@ using Vo.Admin;
 using Dto.Admin;
 using Custom;
 using Common;
+using Infrastructure;
 
 
 namespace Services
@@ -18,6 +19,17 @@ namespace Services
     [AppService(ServiceType = typeof(IDatabaseInfoService), ServiceLifetime = LifeTime.Transient)]
     public class DatabaseInfoService : BaseService<DatabaseInfo>, IDatabaseInfoService
     {
+        private readonly IDatabaseTableService _DatabaseTableService;
+        private readonly IDatabaseFieldService _DatabaseFieldService;
+        private readonly IDatabaseFieldTabsService _DatabaseFieldTabsService;
+
+        public DatabaseInfoService(IDatabaseTableService DatabaseTableService, IDatabaseFieldService DatabaseFieldService, IDatabaseFieldTabsService DatabaseFieldTabsService)
+        {
+            _DatabaseTableService = DatabaseTableService;
+            _DatabaseFieldService = DatabaseFieldService;
+            _DatabaseFieldTabsService = DatabaseFieldTabsService;
+        }
+
         /// <summary>
         /// 数据库配置-列表
         /// </summary>
@@ -88,6 +100,140 @@ namespace Services
         }
 
 
+        /// <summary>
+        /// 克隆已有库
+        /// </summary>
+        /// <param name="param">参数请求体</param>
+        /// <returns>克隆已有库</returns>
+        public void copyDatabaseInfo([FromBody] CopyDatabaseInfoDto param)
+        {
+            List<int> dbIdList = param.sourceDatabaseIdList.ToList();
+            var sourceDatabaseInfos = GetList(m => dbIdList.Contains(m.id));
+            if(sourceDatabaseInfos.Count > 0)
+            {
+                foreach(DatabaseInfo sourceDatabaseInfo in sourceDatabaseInfos)
+                {
+                    DatabaseInfo newDatabaseInfo = new DatabaseInfo();
+                    newDatabaseInfo.createTime = DateTime.Now;
+                    newDatabaseInfo.dbTitle = sourceDatabaseInfo.dbTitle;
+                    newDatabaseInfo.dbName = sourceDatabaseInfo.dbName;
+                    newDatabaseInfo.serverId = param.targetServiceId;
+                    newDatabaseInfo.envId = sourceDatabaseInfo.envId;
+                    newDatabaseInfo.hostAddress = sourceDatabaseInfo.hostAddress;
+                    newDatabaseInfo.port = sourceDatabaseInfo.port;
+                    newDatabaseInfo.username = sourceDatabaseInfo.username;
+                    newDatabaseInfo.pwd = sourceDatabaseInfo.pwd;
+                    // newDatabaseInfo.projectId = param.targetServiceId;
+                    newDatabaseInfo.netPort = sourceDatabaseInfo.netPort;
+                    newDatabaseInfo.dbType = sourceDatabaseInfo.dbType;
+                    int newDatabaseInfoId = InsertReturnIdentity(newDatabaseInfo);
+
+                    var sourceTables = _DatabaseTableService.GetList(m => m.databaseId == sourceDatabaseInfo.id).ToList();
+                    foreach(DatabaseTable sourceTable in sourceTables)
+                    {
+                        DatabaseTable newTable = new DatabaseTable();
+                        newTable.databaseId = newDatabaseInfoId;
+                        newTable.tableName = sourceTable.tableName;
+                        newTable.tableTitle = sourceTable.tableTitle;
+                        newTable.createTime = DateTime.Now;
+                        int newTableId = _DatabaseTableService.InsertReturnIdentity(newTable);
+
+                        var sourceFieldTabs = _DatabaseFieldTabsService.GetList(m => m.tableId == sourceTable.id).ToList();
+                        if(sourceFieldTabs.Count == 0)
+                        {
+                            // 如果没有分组,则创建一个默认分组
+                            DatabaseFieldTabs defaultTab = new DatabaseFieldTabs();
+                            defaultTab.tabName = "基本信息";
+                            defaultTab.databaseId = newDatabaseInfoId;
+                            defaultTab.tableId = newTableId;
+                            defaultTab.createTime = DateTime.Now;
+                            int defaultTabId = _DatabaseFieldTabsService.InsertReturnIdentity(defaultTab);
 
+                            var sourceFieldsNoTab = _DatabaseFieldService.GetList(m => m.tableId == sourceTable.id && m.tabId == 0).ToList();
+                            foreach(DatabaseField sourceField in sourceFieldsNoTab)
+                            {
+                                DatabaseField newField = new DatabaseField();
+                                newField.databaseId = newDatabaseInfoId;
+                                newField.tableId = newTableId;
+                                newField.tabId = defaultTabId;
+                                newField.fieldTitle = sourceField.fieldTitle;
+                                newField.fieldName = sourceField.fieldName;
+                                newField.fieldType = sourceField.fieldType;
+                                newField.fieldLength = sourceField.fieldLength;
+                                newField.fieldDefaultValue = sourceField.fieldDefaultValue;
+                                newField.fieldDetail = sourceField.fieldDetail;
+                                newField.editType = sourceField.editType;
+                                newField.validateAttribute = sourceField.validateAttribute;
+                                newField.primaryKey = sourceField.primaryKey;
+                                newField.autoIncrement = sourceField.autoIncrement;
+                                newField.splitFlag = sourceField.splitFlag;
+                                newField.showList = sourceField.showList;
+                                newField.showQuery = sourceField.showQuery;
+                                newField.showEdit = sourceField.showEdit;
+                                newField.checkRepeat = sourceField.checkRepeat;
+                                newField.exportFlag = sourceField.exportFlag;
+                                newField.importFlag = sourceField.importFlag;
+                                newField.listEditFlag = sourceField.listEditFlag;
+                                newField.listEditPlaceholder = sourceField.listEditPlaceholder;
+                                newField.statCondition = sourceField.statCondition;
+                                newField.statData = sourceField.statData;
+                                newField.linkTableId = sourceField.linkTableId;
+                                newField.linkFieldId = sourceField.linkFieldId;
+                                newField.apiId = sourceField.apiId;
+                                newField.createTime = DateTime.Now;
+                                _DatabaseFieldService.Add(newField);
+                            }
+                        }
+                        else
+                        {
+                            foreach(DatabaseFieldTabs sourceFieldTab in sourceFieldTabs)
+                            {
+                                DatabaseFieldTabs newFieldTab = new DatabaseFieldTabs();
+                                newFieldTab.tabName = sourceFieldTab.tabName;
+                                newFieldTab.databaseId = newDatabaseInfoId;
+                                newFieldTab.tableId = newTableId;
+                                newFieldTab.createTime = DateTime.Now;
+                                int newFieldTabId = _DatabaseFieldTabsService.InsertReturnIdentity(newFieldTab);
+
+                                var sourceFields = _DatabaseFieldService.GetList(m => m.tabId == sourceFieldTab.id).ToList();
+                                foreach(DatabaseField sourceField in sourceFields)
+                                {
+                                    DatabaseField newField = new DatabaseField();
+                                    newField.databaseId = newDatabaseInfoId;
+                                    newField.tableId = newTableId;
+                                    newField.tabId = newFieldTabId;
+                                    newField.fieldTitle = sourceField.fieldTitle;
+                                    newField.fieldName = sourceField.fieldName;
+                                    newField.fieldType = sourceField.fieldType;
+                                    newField.fieldLength = sourceField.fieldLength;
+                                    newField.fieldDefaultValue = sourceField.fieldDefaultValue;
+                                    newField.fieldDetail = sourceField.fieldDetail;
+                                    newField.editType = sourceField.editType;
+                                    newField.validateAttribute = sourceField.validateAttribute;
+                                    newField.primaryKey = sourceField.primaryKey;
+                                    newField.autoIncrement = sourceField.autoIncrement;
+                                    newField.splitFlag = sourceField.splitFlag;
+                                    newField.showList = sourceField.showList;
+                                    newField.showQuery = sourceField.showQuery;
+                                    newField.showEdit = sourceField.showEdit;
+                                    newField.checkRepeat = sourceField.checkRepeat;
+                                    newField.exportFlag = sourceField.exportFlag;
+                                    newField.importFlag = sourceField.importFlag;
+                                    newField.listEditFlag = sourceField.listEditFlag;
+                                    newField.listEditPlaceholder = sourceField.listEditPlaceholder;
+                                    newField.statCondition = sourceField.statCondition;
+                                    newField.statData = sourceField.statData;
+                                    newField.linkTableId = sourceField.linkTableId;
+                                    newField.linkFieldId = sourceField.linkFieldId;
+                                    newField.apiId = sourceField.apiId;
+                                    newField.createTime = DateTime.Now;
+                                    _DatabaseFieldService.Add(newField);
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
     }
 }

+ 122 - 0
Services/DatabaseTableService.cs

@@ -16,6 +16,15 @@ namespace Services
     [AppService(ServiceType = typeof(IDatabaseTableService), ServiceLifetime = LifeTime.Transient)]
     public class DatabaseTableService : BaseService<DatabaseTable>, IDatabaseTableService
     {
+        private readonly IDatabaseFieldService _DatabaseFieldService;
+        private readonly IDatabaseFieldTabsService _DatabaseFieldTabsService;
+
+        public DatabaseTableService(IDatabaseFieldService DatabaseFieldService, IDatabaseFieldTabsService DatabaseFieldTabsService)
+        {
+            _DatabaseFieldService = DatabaseFieldService;
+            _DatabaseFieldTabsService = DatabaseFieldTabsService;
+        }
+
         /// <summary>
         /// 数据表-列表
         /// </summary>
@@ -57,6 +66,119 @@ namespace Services
         }
 
 
+        /// <summary>
+        /// 克隆数据表
+        /// </summary>
+        /// <param name="sourceTable">来源数据表</param>
+        /// <param name="newDatabaseInfoId">新数据库ID</param>
+        /// <returns>克隆数据表</returns>
+        public void copyDatabaseTable([FromBody] CopyDatabaseTableDto param)
+        {
+            List<int> tableIdList = param.sourceTableId.ToList();
+            var sourceTables = GetList(m => tableIdList.Contains(m.id)).ToList();
+            foreach(DatabaseTable sourceTable in sourceTables)
+            {
+                DatabaseTable newTable = new DatabaseTable();
+                newTable.databaseId = param.targetDatabaseId;
+                newTable.tableName = sourceTable.tableName;
+                newTable.tableTitle = sourceTable.tableTitle;
+                newTable.createTime = DateTime.Now;
+                int newTableId = InsertReturnIdentity(newTable);
+
+                var sourceFieldTabs = _DatabaseFieldTabsService.GetList(m => m.tableId == sourceTable.id).ToList();
+                if(sourceFieldTabs.Count == 0)
+                {
+                    // 如果没有分组,则创建一个默认分组
+                    DatabaseFieldTabs defaultTab = new DatabaseFieldTabs();
+                    defaultTab.tabName = "基本信息";
+                    defaultTab.databaseId = param.targetDatabaseId;
+                    defaultTab.tableId = newTableId;
+                    defaultTab.createTime = DateTime.Now;
+                    int defaultTabId = _DatabaseFieldTabsService.InsertReturnIdentity(defaultTab);
 
+                    var sourceFieldsNoTab = _DatabaseFieldService.GetList(m => m.tableId == sourceTable.id && m.tabId == 0).ToList();
+                    foreach(DatabaseField sourceField in sourceFieldsNoTab)
+                    {
+                        DatabaseField newField = new DatabaseField();
+                        newField.databaseId = param.targetDatabaseId;
+                        newField.tableId = newTableId;
+                        newField.tabId = defaultTabId;
+                        newField.fieldTitle = sourceField.fieldTitle;
+                        newField.fieldName = sourceField.fieldName;
+                        newField.fieldType = sourceField.fieldType;
+                        newField.fieldLength = sourceField.fieldLength;
+                        newField.fieldDefaultValue = sourceField.fieldDefaultValue;
+                        newField.fieldDetail = sourceField.fieldDetail;
+                        newField.editType = sourceField.editType;
+                        newField.validateAttribute = sourceField.validateAttribute;
+                        newField.primaryKey = sourceField.primaryKey;
+                        newField.autoIncrement = sourceField.autoIncrement;
+                        newField.splitFlag = sourceField.splitFlag;
+                        newField.showList = sourceField.showList;
+                        newField.showQuery = sourceField.showQuery;
+                        newField.showEdit = sourceField.showEdit;
+                        newField.checkRepeat = sourceField.checkRepeat;
+                        newField.exportFlag = sourceField.exportFlag;
+                        newField.importFlag = sourceField.importFlag;
+                        newField.listEditFlag = sourceField.listEditFlag;
+                        newField.listEditPlaceholder = sourceField.listEditPlaceholder;
+                        newField.statCondition = sourceField.statCondition;
+                        newField.statData = sourceField.statData;
+                        newField.linkTableId = sourceField.linkTableId;
+                        newField.linkFieldId = sourceField.linkFieldId;
+                        newField.apiId = sourceField.apiId;
+                        newField.createTime = DateTime.Now;
+                        _DatabaseFieldService.Add(newField);
+                    }
+                }
+                else
+                {
+                    foreach(DatabaseFieldTabs sourceFieldTab in sourceFieldTabs)
+                    {
+                        DatabaseFieldTabs newFieldTab = new DatabaseFieldTabs();
+                        newFieldTab.tabName = sourceFieldTab.tabName;
+                        newFieldTab.databaseId = param.targetDatabaseId;
+                        newFieldTab.tableId = newTableId;
+                        newFieldTab.createTime = DateTime.Now;
+                        int newFieldTabId = _DatabaseFieldTabsService.InsertReturnIdentity(newFieldTab);
+
+                        var sourceFields = _DatabaseFieldService.GetList(m => m.tabId == sourceFieldTab.id).ToList();
+                        foreach(DatabaseField sourceField in sourceFields)
+                        {
+                            DatabaseField newField = new DatabaseField();
+                            newField.databaseId = param.targetDatabaseId;
+                            newField.tableId = newTableId;
+                            newField.tabId = newFieldTabId;
+                            newField.fieldTitle = sourceField.fieldTitle;
+                            newField.fieldName = sourceField.fieldName;
+                            newField.fieldType = sourceField.fieldType;
+                            newField.fieldLength = sourceField.fieldLength;
+                            newField.fieldDefaultValue = sourceField.fieldDefaultValue;
+                            newField.fieldDetail = sourceField.fieldDetail;
+                            newField.editType = sourceField.editType;
+                            newField.validateAttribute = sourceField.validateAttribute;
+                            newField.primaryKey = sourceField.primaryKey;
+                            newField.autoIncrement = sourceField.autoIncrement;
+                            newField.splitFlag = sourceField.splitFlag;
+                            newField.showList = sourceField.showList;
+                            newField.showQuery = sourceField.showQuery;
+                            newField.showEdit = sourceField.showEdit;
+                            newField.checkRepeat = sourceField.checkRepeat;
+                            newField.exportFlag = sourceField.exportFlag;
+                            newField.importFlag = sourceField.importFlag;
+                            newField.listEditFlag = sourceField.listEditFlag;
+                            newField.listEditPlaceholder = sourceField.listEditPlaceholder;
+                            newField.statCondition = sourceField.statCondition;
+                            newField.statData = sourceField.statData;
+                            newField.linkTableId = sourceField.linkTableId;
+                            newField.linkFieldId = sourceField.linkFieldId;
+                            newField.apiId = sourceField.apiId;
+                            newField.createTime = DateTime.Now;
+                            _DatabaseFieldService.Add(newField);
+                        }
+                    }
+                }
+            }
+        }
     }
 }

+ 12 - 1
Services/IService/IApiInfoService.cs

@@ -2,6 +2,7 @@ using Model;
 using Model.Base;
 using Microsoft.AspNetCore.Mvc;
 using Vo.Admin;
+using Dto.Admin;
 
 
 namespace Services
@@ -16,9 +17,19 @@ namespace Services
         /// <returns>列表</returns>
         PagedInfo<GetApiInfoListVo> getApiInfoList([FromQuery] PagerInfo page, [FromQuery] ApiInfo param);
 
-
+        /// <summary>
+        /// 接口信息-字段关联接口列表
+        /// </summary>
+        /// <param name="param">参数请求体</param>
+        /// <param name="page">分页参数</param>
+        /// <returns>字段关联接口列表</returns>
         PagedInfo<GetApiInfoListByProIdVo> getApiInfoListByProId([FromQuery] PagerInfo page, [FromQuery] ApiInfo param);
 
+        /// <summary>
+        /// 初始化接口
+        /// </summary>
+        void initApiInfo([FromBody] InitApiInfoDto param);
+
 
 
     }

+ 6 - 1
Services/IService/IDatabaseFieldService.cs

@@ -2,6 +2,7 @@ using Model;
 using Model.Base;
 using Microsoft.AspNetCore.Mvc;
 using Vo.Admin;
+using Dto.Admin;
 
 
 namespace Services
@@ -17,6 +18,10 @@ namespace Services
         PagedInfo<GetDatabaseFieldListVo> getDatabaseFieldList([FromQuery] PagerInfo page, [FromQuery] DatabaseField param);
 
 
-
+        /// <summary>
+        /// 克隆数据字段
+        /// </summary>
+        /// <param name="param">参数请求体</param>
+        void copyDatabaseField([FromBody] CopyDatabaseFieldDto param);
     }
 }

+ 6 - 1
Services/IService/IDatabaseInfoService.cs

@@ -35,6 +35,11 @@ namespace Services
         PagedInfo<GetDatabaseInfoListByIdsVo> getDatabaseInfoListByIds([FromQuery] PagerInfo page, [FromQuery] GetDatabaseInfoListByIdsDto param);
 
 
-
+        /// <summary>
+        /// 克隆已有库
+        /// </summary>
+        /// <param name="param">参数请求体</param>
+        /// <returns>克隆已有库</returns>
+        void copyDatabaseInfo([FromBody] CopyDatabaseInfoDto param);
     }
 }

+ 6 - 1
Services/IService/IDatabaseTableService.cs

@@ -27,6 +27,11 @@ namespace Services
         PagedInfo<GetDatabaseTableListByIdsVo> getDatabaseTableListByIds([FromQuery] PagerInfo page, [FromQuery] GetDatabaseTableListByIdsDto param);
 
 
-
+        /// <summary>
+        /// 克隆数据表
+        /// </summary>
+        /// <param name="param">参数请求体</param>
+        /// <returns>克隆数据表</returns>
+        void copyDatabaseTable([FromBody] CopyDatabaseTableDto param);
     }
 }