lichunlei 5 месяцев назад
Родитель
Сommit
92a537af46

+ 9 - 0
Model/Database/ApiGroup.cs

@@ -1,4 +1,5 @@
 using Mapster;
+using Util;
 
 
 namespace Model
@@ -71,6 +72,14 @@ namespace Model
         /// </summary>
         [SugarColumn(ColumnDescription = "分组名称", Length = 100, ColumnName = "group_name")]
         public string? groupName { get; set; }
+        [SugarColumn(IsIgnore = true)]
+        public string? groupNameUpper 
+        {
+            get
+            {
+                return PublicFunction.transferName(groupName, 1);
+            }
+        }
 
 
         /// <summary>

+ 45 - 0
Model/Database/ApiInfo.cs

@@ -1,4 +1,5 @@
 using Mapster;
+using Util;
 using static System.Runtime.InteropServices.JavaScript.JSType;
 
 
@@ -116,6 +117,14 @@ namespace Model
         /// </summary>
         [SugarColumn(ColumnDescription = "方法名", Length = 100, ColumnName = "method_name")]
         public string? methodName { get; set; }
+        [SugarColumn(IsIgnore = true)]
+        public string? methodNameUpper 
+        {
+            get
+            {
+                return PublicFunction.transferName(methodName);
+            }
+        }
 
 
         /// <summary>
@@ -132,6 +141,40 @@ namespace Model
         public List<ApiParamObject> apiParam { get; set; }
 
 
+        /// <summary>
+        /// 关联表ID
+        /// </summary>
+        [SugarColumn(ColumnDescription = "关联表ID", ColumnName = "link_table_id")]
+        public int linkTableId { get; set; }
+        [SugarColumn(IsIgnore = true)]
+        public string? linkTableTitle { get; set; } 
+        [SugarColumn(IsIgnore = true)]
+        public string? linkTableName { get; set; } 
+        [SugarColumn(IsIgnore = true)]
+        public string? linkTableNameUpper
+        {
+            get
+            {
+                return PublicFunction.transferName(linkTableName);
+            }
+        }
+        public string? linkTableNameFirstUpper
+        {
+            get
+            {
+                return PublicFunction.transferName(linkTableName, 1);
+            }
+        }
+
+
+
+        /// <summary>
+        /// 分页
+        /// </summary>
+        [SugarColumn(ColumnDescription = "分页", ColumnName = "page_flag")]
+        public bool pageFlag { get; set; }
+
+
     }
 
     public class ApiParamObject
@@ -149,6 +192,8 @@ namespace Model
         /// 字段名
         /// </summary>
         public string fieldName { get; set; }
+        public string fieldNameUpper { get; set; }
+        public string fieldNameFirstUpper { get; set; }
 
 
         /// <summary>

+ 8 - 0
Model/Database/DatabaseTable.cs

@@ -87,6 +87,14 @@ namespace Model
                 return PublicFunction.transferName(tableName);
             }
         }
+        [SugarColumn(IsIgnore = true)]
+        public string? tableNameFirstUpper 
+        {
+            get
+            {
+                return PublicFunction.transferName(tableName, 1);
+            }
+        }
 
 
         /// <summary>

+ 13 - 0
Model/Dto/Admin/AddApiInfoDto.cs

@@ -80,5 +80,18 @@ namespace Dto.Admin
 
 
 
+        /// <summary>
+        /// 分页
+        /// </summary>
+        public bool pageFlag { get; set; }
+
+
+        /// <summary>
+        /// 关联表ID
+        /// </summary>
+        public int linkTableId { get; set; }
+
+
+
     }
 }

+ 27 - 8
Services/DatabaseTableService.cs

@@ -21,11 +21,14 @@ namespace Services
     {
         private readonly IDatabaseFieldService _DatabaseFieldService;
         private readonly IDatabaseFieldTabsService _DatabaseFieldTabsService;
+        private readonly IApiInfoService _ApiInfoService;
+        
 
-        public DatabaseTableService(IDatabaseFieldService DatabaseFieldService, IDatabaseFieldTabsService DatabaseFieldTabsService)
+        public DatabaseTableService(IDatabaseFieldService DatabaseFieldService, IDatabaseFieldTabsService DatabaseFieldTabsService, IApiInfoService ApiInfoService)
         {
             _DatabaseFieldService = DatabaseFieldService;
             _DatabaseFieldTabsService = DatabaseFieldTabsService;
+            _ApiInfoService = ApiInfoService;
         }
 
         /// <summary>
@@ -245,7 +248,7 @@ namespace Services
             makeData.data.Add("author", loginUser.username);
             makeData.data.Add("projectService", baseInfo);
             makeData.data.Add("databaseTable", table);
-            makeData.data.Add("DatabaseFields", fields);
+            makeData.data.Add("databaseFields", fields);
             RabbitMQClient.Instance.Push("MakeSqlQueue", Newtonsoft.Json.JsonConvert.SerializeObject(makeData));
         }
 
