feature:基本框架
This commit is contained in:
@@ -0,0 +1 @@
|
||||
"""数据模型层:Pydantic DTOs(随各 API 落地)+ SQLAlchemy ORM(随各模块落地)。建表 DDL 见 sql/schema.sql。"""
|
||||
@@ -0,0 +1,6 @@
|
||||
"""SQLAlchemy 2.0 声明式基类,所有 ORM 模型继承。"""
|
||||
from sqlalchemy.orm import DeclarativeBase
|
||||
|
||||
|
||||
class Base(DeclarativeBase):
|
||||
pass
|
||||
@@ -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()
|
||||
)
|
||||
@@ -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()
|
||||
)
|
||||
Reference in New Issue
Block a user