借款出借人线上确认借款并以站内通知直达(09-17-company-loan-principal-repayment)
- 新增出借人确认声明:财务发起,出借人本人查看原件后确认或退回;快照与决定不可改删,金额、日期、原件或身份变化后整组失效 - 余额确认接受纸质协议或有效线上声明二选一,代账余额核对材料仍必需;声明与公司代表授权分离 - 普通员工无常驻入口,财务发起后仅通知对应出借人并直达确认页 - 新增迁移 20261010010000_loan_lender_acknowledgements(仅新增三表) - 测试:单测、隔离 HTTP/浏览器、完整借款回归;独立只读复核无阻断;同步发布记录与操作手册 Co-Authored-By: Claude Opus 5.5 <[email protected]>
这个提交包含在:
@@ -3935,6 +3935,60 @@ model LoanRelatedAuthorizationEvent {
|
||||
@@map("loan_related_authorization_events")
|
||||
}
|
||||
|
||||
model LoanLenderAcknowledgement {
|
||||
id String @id @default(uuid()) @db.Uuid
|
||||
legal_entity_id String @db.Uuid
|
||||
lender_id String @db.Uuid
|
||||
employee_id String @db.Uuid
|
||||
identity_version Int
|
||||
account_version Int
|
||||
lender_name String @db.VarChar(120)
|
||||
company_name String @db.VarChar(200)
|
||||
loan_ids String[] @db.Uuid
|
||||
content_hash String @db.VarChar(64)
|
||||
request_hash String @db.VarChar(64)
|
||||
reason String @db.VarChar(500)
|
||||
proposed_by String @db.Uuid
|
||||
proposed_at DateTime @default(now())
|
||||
request_key String @db.Uuid
|
||||
invalidated_at DateTime?
|
||||
invalid_reason String? @db.VarChar(40)
|
||||
|
||||
loans LoanLenderAcknowledgementLoan[]
|
||||
decision LoanLenderAcknowledgementDecision?
|
||||
|
||||
@@unique([proposed_by, request_key])
|
||||
@@index([employee_id, proposed_at])
|
||||
@@index([lender_id, proposed_at])
|
||||
@@map("loan_lender_acknowledgements")
|
||||
}
|
||||
|
||||
model LoanLenderAcknowledgementLoan {
|
||||
acknowledgement_id String @db.Uuid
|
||||
loan_id String @db.Uuid
|
||||
snapshot_json Json
|
||||
|
||||
acknowledgement LoanLenderAcknowledgement @relation(fields: [acknowledgement_id], references: [id], onDelete: Restrict)
|
||||
loan CompanyLoan @relation(fields: [loan_id], references: [id], onDelete: Restrict)
|
||||
|
||||
@@id([acknowledgement_id, loan_id])
|
||||
@@index([loan_id])
|
||||
@@map("loan_lender_acknowledgement_loans")
|
||||
}
|
||||
|
||||
model LoanLenderAcknowledgementDecision {
|
||||
acknowledgement_id String @id @db.Uuid
|
||||
action String @db.VarChar(16)
|
||||
actor_id String @db.Uuid
|
||||
reason String @db.VarChar(500)
|
||||
original_checked Boolean
|
||||
created_at DateTime @default(now())
|
||||
|
||||
acknowledgement LoanLenderAcknowledgement @relation(fields: [acknowledgement_id], references: [id], onDelete: Restrict)
|
||||
|
||||
@@map("loan_lender_acknowledgement_decisions")
|
||||
}
|
||||
|
||||
model LoanLender {
|
||||
id String @id @default(uuid()) @db.Uuid
|
||||
legal_entity_id String @db.Uuid
|
||||
@@ -3998,6 +4052,7 @@ model CompanyLoan {
|
||||
evidences LoanEvidence[]
|
||||
|
||||
supplemental_settlements LoanSupplementalSettlement[]
|
||||
lender_acknowledgements LoanLenderAcknowledgementLoan[]
|
||||
|
||||
@@unique([created_by, request_key])
|
||||
@@unique([legal_entity_id, lender_id, origin_reference])
|
||||
|
||||
在新工单中引用
屏蔽一个用户