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

统一生成文件,发送mq消息

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

+ 2 - 4
Program.cs

@@ -129,9 +129,7 @@ app.Urls.Add("http://*:8005");
 
 ModelVoAdapt.Map(); //模型字段类型映射配置
 
-// RabbitMQClient.Instance.Conn("MakeSqlQueue");
-// MakeHelper.Instance.Start("MakeSqlCallBackQueue");
-// RabbitMQClient.Instance.Conn("MakeApiDocQueue");
-// MakeHelper.Instance.Start("MakeApiDocCallBackQueue");
+// RabbitMQClient.Instance.Conn("MakeQueue");
+// MakeHelper.Instance.Start("MakeCallBackQueue");
 
 app.Run();

+ 7 - 15
Services/ApiGroupService.cs

@@ -7,6 +7,7 @@ using Microsoft.AspNetCore.Mvc;
 using Vo.Admin;
 using Common;
 using Custom;
+using Tasks;
 
 
 namespace Services
@@ -59,21 +60,12 @@ namespace Services
                 apiInfo.groupName = apiGroups.FirstOrDefault(m => m.id == apiInfo.groupId).groupTitle;
             }
 
-            MakeData makeData = new();
-            string requestId = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Function.get_Random(8);
-            makeData.requestId = requestId;
-            makeData.modePath = "ApiDoc/doc.json";
-            Dictionary<string, string> attach = new();
-            attach.Add("id", serviceId.ToString());
-            attach.Add("kind", "apidoc");
-            attach.Add("operator", loginUser.username);
-            makeData.attach = Newtonsoft.Json.JsonConvert.SerializeObject(attach);
-            makeData.data = new Dictionary<string, object>();
-            makeData.data.Add("serviceName", service.serviceName);
-            makeData.data.Add("serviceTitle", service.serviceTitle);
-            makeData.data.Add("apiGroup", apiGroups);
-            makeData.data.Add("apiInfo", apiInfos);
-            RabbitMQClient.Instance.Push("MakeApiDocQueue", Newtonsoft.Json.JsonConvert.SerializeObject(makeData));
+            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, "ApiDoc/doc.json", "apidoc", loginUser.username);
         }
 
         /// <summary>

+ 6 - 14
Services/DatabaseFieldService.cs

@@ -9,6 +9,7 @@ using Dto.Admin;
 using System.Linq;
 using Common;
 using Custom;
+using Tasks;
 
 
 namespace Services
@@ -101,20 +102,11 @@ namespace Services
             List<int> fieldIds = param.id.ToList();
             List<DatabaseField> fields = GetList(m => fieldIds.Contains(m.id));
 
-            MakeData makeData = new();
-            string requestId = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Function.get_Random(8);
-            makeData.requestId = requestId;
-            makeData.modePath = "Sql/dbField.sql";
-            Dictionary<string, string> attach = new();
-            attach.Add("id", "0");
-            attach.Add("kind", "dbField");
-            attach.Add("operator", loginUser.username);
-            makeData.attach = Newtonsoft.Json.JsonConvert.SerializeObject(attach);
-            makeData.data = new Dictionary<string, object>();
-            makeData.data.Add("opType", "add");
-            makeData.data.Add("tableName", tableName);
-            makeData.data.Add("databaseField", fields);
-            RabbitMQClient.Instance.Push("MakeSqlQueue", Newtonsoft.Json.JsonConvert.SerializeObject(makeData));
+            Dictionary<string, object> pushData = new Dictionary<string, object>();
+            pushData.Add("opType", "add");
+            pushData.Add("tableName", tableName);
+            pushData.Add("databaseField", fields);
+            MakeHelper.Push(pushData, "Sql/dbField.sql", "dbField", loginUser.username);
         }
     }
 }

+ 5 - 13
Services/DatabaseInfoService.cs

@@ -9,6 +9,7 @@ using Dto.Admin;
 using Custom;
 using Common;
 using Infrastructure;
+using Tasks;
 
 
 namespace Services
@@ -64,19 +65,10 @@ namespace Services
                 table.fields = fields.Where(m => m.tableId == table.id).ToList();
             }
 
