1
0
mirror of synced 2025-12-22 21:18:01 +08:00

add: id register

This commit is contained in:
koukouchan
2022-08-24 21:34:09 +08:00
parent 9ab60d7cce
commit 27caa402d4
12 changed files with 423 additions and 211 deletions

View File

@@ -0,0 +1,35 @@
"""
雪花算法生成器IdGenerator
"""
from . import options
from . import snowflake_m1
class DefaultIdGenerator:
"""
ID生成器
"""
def __init__(self):
self.snowflake = None
def set_id_generator(self, option: options.IdGeneratorOptions):
"""
设置id生成规则信息
"""
if option.base_time < 100000:
raise ValueError("base time error.")
self.snowflake = snowflake_m1.SnowFlakeM1(option)
def next_id(self) -> int:
"""
获取新的UUID
"""
if self.snowflake is None:
raise ValueError("please set id generator at first.")
return self.snowflake.next_id()