支持已绑定设备追加 NFC 卡

This commit is contained in:
stu2not
2026-06-04 09:55:35 +08:00
parent 482fbf351f
commit 9f43fcb5ae
18 changed files with 646 additions and 92 deletions

View File

@@ -100,6 +100,8 @@ class DeviceBindSession(Base):
max_attempt_count: Mapped[int] = mapped_column(Integer, server_default="5")
attempt_count: Mapped[int] = mapped_column(Integer, server_default="0")
status: Mapped[int] = mapped_column(Integer, server_default="1")
bind_mode: Mapped[int] = mapped_column(Integer, server_default="1")
card_uuid: Mapped[Optional[str]] = mapped_column(String(64))
confirmed_at: Mapped[Optional[datetime]] = mapped_column(DateTime)
consumed_at: Mapped[Optional[datetime]] = mapped_column(DateTime)
created_at: Mapped[Optional[datetime]] = mapped_column(DateTime, server_default=text("CURRENT_TIMESTAMP"))
@@ -126,7 +128,7 @@ class Card(Base):
card_id: Mapped[int] = mapped_column(Integer, primary_key=True, autoincrement=True)
card_uuid: Mapped[str] = mapped_column(String(64), unique=True, nullable=False)
device_id: Mapped[Optional[str]] = mapped_column(String(64), unique=True)
device_id: Mapped[Optional[str]] = mapped_column(String(64))
card_name: Mapped[Optional[str]] = mapped_column(String(64))
status: Mapped[int] = mapped_column(Integer, server_default="0")
total_swaps: Mapped[int] = mapped_column(Integer, server_default="0")

View File

@@ -87,6 +87,8 @@ CREATE TABLE IF NOT EXISTS device_bind_sessions (
max_attempt_count TINYINT UNSIGNED NOT NULL DEFAULT 5,
attempt_count TINYINT UNSIGNED NOT NULL DEFAULT 0,
status TINYINT NOT NULL DEFAULT 1,
bind_mode TINYINT NOT NULL DEFAULT 1,
card_uuid VARCHAR(64),
confirmed_at DATETIME,
consumed_at DATETIME,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
@@ -111,7 +113,7 @@ CREATE TABLE IF NOT EXISTS device_bind_history (
CREATE TABLE IF NOT EXISTS cards (
card_id BIGINT PRIMARY KEY AUTO_INCREMENT,
card_uuid VARCHAR(64) UNIQUE NOT NULL,
device_id VARCHAR(64) UNIQUE,
device_id VARCHAR(64),
card_name VARCHAR(64),
status TINYINT NOT NULL DEFAULT 0,
total_swaps INT NOT NULL DEFAULT 0,