feat: add payment order provider snapshots

This commit is contained in:
IanShaw027
2026-04-21 12:41:27 +08:00
parent 440536a93d
commit 561405ab00
14 changed files with 440 additions and 23 deletions

View File

@@ -15386,6 +15386,7 @@ type PaymentOrderMutation struct {
addsubscription_days *int
provider_instance_id *string
provider_key *string
provider_snapshot *map[string]interface{}
status *string
refund_amount *float64
addrefund_amount *float64
@@ -16471,6 +16472,55 @@ func (m *PaymentOrderMutation) ResetProviderKey() {
delete(m.clearedFields, paymentorder.FieldProviderKey)
}
// SetProviderSnapshot sets the "provider_snapshot" field.
func (m *PaymentOrderMutation) SetProviderSnapshot(value map[string]interface{}) {
m.provider_snapshot = &value
}
// ProviderSnapshot returns the value of the "provider_snapshot" field in the mutation.
func (m *PaymentOrderMutation) ProviderSnapshot() (r map[string]interface{}, exists bool) {
v := m.provider_snapshot
if v == nil {
return
}
return *v, true
}
// OldProviderSnapshot returns the old "provider_snapshot" field's value of the PaymentOrder entity.
// If the PaymentOrder object wasn't provided to the builder, the object is fetched from the database.
// An error is returned if the mutation operation is not UpdateOne, or the database query fails.
func (m *PaymentOrderMutation) OldProviderSnapshot(ctx context.Context) (v map[string]interface{}, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldProviderSnapshot is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldProviderSnapshot requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldProviderSnapshot: %w", err)
}
return oldValue.ProviderSnapshot, nil
}
// ClearProviderSnapshot clears the value of the "provider_snapshot" field.
func (m *PaymentOrderMutation) ClearProviderSnapshot() {
m.provider_snapshot = nil
m.clearedFields[paymentorder.FieldProviderSnapshot] = struct{}{}
}
// ProviderSnapshotCleared returns if the "provider_snapshot" field was cleared in this mutation.
func (m *PaymentOrderMutation) ProviderSnapshotCleared() bool {
_, ok := m.clearedFields[paymentorder.FieldProviderSnapshot]
return ok
}
// ResetProviderSnapshot resets all changes to the "provider_snapshot" field.
func (m *PaymentOrderMutation) ResetProviderSnapshot() {
m.provider_snapshot = nil
delete(m.clearedFields, paymentorder.FieldProviderSnapshot)
}
// SetStatus sets the "status" field.
func (m *PaymentOrderMutation) SetStatus(s string) {
m.status = &s
@@ -17330,7 +17380,7 @@ func (m *PaymentOrderMutation) Type() string {
// order to get all numeric fields that were incremented/decremented, call
// AddedFields().
func (m *PaymentOrderMutation) Fields() []string {
fields := make([]string, 0, 38)
fields := make([]string, 0, 39)
if m.user != nil {
fields = append(fields, paymentorder.FieldUserID)
}
@@ -17391,6 +17441,9 @@ func (m *PaymentOrderMutation) Fields() []string {
if m.provider_key != nil {
fields = append(fields, paymentorder.FieldProviderKey)
}
if m.provider_snapshot != nil {
fields = append(fields, paymentorder.FieldProviderSnapshot)
}
if m.status != nil {
fields = append(fields, paymentorder.FieldStatus)
}
@@ -17493,6 +17546,8 @@ func (m *PaymentOrderMutation) Field(name string) (ent.Value, bool) {
return m.ProviderInstanceID()
case paymentorder.FieldProviderKey:
return m.ProviderKey()
case paymentorder.FieldProviderSnapshot:
return m.ProviderSnapshot()
case paymentorder.FieldStatus:
return m.Status()
case paymentorder.FieldRefundAmount:
@@ -17578,6 +17633,8 @@ func (m *PaymentOrderMutation) OldField(ctx context.Context, name string) (ent.V
return m.OldProviderInstanceID(ctx)
case paymentorder.FieldProviderKey:
return m.OldProviderKey(ctx)
case paymentorder.FieldProviderSnapshot:
return m.OldProviderSnapshot(ctx)
case paymentorder.FieldStatus:
return m.OldStatus(ctx)
case paymentorder.FieldRefundAmount:
@@ -17763,6 +17820,13 @@ func (m *PaymentOrderMutation) SetField(name string, value ent.Value) error {
}
m.SetProviderKey(v)
return nil
case paymentorder.FieldProviderSnapshot:
v, ok := value.(map[string]interface{})
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetProviderSnapshot(v)
return nil
case paymentorder.FieldStatus:
v, ok := value.(string)
if !ok {
@@ -18033,6 +18097,9 @@ func (m *PaymentOrderMutation) ClearedFields() []string {
if m.FieldCleared(paymentorder.FieldProviderKey) {
fields = append(fields, paymentorder.FieldProviderKey)
}
if m.FieldCleared(paymentorder.FieldProviderSnapshot) {
fields = append(fields, paymentorder.FieldProviderSnapshot)
}
if m.FieldCleared(paymentorder.FieldRefundReason) {
fields = append(fields, paymentorder.FieldRefundReason)
}
@@ -18104,6 +18171,9 @@ func (m *PaymentOrderMutation) ClearField(name string) error {
case paymentorder.FieldProviderKey:
m.ClearProviderKey()
return nil
case paymentorder.FieldProviderSnapshot:
m.ClearProviderSnapshot()
return nil
case paymentorder.FieldRefundReason:
m.ClearRefundReason()
return nil
@@ -18202,6 +18272,9 @@ func (m *PaymentOrderMutation) ResetField(name string) error {
case paymentorder.FieldProviderKey:
m.ResetProviderKey()
return nil
case paymentorder.FieldProviderSnapshot:
m.ResetProviderSnapshot()
return nil
case paymentorder.FieldStatus:
m.ResetStatus()
return nil