CopyData.cs 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. using System.Data;
  2. using Infrastructure;
  3. using Model;
  4. using Services;
  5. using Util;
  6. public class CopyData
  7. {
  8. public static void CopyOldData()
  9. {
  10. var apiService = App.GetService<IApiInfoService>();
  11. var db = initDb();
  12. string sql = "select * from MyAppApi2 where DatabaseId in (select Id from MyDatabase where ProjectId=203) and SingleReqParam='new_mode2'";
  13. var items = db.Ado.GetDataTable(sql);
  14. if(items.Rows.Count > 0)
  15. {
  16. foreach(DataRow item in items.Rows)
  17. {
  18. int id = item.Field<int>("Id");
  19. var apiInfo = apiService.GetById(id);
  20. string paramSql = "select * from ApiParam where ApiId=" + id + " and ParentId=0";
  21. var paramItems = db.Ado.GetDataTable(paramSql);
  22. if(paramItems.Rows.Count > 0)
  23. {
  24. apiInfo.apiParam = new List<ApiParamObject>();
  25. foreach(DataRow paramItem in paramItems.Rows)
  26. {
  27. ApiParamObjectData(db, paramItem, id, apiInfo.apiParam);
  28. }
  29. apiService.Update(apiInfo);
  30. }
  31. }
  32. }
  33. }
  34. public static void ApiParamObjectData(SqlSugarClient db, DataRow paramItem, int apiId, List<ApiParamObject> apiParam)
  35. {
  36. ApiParamObject param = new ApiParamObject();
  37. param.id = paramItem.Field<int>("Id");
  38. param.fieldTitle = paramItem.Field<string>("ColumnName");
  39. param.fieldName = paramItem.Field<string>("ColumnEnName");
  40. param.fieldNameUpper = PublicFunction.transferName(paramItem.Field<string>("ColumnEnName"));
  41. param.fieldNameFirstUpper = PublicFunction.transferName(paramItem.Field<string>("ColumnEnName"), 1);
  42. param.fieldType = PublicFunction.transferName(paramItem.Field<string>("ColumnType"));
  43. param.reqParam = paramItem.Field<ulong>("ReqFlag") == 1;
  44. param.resParam = paramItem.Field<ulong>("ResFlag") == 1;
  45. param.customFlag = paramItem.Field<string>("Kind") != "sys";
  46. param.sortMode = paramItem.Field<int>("OrderBy") == 2 ? "desc" : paramItem.Field<int>("OrderBy") == 1 ? "asc" : "";
  47. param.fieldDetail = paramItem.Field<string>("ColumnDetail");
  48. param.linkTableId = paramItem.Field<int>("LinkTableId");
  49. param.resType = "字段值";
  50. string paramSql = "select * from ApiParam where ApiId=" + apiId + " and ParentId=" + paramItem.Field<int>("IdNum");
  51. var subParamItems = db.Ado.GetDataTable(paramSql);
  52. if(subParamItems.Rows.Count > 0)
  53. {
  54. param.linkParam = new List<ApiParamObject>();
  55. foreach(DataRow subParamItem in subParamItems.Rows)
  56. {
  57. ApiParamObjectData(db, subParamItem, apiId, param.linkParam);
  58. }
  59. }
  60. apiParam.Add(param);
  61. }
  62. public static SqlSugarClient initDb()
  63. {
  64. //server=8.137.21.27;port=3306;user=root;password=S5jRutnCcGXZcRUZ;database=CodeMaker;charset=utf8;
  65. string server = "8.137.21.27";
  66. int port = 3306;
  67. string user = "root";
  68. string password = "S5jRutnCcGXZcRUZ";
  69. string database = "CodeMaker";
  70. var db = new SqlSugarClient(new ConnectionConfig()
  71. {
  72. ConnectionString = "server=" + server + ";port=" + port + ";user=" + user + ";password=" + password + ";database=" + database + ";charset=utf8;",
  73. DbType = SqlSugar.DbType.MySql,
  74. IsAutoCloseConnection = true,
  75. });
  76. return db;
  77. }
  78. }