draft
This commit is contained in:
44
backend/internal/model/reconciliation.go
Normal file
44
backend/internal/model/reconciliation.go
Normal file
@@ -0,0 +1,44 @@
|
||||
package model
|
||||
|
||||
import "time"
|
||||
|
||||
// ReconciliationStatus 对账单状态
|
||||
type ReconciliationStatus string
|
||||
|
||||
const (
|
||||
ReconciliationStatusPending ReconciliationStatus = "PENDING"
|
||||
ReconciliationStatusMatched ReconciliationStatus = "MATCHED"
|
||||
ReconciliationStatusException ReconciliationStatus = "EXCEPTION"
|
||||
)
|
||||
|
||||
// ReconciliationReport 对账报告
|
||||
type ReconciliationReport struct {
|
||||
ID uint64 `gorm:"column:id;primaryKey;autoIncrement"`
|
||||
AppID string `gorm:"column:app_id;size:32;not null;index:idx_app_date"`
|
||||
ChannelCode string `gorm:"column:channel_code;size:32;not null"`
|
||||
BillDate string `gorm:"column:bill_date;size:10;not null;index:idx_app_date"` // yyyy-MM-dd
|
||||
TotalCount int `gorm:"column:total_count;not null;default:0"`
|
||||
TotalAmount int64 `gorm:"column:total_amount;not null;default:0"` // 分
|
||||
MatchedCount int `gorm:"column:matched_count;not null;default:0"`
|
||||
ExceptionCount int `gorm:"column:exception_count;not null;default:0"`
|
||||
Status ReconciliationStatus `gorm:"column:status;size:20;not null;default:PENDING"`
|
||||
CreatedAt time.Time `gorm:"column:created_at;autoCreateTime:milli"`
|
||||
UpdatedAt time.Time `gorm:"column:updated_at;autoUpdateTime:milli"`
|
||||
}
|
||||
|
||||
func (ReconciliationReport) TableName() string { return "reconciliation_report" }
|
||||
|
||||
// ReconciliationException 对账异常明细
|
||||
type ReconciliationException struct {
|
||||
ID uint64 `gorm:"column:id;primaryKey;autoIncrement"`
|
||||
ReportID uint64 `gorm:"column:report_id;not null;index"`
|
||||
TradeNo string `gorm:"column:trade_no;size:32;index"`
|
||||
ChannelBillNo string `gorm:"column:channel_bill_no;size:64"`
|
||||
ExceptionType string `gorm:"column:exception_type;size:32;not null"` // MISSING_LOCAL/MISSING_CHANNEL/AMOUNT_MISMATCH
|
||||
LocalAmount int64 `gorm:"column:local_amount"`
|
||||
ChannelAmount int64 `gorm:"column:channel_amount"`
|
||||
Remark string `gorm:"column:remark;size:256"`
|
||||
CreatedAt time.Time `gorm:"column:created_at;autoCreateTime:milli"`
|
||||
}
|
||||
|
||||
func (ReconciliationException) TableName() string { return "reconciliation_exception" }
|
||||
Reference in New Issue
Block a user