using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Wood.Util; namespace Wood.Util { /// /// 生成数据库主键Id /// public class IdGeneratorHelper { //private int SnowFlakeWorkerId = GlobalContext.SystemConfig!.SnowFlakeWorkerId; //private Snowflake snowflake; private static readonly IdGeneratorHelper instance = new IdGeneratorHelper(); private IdGeneratorHelper() { //snowflake = new Snowflake(SnowFlakeWorkerId, 0, 0); } public static IdGeneratorHelper Instance { get { return instance; } } /// /// 雪花id /// /// public long GetId() { return SnowFlakeSingle.Instance.NextId(); } /// /// Guid /// format /// N - 32 个数字,没有分隔符 /// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx /// D - 使用连字符 (hyphen) 分隔的 32 个数字 /// xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /// B - 使用大括号包围的 D 格式 /// {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} /// P - 使用圆括号包围的 D 格式 /// (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) /// X - 使用大括号包围的 X 格式,与 B 类似但每个十六进制值都用大写表示,并且在每组之间添加空格 /// {0xXX,0xXX,0xXX,0xXX,0xXX,0xXX,0xXX,0xXX,0xXX,0xXX,0xXX,0xXX,0xXX,0xXX,0xXX,0xXX} /// Y - 使用大括号包围的 D 格式,但在第三组前添加 "4-" 和 "8-" 前缀以指示版本和变体信息 /// {xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx} /// /// public string GetGuid(string format="") { if(string.IsNullOrEmpty(format)) { return Guid.NewGuid().ToString().ToUpper(); } return Guid.NewGuid().ToString(format).ToUpper(); } } }