feat: streamline portfolio UI and support atomic record edits
This commit is contained in:
1 parent
932a864ed6
commit
9adf7fdbc5
26 files changed
+988
-112
No files matched your search
@@ -0,0 +1,15 @@
|
||||
ALTER TABLE `Schedule` COMMENT = '按需执行的定时支出或转账计划',
|
||||
MODIFY `id` CHAR(36) NOT NULL COMMENT '唯一标识',
|
||||
MODIFY `userId` CHAR(36) NOT NULL COMMENT '所属用户标识,用于数据隔离',
|
||||
MODIFY `importedFromId` CHAR(36) NULL COMMENT '备份来源计划标识,用于重复导入识别',
|
||||
MODIFY `name` VARCHAR(100) NOT NULL COMMENT '计划显示名称',
|
||||
MODIFY `operation` VARCHAR(16) NOT NULL COMMENT '操作类型:expense 支出或 transfer 转账',
|
||||
MODIFY `sourceId` CHAR(36) NOT NULL COMMENT '支出或转出资产账户标识',
|
||||
MODIFY `targetId` CHAR(36) NULL COMMENT '转入账户标识;支出计划为空',
|
||||
MODIFY `amount` DECIMAL(24,8) NOT NULL COMMENT '原币支出或转出金额',
|
||||
MODIFY `received` DECIMAL(24,8) NOT NULL COMMENT '原币到账金额;支出计划为零',
|
||||
MODIFY `nextAt` DATETIME(3) NOT NULL COMMENT '下次到期业务时间对应的 UTC',
|
||||
MODIFY `intervalDays` INTEGER NOT NULL COMMENT '重复间隔天数;零表示仅执行一次',
|
||||
MODIFY `enabled` BOOLEAN NOT NULL DEFAULT true COMMENT '是否启用计划',
|
||||
MODIFY `completed` BOOLEAN NOT NULL DEFAULT false COMMENT '一次性计划是否已执行完毕',
|
||||
MODIFY `notes` TEXT NOT NULL COMMENT '用户备注,原文保留';
|
||||
@@ -216,20 +216,34 @@ model Transfer {
|
||||
|
||||
/// 按需执行的定时支出或转账计划
|
||||
model Schedule {
|
||||
/// 唯一标识
|
||||
id String @id @default(uuid()) @db.Char(36)
|
||||
/// 所属用户标识,用于数据隔离
|
||||
userId String @db.Char(36)
|
||||
user User @relation(fields:[userId],references:[id],onDelete:Cascade)
|
||||
/// 备份来源计划标识,用于重复导入识别
|
||||
importedFromId String? @db.Char(36)
|
||||
/// 计划显示名称
|
||||
name String @db.VarChar(100)
|
||||
/// 操作类型:expense 支出或 transfer 转账
|
||||
operation String @db.VarChar(16)
|
||||
/// 支出或转出资产账户标识
|
||||
sourceId String @db.Char(36)
|
||||
/// 转入账户标识;支出计划为空
|
||||
targetId String? @db.Char(36)
|
||||
/// 原币支出或转出金额
|
||||
amount Decimal @db.Decimal(24,8)
|
||||
/// 原币到账金额;支出计划为零
|
||||
received Decimal @db.Decimal(24,8)
|
||||
/// 下次到期业务时间对应的 UTC
|
||||
nextAt DateTime @db.DateTime(3)
|
||||
/// 重复间隔天数;零表示仅执行一次
|
||||
intervalDays Int
|
||||
/// 是否启用计划
|
||||
enabled Boolean @default(true)
|
||||
/// 一次性计划是否已执行完毕
|
||||
completed Boolean @default(false)
|
||||
/// 用户备注,原文保留
|
||||
notes String @db.Text
|
||||
@@index([userId,enabled,nextAt])
|
||||
@@unique([userId,importedFromId])
|
||||
|
||||
Reference in new issue
Block a user