feat: add order governance flags and reconciliation
This commit is contained in:
@@ -44,6 +44,14 @@ func newOrder(db *gorm.DB, opts ...gen.DOOption) orderQuery {
|
||||
_orderQuery.CreatedAt = field.NewTime(tableName, "created_at")
|
||||
_orderQuery.UpdatedAt = field.NewTime(tableName, "updated_at")
|
||||
_orderQuery.CouponID = field.NewInt64(tableName, "coupon_id")
|
||||
_orderQuery.IsFlagged = field.NewBool(tableName, "is_flagged")
|
||||
_orderQuery.FlagReason = field.NewString(tableName, "flag_reason")
|
||||
_orderQuery.FlaggedBy = field.NewInt64(tableName, "flagged_by")
|
||||
_orderQuery.FlaggedAt = field.NewTime(tableName, "flagged_at")
|
||||
_orderQuery.IsReconciled = field.NewBool(tableName, "is_reconciled")
|
||||
_orderQuery.ReconcileNote = field.NewString(tableName, "reconcile_note")
|
||||
_orderQuery.ReconciledBy = field.NewInt64(tableName, "reconciled_by")
|
||||
_orderQuery.ReconciledAt = field.NewTime(tableName, "reconciled_at")
|
||||
|
||||
_orderQuery.fillFieldMap()
|
||||
|
||||
@@ -72,7 +80,15 @@ type orderQuery struct {
|
||||
RefundReason field.String
|
||||
CreatedAt field.Time
|
||||
UpdatedAt field.Time
|
||||
CouponID field.Int64 // 使用的优惠券ID (0表示未使用)
|
||||
CouponID field.Int64 // 使用的优惠券ID (0表示未使用)
|
||||
IsFlagged field.Bool // 问题订单标记;用途:运营标注需复核订单;默认 false。
|
||||
FlagReason field.String // 问题标记原因;用途:说明问题点与风险;默认空字符串。
|
||||
FlaggedBy field.Int64 // 问题标记操作者ID;用途:审计追踪;默认 0 表示未标记。
|
||||
FlaggedAt field.Time // 问题标记时间;用途:记录标记时效;未标记为空。
|
||||
IsReconciled field.Bool // 对账状态;用途:标识是否完成人工对账;默认 false。
|
||||
ReconcileNote field.String // 对账说明;用途:记录对账备注与结论;默认空字符串。
|
||||
ReconciledBy field.Int64 // 对账操作者ID;用途:审计追踪;默认 0 表示未对账。
|
||||
ReconciledAt field.Time // 对账时间;用途:记录完成对账时间;未对账为空。
|
||||
|
||||
fieldMap map[string]field.Expr
|
||||
}
|
||||
@@ -108,6 +124,14 @@ func (o *orderQuery) updateTableName(table string) *orderQuery {
|
||||
o.CreatedAt = field.NewTime(table, "created_at")
|
||||
o.UpdatedAt = field.NewTime(table, "updated_at")
|
||||
o.CouponID = field.NewInt64(table, "coupon_id")
|
||||
o.IsFlagged = field.NewBool(table, "is_flagged")
|
||||
o.FlagReason = field.NewString(table, "flag_reason")
|
||||
o.FlaggedBy = field.NewInt64(table, "flagged_by")
|
||||
o.FlaggedAt = field.NewTime(table, "flagged_at")
|
||||
o.IsReconciled = field.NewBool(table, "is_reconciled")
|
||||
o.ReconcileNote = field.NewString(table, "reconcile_note")
|
||||
o.ReconciledBy = field.NewInt64(table, "reconciled_by")
|
||||
o.ReconciledAt = field.NewTime(table, "reconciled_at")
|
||||
|
||||
o.fillFieldMap()
|
||||
|
||||
@@ -138,7 +162,7 @@ func (o *orderQuery) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
|
||||
}
|
||||
|
||||
func (o *orderQuery) fillFieldMap() {
|
||||
o.fieldMap = make(map[string]field.Expr, 19)
|
||||
o.fieldMap = make(map[string]field.Expr, 27)
|
||||
o.fieldMap["id"] = o.ID
|
||||
o.fieldMap["tenant_id"] = o.TenantID
|
||||
o.fieldMap["user_id"] = o.UserID
|
||||
@@ -158,6 +182,14 @@ func (o *orderQuery) fillFieldMap() {
|
||||
o.fieldMap["created_at"] = o.CreatedAt
|
||||
o.fieldMap["updated_at"] = o.UpdatedAt
|
||||
o.fieldMap["coupon_id"] = o.CouponID
|
||||
o.fieldMap["is_flagged"] = o.IsFlagged
|
||||
o.fieldMap["flag_reason"] = o.FlagReason
|
||||
o.fieldMap["flagged_by"] = o.FlaggedBy
|
||||
o.fieldMap["flagged_at"] = o.FlaggedAt
|
||||
o.fieldMap["is_reconciled"] = o.IsReconciled
|
||||
o.fieldMap["reconcile_note"] = o.ReconcileNote
|
||||
o.fieldMap["reconciled_by"] = o.ReconciledBy
|
||||
o.fieldMap["reconciled_at"] = o.ReconciledAt
|
||||
}
|
||||
|
||||
func (o orderQuery) clone(db *gorm.DB) orderQuery {
|
||||
|
||||
Reference in New Issue
Block a user