CommonHelper.cs 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. 
  2. using System;
  3. namespace WingCloudServer.GeneralDocTools.Helper
  4. {
  5. /// <summary>
  6. /// 通用帮助类
  7. /// </summary>
  8. public class CommonHelper
  9. {
  10. public static string EnumApiString = "枚举代码";
  11. /// <summary>
  12. /// 根据输入的字符串判断类型
  13. /// </summary>
  14. /// <returns></returns>
  15. public static string GetJsonDataTypeByString(string typeStr)
  16. {
  17. var enumStr = "";
  18. string result;
  19. //if (typeStr.Contains("AccountString") || typeStr.Contains("BaseParamsString") || typeStr.Contains("BaseString") || typeStr.Contains("EmailString")
  20. // || typeStr.Contains("PasswordString") || typeStr.Contains("PhoneString") || typeStr.Contains("UrlString") || typeStr.Contains("VerificationCode"))
  21. //{
  22. // typeStr = "System.String";
  23. //} else
  24. if (typeStr.Contains("WingInterfaceLibrary") && typeStr.Contains("`1"))
  25. {
  26. typeStr = "Object";
  27. }
  28. else if (typeStr.Contains("`1"))
  29. {
  30. typeStr = "`1";
  31. }
  32. else if (typeStr.Contains("[]") && typeStr != "Byte[]")
  33. {
  34. typeStr = "[]";
  35. }
  36. else if (typeStr.Contains("Enum"))
  37. {
  38. enumStr = typeStr;
  39. typeStr = "Enum";
  40. }
  41. switch (typeStr)
  42. {
  43. case "Enum":
  44. result = enumStr;
  45. break;
  46. case "Int32":
  47. case "System.Int32":
  48. result = "Integer";
  49. break;
  50. case "Dictionary`2":
  51. result = "Object";
  52. break;
  53. case "Stream":
  54. case "Byte[]":
  55. result = "File";
  56. break;
  57. case "`1":
  58. case "[]":
  59. result = "Array";
  60. break;
  61. case "String":
  62. case "System.String":
  63. result = "String";
  64. break;
  65. case "Decimal":
  66. case "Long":
  67. case "Int16":
  68. case "Int64":
  69. case "System.Decimal":
  70. case "System.Int16":
  71. case "System.Long":
  72. case "System.Int64":
  73. result = "Number";
  74. break;
  75. case "Float":
  76. case "System.Float":
  77. result = "Float";
  78. break;
  79. case "Double":
  80. case "System.Double":
  81. result = "Double";
  82. break;
  83. case "DateTime":
  84. case "System.DateTime":
  85. result = "DateTime";
  86. break;
  87. case "Boolean":
  88. case "System.Boolean":
  89. result = "Boolean";
  90. break;
  91. default:
  92. result = "Object";
  93. break;
  94. }
  95. return result;
  96. }
  97. /// <summary>
  98. /// 计算字符串中子串出现的次数
  99. /// </summary>
  100. /// <param name="str">字符串</param>
  101. /// <param name="substring">子串</param>
  102. /// <returns>出现的次数</returns>
  103. public static int SubstringCount(string str, string substring)
  104. {
  105. if (str.Contains(substring))
  106. {
  107. string strReplaced = str.Replace(substring, "");
  108. return (str.Length - strReplaced.Length) / substring.Length;
  109. }
  110. return 0;
  111. }
  112. /// <summary>
  113. /// 当前时间转long时间戳
  114. /// </summary>
  115. /// <returns></returns>
  116. public static long DateTimeToUnixTime()
  117. {
  118. return (long)(DateTime.Now - TimeZoneInfo.ConvertTime(new DateTime(1970, 1, 1, 0, 0, 0), TimeZoneInfo.Local)).TotalMilliseconds;
  119. }
  120. /// <summary>
  121. /// 获取特殊的目标值
  122. /// </summary>
  123. /// <returns></returns>
  124. public static long GetSpecicalTargetIndex()
  125. {
  126. System.Threading.Thread.Sleep(1);
  127. long value = 1;
  128. for (int i = 0; i < 5; i++)
  129. {
  130. Random r = new Random();
  131. value = value * r.Next(10, 20);
  132. }
  133. long val = DateTimeToUnixTime() + value;
  134. return val;
  135. }
  136. }
  137. }