45 lines
2.2 KiB
Go
45 lines
2.2 KiB
Go
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" }
|