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

生成数据库脚本改为同步

lichunlei 3 месяцев назад
Родитель
Сommit
917465c7d1

+ 6 - 2
Controllers/Admin/DatabaseFieldController.cs

@@ -8,6 +8,7 @@ using Mapster;
 using Infrastructure;
 using Dto.Admin;
 using Util;
+using Tasks;
 
 
 namespace Controllers.Admin
@@ -160,8 +161,11 @@ namespace Controllers.Admin
             TokenModel loginUser = JwtUtil.GetLoginUser(HttpContext);
             int tableId = param.id.Length > 0 ? param.id[0] : 0;
             var table = _DatabaseTableService.GetFirst(m => m.id == tableId) ?? new DatabaseTable();
-            _DatabaseFieldService.makeDatabaseField(param, table, loginUser);
-            return SUCCESS("ok");
+            string res = _DatabaseFieldService.makeDatabaseField(param, table, loginUser);
+            string id = MakeHelper.Instance.DoQueue(res);
+            Dictionary<string, object> dic = new Dictionary<string, object>();
+            dic.Add("makeObjectId", id);
+            return SUCCESS(dic);
         }
 
 

+ 6 - 2
Controllers/Admin/DatabaseInfoController.cs

@@ -8,6 +8,7 @@ using Mapster;
 using Infrastructure;
 using Dto.Admin;
 using Util;
+using Tasks;
 
 
 namespace Controllers.Admin
@@ -115,8 +116,11 @@ namespace Controllers.Admin
             TokenModel loginUser = JwtUtil.GetLoginUser(HttpContext);
             var tables = _DatabaseTableService.GetList(m => m.databaseId == param.id);
             var fields = _DatabaseFieldService.GetList(m => m.databaseId == param.id);
-            _DatabaseInfoService.makeDatabaseInfo(param, tables, fields, loginUser);
-            return SUCCESS("ok");
+            var res = _DatabaseInfoService.makeDatabaseInfo(param, tables, fields, loginUser);
+            string id = MakeHelper.Instance.DoQueue(res);
+            Dictionary<string, object> dic = new Dictionary<string, object>();
+            dic.Add("makeObjectId", id);
+            return SUCCESS(dic);
         }
 
 

+ 6 - 2
Controllers/Admin/DatabaseTableController.cs

@@ -9,6 +9,7 @@ using Infrastructure;
 using Dto.Admin;
 using Util;
 using Common;
+using Tasks;
 
 
 namespace Controllers.Admin
@@ -130,8 +131,11 @@ namespace Controllers.Admin
         public IActionResult makeDatabaseTable([FromBody] MakeDatabaseTableDto param)
         {
             TokenModel loginUser = JwtUtil.GetLoginUser(HttpContext);
-            _DatabaseTableService.makeDatabaseTable(param, loginUser);
-            return SUCCESS("ok");
+            string res = _DatabaseTableService.makeDatabaseTable(param, loginUser);
+            string id = MakeHelper.Instance.DoQueue(res);
+            Dictionary<string, object> dic = new Dictionary<string, object>();
+            dic.Add("makeObjectId", id);
+            return SUCCESS(dic);
         }
 
 

+ 21 - 0
Feign/IMake.cs

@@ -0,0 +1,21 @@
+using Common;
+using Custom;
+using LitJson;
+
+namespace Feign
+{
+    public class IMake
+    {
+        public static string makeFile(string data)
+        {
+            string url = Utils.FeignUrl["omega_make"] + "/v1/omega_make/vscode/makeFile";
+            string content = Function.PostWebRequest(url, "{\"content\":\"" + data + "\"}", "application/json");
+            JsonData jsonObj = JsonMapper.ToObject(content);
+            if(jsonObj["status"].ToString() == "1")
+            {
+                return jsonObj["data"].ToString();
+            }
+            return "";
+        }
+    }
+}

+ 2 - 2
Services/DatabaseFieldService.cs

@@ -96,7 +96,7 @@ namespace Services
         /// </summary>
         /// <param name="param">参数请求体</param>
         /// <returns>生成</returns>
-        public void makeDatabaseField([FromBody] MakeDatabaseFieldDto param, DatabaseTable table, TokenModel loginUser)
+        public string makeDatabaseField([FromBody] MakeDatabaseFieldDto param, DatabaseTable table, TokenModel loginUser)
         {
             string tableName = table.tableName;
             List<int> fieldIds = Tools.SpitIntArrary(param.id.Replace("[", "").Replace("]", "")).ToList();
@@ -108,7 +108,7 @@ namespace Services
             pushData.Add("tableName", tableName);
             pushData.Add("databaseField", fields);
             pushData.Add("fileName", Function.MD5_16(param.id));
-            MakeHelper.Push(pushData, "dbField", "dbField", loginUser);
+            return MakeHelper.Make(pushData, "dbField", "dbField", loginUser);
         }
     }
 }

+ 2 - 4
Services/DatabaseInfoService.cs

@@ -57,7 +57,7 @@ namespace Services
         /// </summary>
         /// <param name="param">参数请求体</param>
         /// <returns>生成</returns>
