feat: inherit channel report requirements

This commit is contained in:
hectorzhao
2026-07-12 16:14:54 +08:00
parent 053bcca990
commit 87ae4a2063
14 changed files with 612 additions and 65 deletions
+26
View File
@@ -235,6 +235,8 @@ model DrainageField {
description String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
channelReportFields ChannelReportField[]
}
model BillingPlan {
@@ -410,6 +412,7 @@ model SmsSignature {
materials SignatureMaterial[]
templates SmsTemplate[]
reportMaterials SignatureReportMaterial[]
drainageReportMaterials DrainageReportMaterial[]
reportTasks ChannelSignatureReportTask[]
messageRecords SmsMessageRecord[]
@@ -512,6 +515,7 @@ model SmsChannel {
routeRules ChannelRouteRule[]
healthMetrics ChannelHealthMetric[]
reportFields ChannelReportField[]
drainageReportMaterials DrainageReportMaterial[]
reportTasks ChannelSignatureReportTask[]
reportRecords ChannelSignatureReportRecord[]
messageRecords SmsMessageRecord[]
@@ -658,6 +662,8 @@ model ChannelHealthMetric {
model ChannelReportField {
id String @id @default(cuid())
channelId String
drainageFieldId String?
reportType String @default("both")
code String
name String
fieldType String
@@ -669,8 +675,10 @@ model ChannelReportField {
updatedAt DateTime @updatedAt
channel SmsChannel @relation(fields: [channelId], references: [id], onDelete: Cascade)
drainageField DrainageField? @relation(fields: [drainageFieldId], references: [id])
@@unique([channelId, code])
@@index([drainageFieldId, reportType])
}
model SignatureReportMaterial {
@@ -689,6 +697,24 @@ model SignatureReportMaterial {
@@index([channelId])
}
model DrainageReportMaterial {
id String @id @default(cuid())
signatureId String
drainageItemId String
channelId String
fieldCode String
fieldValue String?
fileObjectId String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
signature SmsSignature @relation(fields: [signatureId], references: [id], onDelete: Cascade)
channel SmsChannel @relation(fields: [channelId], references: [id], onDelete: Cascade)
@@unique([signatureId, drainageItemId, channelId, fieldCode])
@@index([channelId, fieldCode])
}
model ChannelSignatureReportTask {
id String @id @default(cuid())
tenantId String