| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- 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();
- List<int> ids = new List<int>();
- ids.Add(203);
- ids.Add(208);
- ids.Add(209);
- ids.Add(211);
- ids.Add(217);
- List<string> tableNames = new List<string>();
- tableNames.Add("MyAppApi2|ApiParam");
- tableNames.Add("AdminApi|AdminApiParam");
- foreach (int projectId in ids)
- {
- foreach (var tableName in tableNames)
- {
- string[] arr = tableName.Split('|');
- string sql = "select * from " + arr[0] + " where DatabaseId in (select Id from MyDatabase where ProjectId=" + projectId + ") 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");
- int idNum = id;
- if(arr[0] == "AdminApi")
- {
- idNum += 2000;
- }
- var apiInfo = apiService.GetById(idNum);
- string paramSql = "select * from " + arr[1] + " 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, arr[1]);
- }
- apiService.Update(apiInfo);
- }
- }
- }
- }
- }
- }
- public static void ApiParamObjectData(SqlSugarClient db, DataRow paramItem, int apiId, List<ApiParamObject> apiParam, string tableName = "ApiParam")
- {
- ApiParamObject param = new ApiParamObject();
- param.id = paramItem.Field<int>("Id");
- param.fieldTitle = paramItem.Field<string>("ColumnName");
- param.fieldName = paramItem.Field<string>("ColumnEnName");
- 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 " + tableName + " 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;
- }
- }
|