-        public void makeDatabaseInfo([FromBody] MakeDatabaseInfoDto param, List<DatabaseTable> tables, List<DatabaseField> fields, TokenModel loginUser)
+        public string makeDatabaseInfo([FromBody] MakeDatabaseInfoDto param, List<DatabaseTable> tables, List<DatabaseField> fields, TokenModel loginUser)
         {
             DatabaseInfo databaseInfo = GetById(param.id) ?? new DatabaseInfo();
             foreach(DatabaseTable table in tables)
@@ -70,9 +70,7 @@ namespace Services
             pushData.Add("author", loginUser.username);
             pushData.Add("databaseInfo", databaseInfo);
             pushData.Add("databaseTable", tables);
-            MakeHelper.Push(pushData, "db", "db", loginUser);
-
-            
+            return MakeHelper.Make(pushData, "db", "db", loginUser);            
         }
 
 

+ 2 - 2
Services/DatabaseTableService.cs

@@ -197,7 +197,7 @@ namespace Services
         /// </summary>
         /// <param name="param">参数请求体</param>
         /// <returns>生成</returns>
-        public void makeDatabaseTable([FromBody] MakeDatabaseTableDto param, TokenModel loginUser)
+        public string makeDatabaseTable([FromBody] MakeDatabaseTableDto param, TokenModel loginUser)
         {
             List<int> tableIds = Tools.SpitIntArrary(param.id.Replace("[", "").Replace("]", "")).ToList();
             List<DatabaseTable> tables = GetList(m => tableIds.Contains(m.id));
@@ -210,7 +210,7 @@ namespace Services
             pushData.Add("author", loginUser.username);
             pushData.Add("fileName", Function.MD5_16(param.id));
             pushData.Add("databaseTable", tables);
-            MakeHelper.Push(pushData, "dbTable", "dbTable", loginUser);
+            return MakeHelper.Make(pushData, "dbTable", "dbTable", loginUser);
         }
 
 

+ 1 - 1
Services/IService/IDatabaseFieldService.cs

@@ -31,6 +31,6 @@ namespace Services
         /// <param name="param">参数请求体</param>
         /// <param name="table">数据表</param>
         /// <param name="loginUser">登录用户</param>
-        void makeDatabaseField([FromBody] MakeDatabaseFieldDto param, DatabaseTable table, TokenModel loginUser);
+        string makeDatabaseField([FromBody] MakeDatabaseFieldDto param, DatabaseTable table, TokenModel loginUser);
     }
 }

+ 1 - 1
Services/IService/IDatabaseInfoService.cs

@@ -23,7 +23,7 @@ namespace Services
         /// </summary>
         /// <param name="param">参数请求体</param>
         /// <returns>生成</returns>
-        void makeDatabaseInfo([FromBody] MakeDatabaseInfoDto param, List<DatabaseTable> tables, List<DatabaseField> fields, TokenModel loginUser);
+        string makeDatabaseInfo([FromBody] MakeDatabaseInfoDto param, List<DatabaseTable> tables, List<DatabaseField> fields, TokenModel loginUser);
 
 
         /// <summary>

+ 1 - 1
Services/IService/IDatabaseTableService.cs

@@ -41,7 +41,7 @@ namespace Services
         /// </summary>
         /// <param name="param">参数请求体</param>
         /// <returns>生成</returns>
-        void makeDatabaseTable([FromBody] MakeDatabaseTableDto param, TokenModel loginUser);
+        string makeDatabaseTable([FromBody] MakeDatabaseTableDto param, TokenModel loginUser);
 
 
         /// <summary>

+ 23 - 2
Task/MakeHelper.cs

@@ -2,6 +2,7 @@ using System.Collections;
 using System.Text.RegularExpressions;
 using Common;
 using Custom;
+using Feign;
 using Infrastructure;
 using LitJson;
 using Microsoft.CodeAnalysis.CSharp.Scripting;
@@ -37,7 +38,7 @@ namespace Tasks
             }
         }
 
-        public void DoQueue(string content)
+        public string DoQueue(string content)
         {
             string[] array = content.Split(new string[] { "#cut#" }, StringSplitOptions.None);
             string req = array[0];
@@ -60,7 +61,7 @@ namespace Tasks
                     makeObjectName = databaseInfo.dbName;
                 }
                 var logService = App.GetService<IDatabaseMakeLogService>();
-                logService.addDatabaseMakeLog(new DatabaseMakeLog()
+                var logId = logService.addDatabaseMakeLog(new DatabaseMakeLog()
                 {
                     createTime = DateTime.Now,
                     updateTime = DateTime.Now,
@@ -71,7 +72,9 @@ namespace Tasks
                     makeObjectName = makeObjectName,
                     makeContent = data,
                 });
+                return logId.ToString();
             }
+            return "";
         }
 
 
@@ -95,5 +98,23 @@ namespace Tasks
             return requestId;
         }
 
+        public static string Make(Dictionary<string, object> pushData, string modePath, string fileType, TokenModel createBy, string dataId = "0", string versionNo = "0")
+        { 
+            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("dataId", dataId);
+            attach.Add("userId", createBy.userId.ToString());
+            attach.Add("createBy", createBy.username);
+            attach.Add("versionNo", versionNo);
+            makeData.attach = Newtonsoft.Json.JsonConvert.SerializeObject(attach);
+            makeData.data = pushData;
+            
+            return IMake.makeFile( Newtonsoft.Json.JsonConvert.SerializeObject(makeData));
+        }
+
     }
 }