lichunlei пре 5 месеци
родитељ
комит
21cce1f647
2 измењених фајлова са 83 додато и 0 уклоњено
  1. 2 0
      Program.cs
  2. 81 0
      Util/CopyData.cs

+ 2 - 0
Program.cs

@@ -132,4 +132,6 @@ ModelVoAdapt.Map(); //模型字段类型映射配置
 // RabbitMQClient.Instance.Conn("MakeQueue");
 // MakeHelper.Instance.Start("MakeCallBackQueue");
 
+// CopyData.CopyOldData();
+
 app.Run();

+ 81 - 0
Util/CopyData.cs

@@ -0,0 +1,81 @@
+using System.Data;
+using Infrastructure;
+using Model;
+using Services;
+using Util;
+
+public class CopyData
+{
+    public static void CopyOldData()
+    { 
+        var apiService = App.GetService<IApiInfoService>();
+        var db = initDb();
+        string sql = "select * from MyAppApi2 where DatabaseId in (select Id from MyDatabase where ProjectId=203) and SingleReqParam='new_mode2'";
+        var items = db.Ado.GetDataTable(sql);
+        if(items.Rows.Count > 0)
+        {
+            foreach(DataRow item in items.Rows)
+            {
+                int id = item.Field<int>("Id");
+                var apiInfo = apiService.GetById(id);
+                string paramSql = "select * from ApiParam where ApiId=" + id + " and ParentId=0";
+                var paramItems = db.Ado.GetDataTable(paramSql);
+                if(paramItems.Rows.Count > 0)
+                {
+                    apiInfo.apiParam = new List<ApiParamObject>();
+                    foreach(DataRow paramItem in paramItems.Rows)
+                    {
+                        ApiParamObjectData(db, paramItem, id, apiInfo.apiParam);
+                    }
+                    apiService.Update(apiInfo);
+                }
+            }
+        }
+    }
+
+    public static void ApiParamObjectData(SqlSugarClient db, DataRow paramItem, int apiId, List<ApiParamObject> apiParam)
+    {
+        ApiParamObject param = new ApiParamObject();
+        param.id = paramItem.Field<int>("Id");
+        param.fieldTitle = paramItem.Field<string>("ColumnName");
+        param.fieldName = paramItem.Field<string>("ColumnEnName");
+        param.fieldNameUpper = PublicFunction.transferName(paramItem.Field<string>("ColumnEnName"));
+        param.fieldNameFirstUpper = PublicFunction.transferName(paramItem.Field<string>("ColumnEnName"), 1);
+        param.fieldType = PublicFunction.transferName(paramItem.Field<string>("ColumnType"));
+        param.reqParam = paramItem.Field<ulong>("ReqFlag") == 1;
+        param.resParam = paramItem.Field<ulong>("ResFlag") == 1;
+        param.customFlag = paramItem.Field<string>("Kind") != "sys";
+        param.sortMode = paramItem.Field<int>("OrderBy") == 2 ? "desc" : paramItem.Field<int>("OrderBy") == 1 ? "asc" : "";
+        param.fieldDetail = paramItem.Field<string>("ColumnDetail");
+        param.linkTableId = paramItem.Field<int>("LinkTableId");
+        param.resType = "字段值";
+        string paramSql = "select * from ApiParam where ApiId=" + apiId + " and ParentId=" + paramItem.Field<int>("IdNum");
+        var subParamItems = db.Ado.GetDataTable(paramSql);
+        if(subParamItems.Rows.Count > 0)
+        {
+            param.linkParam = new List<ApiParamObject>();
+            foreach(DataRow subParamItem in subParamItems.Rows)
+            {
+                ApiParamObjectData(db, subParamItem, apiId, param.linkParam);
+            }
+        }
+        apiParam.Add(param);
+    }
+
+    public static SqlSugarClient initDb()
+    {
+        //server=8.137.21.27;port=3306;user=root;password=S5jRutnCcGXZcRUZ;database=CodeMaker;charset=utf8;
+        string server = "8.137.21.27";
+        int port = 3306;
+        string user = "root";
+        string password = "S5jRutnCcGXZcRUZ";
+        string database = "CodeMaker";
+        var db = new SqlSugarClient(new ConnectionConfig()
+        {
+            ConnectionString = "server=" + server + ";port=" + port + ";user=" + user + ";password=" + password + ";database=" + database + ";charset=utf8;",
+            DbType = SqlSugar.DbType.MySql,
+            IsAutoCloseConnection = true,
+        });
+        return db;
+    }    
+}