using Snowflake.Core; namespace DS.Module.Core; /// /// Guid工具类 /// public class GuidHelper { /// /// 生成50位有序Guid /// /// public static string GetSequentialGuid() { string guid = Guid.NewGuid().ToString(); var timeStr = (DateTime.Now.Ticks / 10000).ToString("x8"); var newGuid = $"{timeStr.PadLeft(13, '0')}-{guid}"; return newGuid; } /// /// 由连字符分隔的32位数字 /// /// private static string GetGuid() { System.Guid guid = new Guid(); guid = Guid.NewGuid(); return guid.ToString(); } /// /// 根据GUID获取16位的唯一字符串 /// /// /// public static string GuidTo16String() { long i = 1; foreach (byte b in Guid.NewGuid().ToByteArray()) i *= ((int)b + 1); return string.Format("{0:x}", i - DateTime.Now.Ticks); } /// /// 根据GUID获取19位的唯一数字序列 /// /// public static long GuidToLongID() { byte[] buffer = Guid.NewGuid().ToByteArray(); return BitConverter.ToInt64(buffer, 0); } public static string GetSnowflakeId() { var worker = new IdWorker(1, 1); long id = worker.NextId(); return id.ToString(); } /// /// 获取一个大写的字符串 /// /// /// private static string upper(string str) { return str.ToUpper(); } /// /// 获取32位不包含“-”号的GUID字符串 /// /// public static string NewGuidFormatN(bool isUpper = false) { var guid = Guid.NewGuid().ToString("N"); return isUpper == true ? upper(guid) : guid; } }