You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
2.0 KiB
68 lines
2.0 KiB
using SqlSugar;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using Wood.Util;
|
|
|
|
namespace Wood.Util
|
|
{
|
|
/// <summary>
|
|
/// 生成数据库主键Id
|
|
/// </summary>
|
|
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;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 雪花id
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public long GetId()
|
|
{
|
|
return SnowFlakeSingle.Instance.NextId();
|
|
}
|
|
/// <summary>
|
|
/// 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}
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public string GetGuid(string format="")
|
|
{
|
|
if(string.IsNullOrEmpty(format))
|
|
{
|
|
return Guid.NewGuid().ToString().ToUpper();
|
|
}
|
|
return Guid.NewGuid().ToString(format).ToUpper();
|
|
}
|
|
}
|
|
}
|
|
|