Files
GVSDSDK/datetime_utils.py
TermiNexus 9be878b84a feat(sdk): 通用查询与工具层下沉,新增 App 体系镜像模型
P1 通用查询:auth/managers.py 新增 20 个查询方法(Role/Company/Department/Position/Menu/Tenant 六个 Manager);auth/ram.py 新增 RAMManager.ListPolicyResourceUUIDs;stats/manager.py 新增 StatsManager.ListAutoResetConfigs。

P2 App 体系:models.py 新增 App/TenantApp/CompanyApp/UserApp/AppConfig 五个 managed=False 镜像模型,字段与业务侧逐一对齐。

P3 工具下沉:新增 config.py 配置注入层与 money/json_encoder/celery_utils/exception_handler/redis_lock/ip_filter/storage/datetime_utils/string_utils 九个工具模块;model_utils.UUIDObj 增加 PascalCase 别名 Str/Bytes/UUID 与模块级转换函数。

同时移除 commission/stats/CashBook 镜像模型的重复索引声明,消除 Django models.E030。
2026-09-13 21:57:45 +08:00

25 lines
501 B
Python

import datetime
def UTCNow():
return datetime.datetime.utcnow()
def ELTTokenExpiry(days=30):
return UTCNow() + datetime.timedelta(days=days)
def FormatDateTime(dt):
if dt is None:
return None
if isinstance(dt, datetime.datetime):
return dt.isoformat()
return str(dt)
def IsTokenExpired(end_time):
if end_time is None:
return True
naive = end_time.replace(tzinfo=None) if hasattr(end_time, 'tzinfo') else end_time
return UTCNow() > naive