-            MakeData makeData = new();
-            string requestId = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Function.get_Random(8);
-            makeData.requestId = requestId;
-            makeData.modePath = "Sql/db.sql";
-            Dictionary<string, string> attach = new();
-            attach.Add("id", param.id.ToString());
-            attach.Add("kind", "db");
-            attach.Add("operator", loginUser.username);
-            makeData.attach = Newtonsoft.Json.JsonConvert.SerializeObject(attach);
-            makeData.data = new Dictionary<string, object>();
-            makeData.data.Add("databaseInfo", databaseInfo);
-            makeData.data.Add("databaseTable", tables);
-            RabbitMQClient.Instance.Push("MakeSqlQueue", Newtonsoft.Json.JsonConvert.SerializeObject(makeData));
+            Dictionary<string, object> pushData = new Dictionary<string, object>();
+            pushData.Add("databaseInfo", databaseInfo);
+            pushData.Add("databaseTable", tables);
+            MakeHelper.Push(pushData, "Sql/db.sql", "db", loginUser.username);
         }
 
 

+ 58 - 138
Services/DatabaseTableService.cs

@@ -9,6 +9,7 @@ using Dto.Admin;
 using Custom;
 using Common;
 using System.Linq;
+using Tasks;
 
 
 namespace Services
@@ -203,18 +204,9 @@ namespace Services
                 table.fields = _DatabaseFieldService.GetList(m => m.tableId == table.id);
             }
 
-            MakeData makeData = new();
-            string requestId = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Function.get_Random(8);
-            makeData.requestId = requestId;
-            makeData.modePath = "Sql/dbTable.sql";
-            Dictionary<string, string> attach = new();
-            attach.Add("id", "0");
-            attach.Add("kind", "dbTable");
-            attach.Add("operator", loginUser.username);
-            makeData.attach = Newtonsoft.Json.JsonConvert.SerializeObject(attach);
-            makeData.data = new Dictionary<string, object>();
-            makeData.data.Add("databaseTable", tables);
-            RabbitMQClient.Instance.Push("MakeSqlQueue", Newtonsoft.Json.JsonConvert.SerializeObject(makeData));
+            Dictionary<string, object> pushData = new Dictionary<string, object>();
+            pushData.Add("databaseTable", tables);
+            MakeHelper.Push(pushData, "Sql/dbTable.sql", "dbTable", loginUser.username);
         }
 
 
