File tree Expand file tree Collapse file tree 4 files changed +22
-11
lines changed Expand file tree Collapse file tree 4 files changed +22
-11
lines changed Original file line number Diff line number Diff line change @@ -64,3 +64,12 @@ class TokenPayload:
6464@dataclasses .dataclass
6565class UploadUrl :
6666 url : str
67+
68+
69+ @dataclasses .dataclass
70+ class SnowflakeInfo :
71+ timestamp : int
72+ datetime : str
73+ cluster_id : int
74+ node_id : int
75+ sequence : int
Original file line number Diff line number Diff line change 2222from backend .core .path_conf import PLUGIN_DIR
2323from backend .database .redis import RedisCli , redis_client
2424from backend .plugin .errors import PluginConfigError , PluginInjectError
25- from backend .utils ._asyncio import run_await
25+ from backend .utils ._await import run_await
2626from backend .utils .import_parse import import_module_cached
2727
2828
File renamed without changes.
Original file line number Diff line number Diff line change 44
55from dataclasses import dataclass
66
7+ from backend .common .dataclasses import SnowflakeInfo
78from backend .common .exception import errors
9+ from backend .core .conf import settings
810
911
1012@dataclass (frozen = True )
@@ -103,25 +105,25 @@ def generate(self) -> int:
103105 )
104106
105107 @staticmethod
106- def parse_id (snowflake_id : int ) -> dict :
108+ def parse_id (snowflake_id : int ) -> SnowflakeInfo :
107109 """
108- 解析雪花ID ,获取其包含的详细信息
110+ 解析雪花 ID ,获取其包含的详细信息
109111
110112 :param snowflake_id: 雪花ID
111- :return: 包含时间戳、集群ID、节点ID和序列号的字典
113+ :return:
112114 """
113115 timestamp = (snowflake_id >> SnowflakeConfig .TIMESTAMP_LEFT_SHIFT ) + SnowflakeConfig .EPOCH
114116 cluster_id = (snowflake_id >> SnowflakeConfig .DATACENTER_ID_SHIFT ) & SnowflakeConfig .MAX_DATACENTER_ID
115117 node_id = (snowflake_id >> SnowflakeConfig .WORKER_ID_SHIFT ) & SnowflakeConfig .MAX_WORKER_ID
116118 sequence = snowflake_id & SnowflakeConfig .SEQUENCE_MASK
117119
118- return {
119- " timestamp" : timestamp ,
120- " datetime" : time .strftime ("%Y-%m-%d %H:%M:%S" , time .localtime (timestamp / 1000 )),
121- " cluster_id" : cluster_id ,
122- " node_id" : node_id ,
123- " sequence" : sequence
124- }
120+ return SnowflakeInfo (
121+ timestamp = timestamp ,
122+ datetime = time .strftime (settings . DATETIME_FORMAT , time .localtime (timestamp / 1000 )),
123+ cluster_id = cluster_id ,
124+ node_id = node_id ,
125+ sequence = sequence ,
126+ )
125127
126128
127129snowflake = Snowflake ()
You can’t perform that action at this time.
0 commit comments