feature:基本框架

This commit is contained in:
2026-09-08 19:17:35 +08:00
commit 8698f1f53a
56 changed files with 3320 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
"""数据模型层:Pydantic DTOs(随各 API 落地)+ SQLAlchemy ORM(随各模块落地)。建表 DDL 见 sql/schema.sql。"""
+6
View File
@@ -0,0 +1,6 @@
"""SQLAlchemy 2.0 声明式基类,所有 ORM 模型继承。"""
from sqlalchemy.orm import DeclarativeBase
class Base(DeclarativeBase):
pass
+22
View File
@@ -0,0 +1,22 @@
"""sys_config 运营参数表 ORM 模型(高净值门槛/偏离阈值等,免发版调整)。"""
from __future__ import annotations
from datetime import datetime
from sqlalchemy import BigInteger, DateTime, String, func
from sqlalchemy.orm import Mapped, mapped_column
from model.base import Base
class SysConfig(Base):
__tablename__ = "sys_config"
__table_args__ = {"comment": "运营参数 KV 表"}
id: Mapped[int] = mapped_column(BigInteger, primary_key=True, autoincrement=True)
config_key: Mapped[str] = mapped_column(String(64), unique=True)
config_value: Mapped[str] = mapped_column(String(255))
description: Mapped[str | None] = mapped_column(String(255))
update_time: Mapped[datetime] = mapped_column(
DateTime, server_default=func.now(), onupdate=func.now()
)
+31
View File
@@ -0,0 +1,31 @@
"""sys_user 统一用户表 ORM 模型(客户与员工共用账号体系)。"""
from __future__ import annotations
from datetime import datetime
from sqlalchemy import BigInteger, DateTime, String, func
from sqlalchemy.orm import Mapped, mapped_column
from model.base import Base
class SysUser(Base):
__tablename__ = "sys_user"
__table_args__ = {"comment": "统一用户表(客户与员工共用账号体系)"}
id: Mapped[int] = mapped_column(BigInteger, primary_key=True, autoincrement=True)
username: Mapped[str] = mapped_column(String(64), unique=True)
password_hash: Mapped[str] = mapped_column(String(255))
salt: Mapped[str | None] = mapped_column(String(32))
real_name: Mapped[str | None] = mapped_column(String(32))
phone: Mapped[str] = mapped_column(String(20))
user_type: Mapped[str] = mapped_column(String(16), server_default="CUSTOMER")
employee_role: Mapped[str | None] = mapped_column(String(32))
customer_level: Mapped[str | None] = mapped_column(String(16))
status: Mapped[str] = mapped_column(String(16), server_default="正常")
create_time: Mapped[datetime] = mapped_column(
DateTime, server_default=func.now()
)
update_time: Mapped[datetime] = mapped_column(
DateTime, server_default=func.now(), onupdate=func.now()
)