@@ -234,22 +226,13 @@ namespace Services
         {
             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;
-            makeData.modePath = "Java/model.java";
-            Dictionary<string, string> attach = new();
-            attach.Add("id", "0");
-            attach.Add("kind", "javaModel");
-            attach.Add("operator", loginUser.username);
-            makeData.attach = Newtonsoft.Json.JsonConvert.SerializeObject(attach);
-            makeData.data = new Dictionary<string, object>();
-            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("databaseFields", fields);
-            RabbitMQClient.Instance.Push("MakeSqlQueue", Newtonsoft.Json.JsonConvert.SerializeObject(makeData));
+            Dictionary<string, object> pushData = new Dictionary<string, object>();
+            pushData.Add("since", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+            pushData.Add("author", loginUser.username);
+            pushData.Add("projectService", baseInfo);
+            pushData.Add("databaseTable", table);
+            pushData.Add("databaseFields", fields);
+            MakeHelper.Push(pushData, "Java/model.java", "javaModel", loginUser.username);
         }
 
 
@@ -260,21 +243,12 @@ namespace Services
         /// <returns>生成java代码-service</returns>
         public void makeJavaService(ProjectService baseInfo, DatabaseTable table, TokenModel loginUser)
         {
-            MakeData makeData = new();
-            string requestId = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Function.get_Random(8);
-            makeData.requestId = requestId;
-            makeData.modePath = "Java/service.java";
-            Dictionary<string, string> attach = new();
-            attach.Add("id", "0");
-            attach.Add("kind", "javaService");
-            attach.Add("operator", loginUser.username);
-            makeData.attach = Newtonsoft.Json.JsonConvert.SerializeObject(attach);
-            makeData.data = new Dictionary<string, object>();
-            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);
-            RabbitMQClient.Instance.Push("MakeSqlQueue", Newtonsoft.Json.JsonConvert.SerializeObject(makeData));
+            Dictionary<string, object> pushData = new Dictionary<string, object>();
+            pushData.Add("since", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+            pushData.Add("author", loginUser.username);
+            pushData.Add("projectService", baseInfo);
+            pushData.Add("databaseTable", table);
+            MakeHelper.Push(pushData, "Java/service.java", "javaService", loginUser.username);
         }
 
 
@@ -287,22 +261,13 @@ namespace Services
         {
             var apiInfos = _ApiInfoService.GetList(m => m.serviceId == baseInfo.id && m.linkTableId == table.id && m.apiKind == 1);
 
-            MakeData makeData = new();
-            string requestId = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Function.get_Random(8);
-            makeData.requestId = requestId;
-            makeData.modePath = "Java/serviceImpl.java";
-            Dictionary<string, string> attach = new();
-            attach.Add("id", "0");
-            attach.Add("kind", "javaServiceImpl");
-            attach.Add("operator", loginUser.username);
-            makeData.attach = Newtonsoft.Json.JsonConvert.SerializeObject(attach);
-            makeData.data = new Dictionary<string, object>();
-            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("apiInfos", apiInfos);
-            RabbitMQClient.Instance.Push("MakeSqlQueue", Newtonsoft.Json.JsonConvert.SerializeObject(makeData));
+            Dictionary<string, object> pushData = new Dictionary<string, object>();
+            pushData.Add("since", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+            pushData.Add("author", loginUser.username);
+            pushData.Add("projectService", baseInfo);
+            pushData.Add("databaseTable", table);
+            pushData.Add("apiInfos", apiInfos);
+            MakeHelper.Push(pushData, "Java/serviceImpl.java", "javaServiceImpl", loginUser.username);
         }
 
 
@@ -313,22 +278,13 @@ namespace Services
         /// <returns>生成java代码-dto</returns>
         public void makeJavaDto(ProjectService baseInfo, ApiInfo apiInfo, TokenModel loginUser)
         {
-            MakeData makeData = new();
-            string requestId = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Function.get_Random(8);
-            makeData.requestId = requestId;
-            makeData.modePath = "Java/dto.java";
-            Dictionary<string, string> attach = new();
-            attach.Add("id", "0");
-            attach.Add("kind", "javaDto");
-            attach.Add("operator", loginUser.username);
-            makeData.attach = Newtonsoft.Json.JsonConvert.SerializeObject(attach);
-            makeData.data = new Dictionary<string, object>();
-            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("apiInfo", apiInfo);
-            makeData.data.Add("databaseFields", apiInfo.apiParam);
-            RabbitMQClient.Instance.Push("MakeSqlQueue", Newtonsoft.Json.JsonConvert.SerializeObject(makeData));
+            Dictionary<string, object> pushData = new Dictionary<string, object>();
+            pushData.Add("since", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+            pushData.Add("author", loginUser.username);
+            pushData.Add("projectService", baseInfo);
+            pushData.Add("apiInfo", apiInfo);
+            pushData.Add("databaseFields", apiInfo.apiParam);
+            MakeHelper.Push(pushData, "Java/dto.java", "javaDto", loginUser.username);
         }
 
 
@@ -339,22 +295,13 @@ namespace Services
         /// <returns>生成java代码-vo</returns>
         public void makeJavaVo(ProjectService baseInfo, ApiInfo apiInfo, TokenModel loginUser)
         {
-            MakeData makeData = new();
-            string requestId = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Function.get_Random(8);
-            makeData.requestId = requestId;
-            makeData.modePath = "Java/vo.java";
-            Dictionary<string, string> attach = new();
-            attach.Add("id", "0");
-            attach.Add("kind", "javaVo");
-            attach.Add("operator", loginUser.username);
-            makeData.attach = Newtonsoft.Json.JsonConvert.SerializeObject(attach);
-            makeData.data = new Dictionary<string, object>();
-            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("apiInfo", apiInfo);
-            makeData.data.Add("databaseFields", apiInfo.apiParam);
-            RabbitMQClient.Instance.Push("MakeSqlQueue", Newtonsoft.Json.JsonConvert.SerializeObject(makeData));
+            Dictionary<string, object> pushData = new Dictionary<string, object>();
+            pushData.Add("since", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+            pushData.Add("author", loginUser.username);
+            pushData.Add("projectService", baseInfo);
+            pushData.Add("apiInfo", apiInfo);
+            pushData.Add("databaseFields", apiInfo.apiParam);
+            MakeHelper.Push(pushData, "Java/vo.java", "javaVo", loginUser.username);
         }
 
 
@@ -365,21 +312,12 @@ namespace Services
         /// <returns>生成java代码-mapper</returns>
         public void makeJavaMapper(ProjectService baseInfo, DatabaseTable table, TokenModel loginUser)
         {
-            MakeData makeData = new();
-            string requestId = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Function.get_Random(8);
-            makeData.requestId = requestId;
-            makeData.modePath = "Java/mapper.java";
-            Dictionary<string, string> attach = new();
-            attach.Add("id", "0");
-            attach.Add("kind", "javaMapper");
-            attach.Add("operator", loginUser.username);
-            makeData.attach = Newtonsoft.Json.JsonConvert.SerializeObject(attach);
-            makeData.data = new Dictionary<string, object>();
-            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);
-            RabbitMQClient.Instance.Push("MakeSqlQueue", Newtonsoft.Json.JsonConvert.SerializeObject(makeData));
+            Dictionary<string, object> pushData = new Dictionary<string, object>();
+            pushData.Add("since", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+            pushData.Add("author", loginUser.username);
+            pushData.Add("projectService", baseInfo);
+            pushData.Add("databaseTable", table);
+            MakeHelper.Push(pushData, "Java/mapper.java", "javaMapper", loginUser.username);
         }
 
 
@@ -392,22 +330,13 @@ namespace Services
         {
             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;
-            makeData.modePath = "Java/mapper.xml";
-            Dictionary<string, string> attach = new();
-            attach.Add("id", "0");
-            attach.Add("kind", "javaMapperXml");
-            attach.Add("operator", loginUser.username);
-            makeData.attach = Newtonsoft.Json.JsonConvert.SerializeObject(attach);
-            makeData.data = new Dictionary<string, object>();
-            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("databaseFields", fields);
-            RabbitMQClient.Instance.Push("MakeSqlQueue", Newtonsoft.Json.JsonConvert.SerializeObject(makeData));
+            Dictionary<string, object> pushData = new Dictionary<string, object>();
+            pushData.Add("since", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+            pushData.Add("author", loginUser.username);
+            pushData.Add("projectService", baseInfo);
+            pushData.Add("databaseTable", table);
+            pushData.Add("databaseFields", fields);
+            MakeHelper.Push(pushData, "Java/mapper.xml", "javaMapperXml", loginUser.username);
         }
 
 
@@ -428,22 +357,13 @@ namespace Services
                 apiInfo.linkTableName = linkTable.tableName;
             }
 
-            MakeData makeData = new();
-            string requestId = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Function.get_Random(8);
-            makeData.requestId = requestId;
-            makeData.modePath = "Java/controller.java";
-            Dictionary<string, string> attach = new();
-            attach.Add("id", "0");
-            attach.Add("kind", "javaController");
-            attach.Add("operator", loginUser.username);
-            makeData.attach = Newtonsoft.Json.JsonConvert.SerializeObject(attach);
-            makeData.data = new Dictionary<string, object>();
-            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("databaseTables", tables);
-            makeData.data.Add("apiInfos", apiInfos);
-            RabbitMQClient.Instance.Push("MakeSqlQueue", Newtonsoft.Json.JsonConvert.SerializeObject(makeData));
+            Dictionary<string, object> pushData = new Dictionary<string, object>();
+            pushData.Add("since", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+            pushData.Add("author", loginUser.username);
+            pushData.Add("projectService", baseInfo);
+            pushData.Add("databaseTables", tables);
+            pushData.Add("apiInfos", apiInfos);
+            MakeHelper.Push(pushData, "Java/controller.java", "javaController", loginUser.username);
         }
     
     

+ 15 - 0
Task/MakeHelper.cs

@@ -63,5 +63,20 @@ namespace Tasks
             }
         }
 
+
+        public static void Push(Dictionary<string, object> pushData, string modePath, string fileType, string createBy = "系统")
+        { 
+            MakeData makeData = new();
+            string requestId = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Function.get_Random(8);
+            makeData.requestId = requestId;
+            makeData.modePath = modePath;
+            Dictionary<string, string> attach = new();
+            attach.Add("fileType", fileType);
+            attach.Add("createBy", createBy);
+            makeData.attach = Newtonsoft.Json.JsonConvert.SerializeObject(attach);
+            makeData.data = pushData;
+            RabbitMQClient.Instance.Push("MakeQueue", Newtonsoft.Json.JsonConvert.SerializeObject(makeData));
+        }
+
     }
 }