@@ -305,7 +308,7 @@ namespace Services
         /// </summary>
         /// <param name="param">参数请求体</param>
         /// <returns>生成java代码-dto</returns>
-        public void makeJavaDto(ProjectService baseInfo, DatabaseTable table, TokenModel loginUser)
+        public void makeJavaDto(ProjectService baseInfo, ApiInfo apiInfo, TokenModel loginUser)
         {
             MakeData makeData = new();
             string requestId = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Function.get_Random(8);
@@ -320,7 +323,8 @@ namespace Services
             makeData.data.Add("since", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
             makeData.data.Add("author", loginUser.username);
             makeData.data.Add("projectService", baseInfo);
-            makeData.data.Add("databaseTable", table);
+            makeData.data.Add("apiInfo", apiInfo);
+            makeData.data.Add("databaseFields", apiInfo.apiParam);
             RabbitMQClient.Instance.Push("MakeSqlQueue", Newtonsoft.Json.JsonConvert.SerializeObject(makeData));
         }
 
@@ -330,7 +334,7 @@ namespace Services
         /// </summary>
         /// <param name="param">参数请求体</param>
         /// <returns>生成java代码-vo</returns>
-        public void makeJavaVo(ProjectService baseInfo, DatabaseTable table, TokenModel loginUser)
+        public void makeJavaVo(ProjectService baseInfo, ApiInfo apiInfo, TokenModel loginUser)
         {
             MakeData makeData = new();
             string requestId = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Function.get_Random(8);
@@ -345,7 +349,8 @@ namespace Services
             makeData.data.Add("since", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
             makeData.data.Add("author", loginUser.username);
             makeData.data.Add("projectService", baseInfo);
-            makeData.data.Add("databaseTable", table);
+            makeData.data.Add("apiInfo", apiInfo);
+            makeData.data.Add("databaseFields", apiInfo.apiParam);
             RabbitMQClient.Instance.Push("MakeSqlQueue", Newtonsoft.Json.JsonConvert.SerializeObject(makeData));
         }
 
@@ -382,6 +387,8 @@ namespace Services
         /// <returns>生成java代码-mapperXml</returns>
         public void makeJavaMapperXml(ProjectService baseInfo, DatabaseTable table, TokenModel loginUser)
         {
+            List<DatabaseField> fields = _DatabaseFieldService.GetList(m => m.tableId == table.id);
+            
             MakeData makeData = new();
             string requestId = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Function.get_Random(8);
             makeData.requestId = requestId;
@@ -396,6 +403,7 @@ namespace Services
             makeData.data.Add("author", loginUser.username);
             makeData.data.Add("projectService", baseInfo);
             makeData.data.Add("databaseTable", table);
+            makeData.data.Add("databaseFields", fields);
             RabbitMQClient.Instance.Push("MakeSqlQueue", Newtonsoft.Json.JsonConvert.SerializeObject(makeData));
         }
 
@@ -405,8 +413,18 @@ namespace Services
         /// </summary>
         /// <param name="param">参数请求体</param>
         /// <returns>生成java代码-controller</returns>
-        public void makeJavaController(ProjectService baseInfo, DatabaseTable table, TokenModel loginUser)
+        public void makeJavaController(ProjectService baseInfo, string controllerPath, TokenModel loginUser)
         {
+            var apiInfos = _ApiInfoService.GetList(m => m.serviceId == baseInfo.id && m.controllerFilePath == controllerPath);
+
+            var tables = GetList(m => apiInfos.Exists(n => n.linkTableId == m.id));
+            foreach(var apiInfo in apiInfos)
+            {
+                var linkTable = tables.FirstOrDefault(m => m.id == apiInfo.linkTableId) ?? new DatabaseTable();
+                apiInfo.linkTableTitle = linkTable.tableTitle;
+                apiInfo.linkTableName = linkTable.tableName;
+            }
+
             MakeData makeData = new();
             string requestId = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Function.get_Random(8);
             makeData.requestId = requestId;
@@ -420,7 +438,8 @@ namespace Services
             makeData.data.Add("since", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
             makeData.data.Add("author", loginUser.username);
             makeData.data.Add("projectService", baseInfo);
-            makeData.data.Add("databaseTable", table);
+            makeData.data.Add("databaseTables", tables);
+            makeData.data.Add("apiInfos", apiInfos);
             RabbitMQClient.Instance.Push("MakeSqlQueue", Newtonsoft.Json.JsonConvert.SerializeObject(makeData));
         }