@@ -302,6 +302,18 @@ enum StorePackageSubmitterType {
|
||||
SHOP
|
||||
}
|
||||
|
||||
enum StoreInfoChangeStatus {
|
||||
PENDING
|
||||
APPROVED
|
||||
REJECTED
|
||||
}
|
||||
|
||||
enum StoreInfoChangeSubmitterType {
|
||||
PARTNER
|
||||
SHOP
|
||||
HQ_DIRECT_ADMIN
|
||||
}
|
||||
|
||||
enum UserSourceType {
|
||||
ORGANIC
|
||||
PROMO_CODE
|
||||
@@ -1179,6 +1191,7 @@ model User {
|
||||
ownedPromoCodes CommonPromoCode[] @relation("PromoOwnerUser")
|
||||
orders Order[]
|
||||
invoices UserInvoice[]
|
||||
invoiceTitles UserInvoiceTitle[]
|
||||
benefitCoupons BenefitCoupon[]
|
||||
redeemRecords RedeemRecord[]
|
||||
redeemPendingRecords RedeemPendingRecord[]
|
||||
@@ -1299,6 +1312,7 @@ model Store {
|
||||
visibilityPhones StoreVisibilityPhone[]
|
||||
packages StorePackage[]
|
||||
packageChangeRequests StorePackageChangeRequest[]
|
||||
infoChangeRequests StoreInfoChangeRequest[]
|
||||
|
||||
@@index([cityId, status])
|
||||
@@index([partnerAccountId])
|
||||
@@ -1362,6 +1376,52 @@ model StorePackageChangeRequest {
|
||||
@@map("store_package_change_request")
|
||||
}
|
||||
|
||||
/// 用户发票抬头(C 端"我的 → 发票管理")
|
||||
model UserInvoiceTitle {
|
||||
id BigInt @id @default(autoincrement()) @db.UnsignedBigInt
|
||||
userId BigInt @map("user_id") @db.UnsignedBigInt
|
||||
titleType InvoiceTitleType @map("title_type") // PERSONAL | ENTERPRISE
|
||||
titleName String @map("title_name") @db.VarChar(128)
|
||||
taxNo String? @map("tax_no") @db.VarChar(32)
|
||||
email String? @db.VarChar(128)
|
||||
phone String? @db.VarChar(20)
|
||||
addressPhone String? @map("address_phone") @db.VarChar(256)
|
||||
bankAccount String? @map("bank_account") @db.VarChar(256)
|
||||
isDefault Boolean @default(false) @map("is_default")
|
||||
createdAt DateTime @default(now()) @map("created_at") @db.DateTime(3)
|
||||
updatedAt DateTime @updatedAt @map("updated_at") @db.DateTime(3)
|
||||
|
||||
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
|
||||
|
||||
@@index([userId, isDefault])
|
||||
@@map("user_invoice_title")
|
||||
}
|
||||
|
||||
/// 门店基础信息变更请求(合伙人/门店端提交 → 总部审核)
|
||||
model StoreInfoChangeRequest {
|
||||
id BigInt @id @default(autoincrement()) @db.UnsignedBigInt
|
||||
storeId BigInt @map("store_id") @db.UnsignedBigInt
|
||||
status StoreInfoChangeStatus @default(PENDING)
|
||||
/// 变更前 Store 全量快照
|
||||
liveSnapshot Json @map("live_snapshot")
|
||||
/// 提交时希望变更的字段集合(白名单内)
|
||||
proposedSnapshot Json @map("proposed_snapshot")
|
||||
/// 变更的字段名数组
|
||||
changedFields Json @map("changed_fields")
|
||||
submitterType StoreInfoChangeSubmitterType @map("submitter_type")
|
||||
submitterId BigInt @map("submitter_id") @db.UnsignedBigInt
|
||||
rejectReason String? @map("reject_reason") @db.VarChar(512)
|
||||
reviewedAt DateTime? @map("reviewed_at") @db.DateTime(3)
|
||||
reviewerId BigInt? @map("reviewer_id") @db.UnsignedBigInt
|
||||
createdAt DateTime @default(now()) @map("created_at") @db.DateTime(3)
|
||||
|
||||
store Store @relation(fields: [storeId], references: [id], onDelete: Cascade)
|
||||
|
||||
@@index([storeId, status])
|
||||
@@index([status, createdAt])
|
||||
@@map("store_info_change_request")
|
||||
}
|
||||
|
||||
model StoreAccount {
|
||||
id BigInt @id @default(autoincrement()) @db.UnsignedBigInt
|
||||
phone String @unique @db.VarChar(20)
|
||||
@@ -1495,6 +1555,7 @@ model Order {
|
||||
@@index([fulfillmentWarehouseId])
|
||||
@@index([proxyPartnerAccountId])
|
||||
@@index([isTest])
|
||||
@@index([status, payExpireAt])
|
||||
@@map("user_order")
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user