mingyang-admin-pay/rpc/ent/payorder_update.go

1811 lines
54 KiB
Go

// Code generated by ent, DO NOT EDIT.
package ent
import (
"context"
"errors"
"fmt"
"mingyang-admin-pay/rpc/ent/paychannel"
"mingyang-admin-pay/rpc/ent/paynotifytask"
"mingyang-admin-pay/rpc/ent/payorder"
"mingyang-admin-pay/rpc/ent/payorderextension"
"mingyang-admin-pay/rpc/ent/payrefund"
"mingyang-admin-pay/rpc/ent/predicate"
"time"
"entgo.io/ent/dialect/sql"
"entgo.io/ent/dialect/sql/sqlgraph"
"entgo.io/ent/schema/field"
)
// PayOrderUpdate is the builder for updating PayOrder entities.
type PayOrderUpdate struct {
config
hooks []Hook
mutation *PayOrderMutation
}
// Where appends a list predicates to the PayOrderUpdate builder.
func (_u *PayOrderUpdate) Where(ps ...predicate.PayOrder) *PayOrderUpdate {
_u.mutation.Where(ps...)
return _u
}
// SetUpdatedAt sets the "updated_at" field.
func (_u *PayOrderUpdate) SetUpdatedAt(v time.Time) *PayOrderUpdate {
_u.mutation.SetUpdatedAt(v)
return _u
}
// SetStatus sets the "status" field.
func (_u *PayOrderUpdate) SetStatus(v uint8) *PayOrderUpdate {
_u.mutation.ResetStatus()
_u.mutation.SetStatus(v)
return _u
}
// SetNillableStatus sets the "status" field if the given value is not nil.
func (_u *PayOrderUpdate) SetNillableStatus(v *uint8) *PayOrderUpdate {
if v != nil {
_u.SetStatus(*v)
}
return _u
}
// AddStatus adds value to the "status" field.
func (_u *PayOrderUpdate) AddStatus(v int8) *PayOrderUpdate {
_u.mutation.AddStatus(v)
return _u
}
// ClearStatus clears the value of the "status" field.
func (_u *PayOrderUpdate) ClearStatus() *PayOrderUpdate {
_u.mutation.ClearStatus()
return _u
}
// SetDeletedAt sets the "deleted_at" field.
func (_u *PayOrderUpdate) SetDeletedAt(v time.Time) *PayOrderUpdate {
_u.mutation.SetDeletedAt(v)
return _u
}
// SetNillableDeletedAt sets the "deleted_at" field if the given value is not nil.
func (_u *PayOrderUpdate) SetNillableDeletedAt(v *time.Time) *PayOrderUpdate {
if v != nil {
_u.SetDeletedAt(*v)
}
return _u
}
// ClearDeletedAt clears the value of the "deleted_at" field.
func (_u *PayOrderUpdate) ClearDeletedAt() *PayOrderUpdate {
_u.mutation.ClearDeletedAt()
return _u
}
// SetChannelID sets the "channel_id" field.
func (_u *PayOrderUpdate) SetChannelID(v uint64) *PayOrderUpdate {
_u.mutation.SetChannelID(v)
return _u
}
// SetNillableChannelID sets the "channel_id" field if the given value is not nil.
func (_u *PayOrderUpdate) SetNillableChannelID(v *uint64) *PayOrderUpdate {
if v != nil {
_u.SetChannelID(*v)
}
return _u
}
// SetUserID sets the "user_id" field.
func (_u *PayOrderUpdate) SetUserID(v uint64) *PayOrderUpdate {
_u.mutation.ResetUserID()
_u.mutation.SetUserID(v)
return _u
}
// SetNillableUserID sets the "user_id" field if the given value is not nil.
func (_u *PayOrderUpdate) SetNillableUserID(v *uint64) *PayOrderUpdate {
if v != nil {
_u.SetUserID(*v)
}
return _u
}
// AddUserID adds value to the "user_id" field.
func (_u *PayOrderUpdate) AddUserID(v int64) *PayOrderUpdate {
_u.mutation.AddUserID(v)
return _u
}
// SetSubject sets the "subject" field.
func (_u *PayOrderUpdate) SetSubject(v string) *PayOrderUpdate {
_u.mutation.SetSubject(v)
return _u
}
// SetNillableSubject sets the "subject" field if the given value is not nil.
func (_u *PayOrderUpdate) SetNillableSubject(v *string) *PayOrderUpdate {
if v != nil {
_u.SetSubject(*v)
}
return _u
}
// SetBody sets the "body" field.
func (_u *PayOrderUpdate) SetBody(v string) *PayOrderUpdate {
_u.mutation.SetBody(v)
return _u
}
// SetNillableBody sets the "body" field if the given value is not nil.
func (_u *PayOrderUpdate) SetNillableBody(v *string) *PayOrderUpdate {
if v != nil {
_u.SetBody(*v)
}
return _u
}
// SetNotifyURL sets the "notify_url" field.
func (_u *PayOrderUpdate) SetNotifyURL(v string) *PayOrderUpdate {
_u.mutation.SetNotifyURL(v)
return _u
}
// SetNillableNotifyURL sets the "notify_url" field if the given value is not nil.
func (_u *PayOrderUpdate) SetNillableNotifyURL(v *string) *PayOrderUpdate {
if v != nil {
_u.SetNotifyURL(*v)
}
return _u
}
// SetAmount sets the "amount" field.
func (_u *PayOrderUpdate) SetAmount(v uint64) *PayOrderUpdate {
_u.mutation.ResetAmount()
_u.mutation.SetAmount(v)
return _u
}
// SetNillableAmount sets the "amount" field if the given value is not nil.
func (_u *PayOrderUpdate) SetNillableAmount(v *uint64) *PayOrderUpdate {
if v != nil {
_u.SetAmount(*v)
}
return _u
}
// AddAmount adds value to the "amount" field.
func (_u *PayOrderUpdate) AddAmount(v int64) *PayOrderUpdate {
_u.mutation.AddAmount(v)
return _u
}
// SetPaySource sets the "pay_source" field.
func (_u *PayOrderUpdate) SetPaySource(v string) *PayOrderUpdate {
_u.mutation.SetPaySource(v)
return _u
}
// SetNillablePaySource sets the "pay_source" field if the given value is not nil.
func (_u *PayOrderUpdate) SetNillablePaySource(v *string) *PayOrderUpdate {
if v != nil {
_u.SetPaySource(*v)
}
return _u
}
// ClearPaySource clears the value of the "pay_source" field.
func (_u *PayOrderUpdate) ClearPaySource() *PayOrderUpdate {
_u.mutation.ClearPaySource()
return _u
}
// SetChannelFeeRate sets the "channel_fee_rate" field.
func (_u *PayOrderUpdate) SetChannelFeeRate(v string) *PayOrderUpdate {
_u.mutation.SetChannelFeeRate(v)
return _u
}
// SetNillableChannelFeeRate sets the "channel_fee_rate" field if the given value is not nil.
func (_u *PayOrderUpdate) SetNillableChannelFeeRate(v *string) *PayOrderUpdate {
if v != nil {
_u.SetChannelFeeRate(*v)
}
return _u
}
// SetChannelFee sets the "channel_fee" field.
func (_u *PayOrderUpdate) SetChannelFee(v uint64) *PayOrderUpdate {
_u.mutation.ResetChannelFee()
_u.mutation.SetChannelFee(v)
return _u
}
// SetNillableChannelFee sets the "channel_fee" field if the given value is not nil.
func (_u *PayOrderUpdate) SetNillableChannelFee(v *uint64) *PayOrderUpdate {
if v != nil {
_u.SetChannelFee(*v)
}
return _u
}
// AddChannelFee adds value to the "channel_fee" field.
func (_u *PayOrderUpdate) AddChannelFee(v int64) *PayOrderUpdate {
_u.mutation.AddChannelFee(v)
return _u
}
// SetOrderStatus sets the "order_status" field.
func (_u *PayOrderUpdate) SetOrderStatus(v string) *PayOrderUpdate {
_u.mutation.SetOrderStatus(v)
return _u
}
// SetNillableOrderStatus sets the "order_status" field if the given value is not nil.
func (_u *PayOrderUpdate) SetNillableOrderStatus(v *string) *PayOrderUpdate {
if v != nil {
_u.SetOrderStatus(*v)
}
return _u
}
// SetUserIP sets the "user_ip" field.
func (_u *PayOrderUpdate) SetUserIP(v string) *PayOrderUpdate {
_u.mutation.SetUserIP(v)
return _u
}
// SetNillableUserIP sets the "user_ip" field if the given value is not nil.
func (_u *PayOrderUpdate) SetNillableUserIP(v *string) *PayOrderUpdate {
if v != nil {
_u.SetUserIP(*v)
}
return _u
}
// ClearUserIP clears the value of the "user_ip" field.
func (_u *PayOrderUpdate) ClearUserIP() *PayOrderUpdate {
_u.mutation.ClearUserIP()
return _u
}
// SetExpireTime sets the "expire_time" field.
func (_u *PayOrderUpdate) SetExpireTime(v time.Time) *PayOrderUpdate {
_u.mutation.SetExpireTime(v)
return _u
}
// SetNillableExpireTime sets the "expire_time" field if the given value is not nil.
func (_u *PayOrderUpdate) SetNillableExpireTime(v *time.Time) *PayOrderUpdate {
if v != nil {
_u.SetExpireTime(*v)
}
return _u
}
// SetPayNo sets the "pay_no" field.
func (_u *PayOrderUpdate) SetPayNo(v string) *PayOrderUpdate {
_u.mutation.SetPayNo(v)
return _u
}
// SetNillablePayNo sets the "pay_no" field if the given value is not nil.
func (_u *PayOrderUpdate) SetNillablePayNo(v *string) *PayOrderUpdate {
if v != nil {
_u.SetPayNo(*v)
}
return _u
}
// SetSuccessTime sets the "success_time" field.
func (_u *PayOrderUpdate) SetSuccessTime(v time.Time) *PayOrderUpdate {
_u.mutation.SetSuccessTime(v)
return _u
}
// SetNillableSuccessTime sets the "success_time" field if the given value is not nil.
func (_u *PayOrderUpdate) SetNillableSuccessTime(v *time.Time) *PayOrderUpdate {
if v != nil {
_u.SetSuccessTime(*v)
}
return _u
}
// SetExtensionID sets the "extension_id" field.
func (_u *PayOrderUpdate) SetExtensionID(v uint64) *PayOrderUpdate {
_u.mutation.ResetExtensionID()
_u.mutation.SetExtensionID(v)
return _u
}
// SetNillableExtensionID sets the "extension_id" field if the given value is not nil.
func (_u *PayOrderUpdate) SetNillableExtensionID(v *uint64) *PayOrderUpdate {
if v != nil {
_u.SetExtensionID(*v)
}
return _u
}
// AddExtensionID adds value to the "extension_id" field.
func (_u *PayOrderUpdate) AddExtensionID(v int64) *PayOrderUpdate {
_u.mutation.AddExtensionID(v)
return _u
}
// ClearExtensionID clears the value of the "extension_id" field.
func (_u *PayOrderUpdate) ClearExtensionID() *PayOrderUpdate {
_u.mutation.ClearExtensionID()
return _u
}
// SetTransactionID sets the "transaction_id" field.
func (_u *PayOrderUpdate) SetTransactionID(v string) *PayOrderUpdate {
_u.mutation.SetTransactionID(v)
return _u
}
// SetNillableTransactionID sets the "transaction_id" field if the given value is not nil.
func (_u *PayOrderUpdate) SetNillableTransactionID(v *string) *PayOrderUpdate {
if v != nil {
_u.SetTransactionID(*v)
}
return _u
}
// ClearTransactionID clears the value of the "transaction_id" field.
func (_u *PayOrderUpdate) ClearTransactionID() *PayOrderUpdate {
_u.mutation.ClearTransactionID()
return _u
}
// SetCurrency sets the "currency" field.
func (_u *PayOrderUpdate) SetCurrency(v string) *PayOrderUpdate {
_u.mutation.SetCurrency(v)
return _u
}
// SetNillableCurrency sets the "currency" field if the given value is not nil.
func (_u *PayOrderUpdate) SetNillableCurrency(v *string) *PayOrderUpdate {
if v != nil {
_u.SetCurrency(*v)
}
return _u
}
// SetRefundPrice sets the "refund_price" field.
func (_u *PayOrderUpdate) SetRefundPrice(v uint64) *PayOrderUpdate {
_u.mutation.ResetRefundPrice()
_u.mutation.SetRefundPrice(v)
return _u
}
// SetNillableRefundPrice sets the "refund_price" field if the given value is not nil.
func (_u *PayOrderUpdate) SetNillableRefundPrice(v *uint64) *PayOrderUpdate {
if v != nil {
_u.SetRefundPrice(*v)
}
return _u
}
// AddRefundPrice adds value to the "refund_price" field.
func (_u *PayOrderUpdate) AddRefundPrice(v int64) *PayOrderUpdate {
_u.mutation.AddRefundPrice(v)
return _u
}
// SetChannelOrderNo sets the "channel_order_no" field.
func (_u *PayOrderUpdate) SetChannelOrderNo(v string) *PayOrderUpdate {
_u.mutation.SetChannelOrderNo(v)
return _u
}
// SetNillableChannelOrderNo sets the "channel_order_no" field if the given value is not nil.
func (_u *PayOrderUpdate) SetNillableChannelOrderNo(v *string) *PayOrderUpdate {
if v != nil {
_u.SetChannelOrderNo(*v)
}
return _u
}
// ClearChannelOrderNo clears the value of the "channel_order_no" field.
func (_u *PayOrderUpdate) ClearChannelOrderNo() *PayOrderUpdate {
_u.mutation.ClearChannelOrderNo()
return _u
}
// SetChannelUserID sets the "channel_user_id" field.
func (_u *PayOrderUpdate) SetChannelUserID(v string) *PayOrderUpdate {
_u.mutation.SetChannelUserID(v)
return _u
}
// SetNillableChannelUserID sets the "channel_user_id" field if the given value is not nil.
func (_u *PayOrderUpdate) SetNillableChannelUserID(v *string) *PayOrderUpdate {
if v != nil {
_u.SetChannelUserID(*v)
}
return _u
}
// ClearChannelUserID clears the value of the "channel_user_id" field.
func (_u *PayOrderUpdate) ClearChannelUserID() *PayOrderUpdate {
_u.mutation.ClearChannelUserID()
return _u
}
// SetChannel sets the "channel" edge to the PayChannel entity.
func (_u *PayOrderUpdate) SetChannel(v *PayChannel) *PayOrderUpdate {
return _u.SetChannelID(v.ID)
}
// AddOrdersExtensionIDs adds the "orders_extension" edge to the PayOrderExtension entity by IDs.
func (_u *PayOrderUpdate) AddOrdersExtensionIDs(ids ...uint64) *PayOrderUpdate {
_u.mutation.AddOrdersExtensionIDs(ids...)
return _u
}
// AddOrdersExtension adds the "orders_extension" edges to the PayOrderExtension entity.
func (_u *PayOrderUpdate) AddOrdersExtension(v ...*PayOrderExtension) *PayOrderUpdate {
ids := make([]uint64, len(v))
for i := range v {
ids[i] = v[i].ID
}
return _u.AddOrdersExtensionIDs(ids...)
}
// AddNotifyTaskIDs adds the "notify_task" edge to the PayNotifyTask entity by IDs.
func (_u *PayOrderUpdate) AddNotifyTaskIDs(ids ...uint64) *PayOrderUpdate {
_u.mutation.AddNotifyTaskIDs(ids...)
return _u
}
// AddNotifyTask adds the "notify_task" edges to the PayNotifyTask entity.
func (_u *PayOrderUpdate) AddNotifyTask(v ...*PayNotifyTask) *PayOrderUpdate {
ids := make([]uint64, len(v))
for i := range v {
ids[i] = v[i].ID
}
return _u.AddNotifyTaskIDs(ids...)
}
// AddRefundIDs adds the "refund" edge to the PayRefund entity by IDs.
func (_u *PayOrderUpdate) AddRefundIDs(ids ...uint64) *PayOrderUpdate {
_u.mutation.AddRefundIDs(ids...)
return _u
}
// AddRefund adds the "refund" edges to the PayRefund entity.
func (_u *PayOrderUpdate) AddRefund(v ...*PayRefund) *PayOrderUpdate {
ids := make([]uint64, len(v))
for i := range v {
ids[i] = v[i].ID
}
return _u.AddRefundIDs(ids...)
}
// Mutation returns the PayOrderMutation object of the builder.
func (_u *PayOrderUpdate) Mutation() *PayOrderMutation {
return _u.mutation
}
// ClearChannel clears the "channel" edge to the PayChannel entity.
func (_u *PayOrderUpdate) ClearChannel() *PayOrderUpdate {
_u.mutation.ClearChannel()
return _u
}
// ClearOrdersExtension clears all "orders_extension" edges to the PayOrderExtension entity.
func (_u *PayOrderUpdate) ClearOrdersExtension() *PayOrderUpdate {
_u.mutation.ClearOrdersExtension()
return _u
}
// RemoveOrdersExtensionIDs removes the "orders_extension" edge to PayOrderExtension entities by IDs.
func (_u *PayOrderUpdate) RemoveOrdersExtensionIDs(ids ...uint64) *PayOrderUpdate {
_u.mutation.RemoveOrdersExtensionIDs(ids...)
return _u
}
// RemoveOrdersExtension removes "orders_extension" edges to PayOrderExtension entities.
func (_u *PayOrderUpdate) RemoveOrdersExtension(v ...*PayOrderExtension) *PayOrderUpdate {
ids := make([]uint64, len(v))
for i := range v {
ids[i] = v[i].ID
}
return _u.RemoveOrdersExtensionIDs(ids...)
}
// ClearNotifyTask clears all "notify_task" edges to the PayNotifyTask entity.
func (_u *PayOrderUpdate) ClearNotifyTask() *PayOrderUpdate {
_u.mutation.ClearNotifyTask()
return _u
}
// RemoveNotifyTaskIDs removes the "notify_task" edge to PayNotifyTask entities by IDs.
func (_u *PayOrderUpdate) RemoveNotifyTaskIDs(ids ...uint64) *PayOrderUpdate {
_u.mutation.RemoveNotifyTaskIDs(ids...)
return _u
}
// RemoveNotifyTask removes "notify_task" edges to PayNotifyTask entities.
func (_u *PayOrderUpdate) RemoveNotifyTask(v ...*PayNotifyTask) *PayOrderUpdate {
ids := make([]uint64, len(v))
for i := range v {
ids[i] = v[i].ID
}
return _u.RemoveNotifyTaskIDs(ids...)
}
// ClearRefund clears all "refund" edges to the PayRefund entity.
func (_u *PayOrderUpdate) ClearRefund() *PayOrderUpdate {
_u.mutation.ClearRefund()
return _u
}
// RemoveRefundIDs removes the "refund" edge to PayRefund entities by IDs.
func (_u *PayOrderUpdate) RemoveRefundIDs(ids ...uint64) *PayOrderUpdate {
_u.mutation.RemoveRefundIDs(ids...)
return _u
}
// RemoveRefund removes "refund" edges to PayRefund entities.
func (_u *PayOrderUpdate) RemoveRefund(v ...*PayRefund) *PayOrderUpdate {
ids := make([]uint64, len(v))
for i := range v {
ids[i] = v[i].ID
}
return _u.RemoveRefundIDs(ids...)
}
// Save executes the query and returns the number of nodes affected by the update operation.
func (_u *PayOrderUpdate) Save(ctx context.Context) (int, error) {
_u.defaults()
return withHooks(ctx, _u.sqlSave, _u.mutation, _u.hooks)
}
// SaveX is like Save, but panics if an error occurs.
func (_u *PayOrderUpdate) SaveX(ctx context.Context) int {
affected, err := _u.Save(ctx)
if err != nil {
panic(err)
}
return affected
}
// Exec executes the query.
func (_u *PayOrderUpdate) Exec(ctx context.Context) error {
_, err := _u.Save(ctx)
return err
}
// ExecX is like Exec, but panics if an error occurs.
func (_u *PayOrderUpdate) ExecX(ctx context.Context) {
if err := _u.Exec(ctx); err != nil {
panic(err)
}
}
// defaults sets the default values of the builder before save.
func (_u *PayOrderUpdate) defaults() {
if _, ok := _u.mutation.UpdatedAt(); !ok {
v := payorder.UpdateDefaultUpdatedAt()
_u.mutation.SetUpdatedAt(v)
}
}
// check runs all checks and user-defined validators on the builder.
func (_u *PayOrderUpdate) check() error {
if _u.mutation.ChannelCleared() && len(_u.mutation.ChannelIDs()) > 0 {
return errors.New(`ent: clearing a required unique edge "PayOrder.channel"`)
}
return nil
}
func (_u *PayOrderUpdate) sqlSave(ctx context.Context) (_node int, err error) {
if err := _u.check(); err != nil {
return _node, err
}
_spec := sqlgraph.NewUpdateSpec(payorder.Table, payorder.Columns, sqlgraph.NewFieldSpec(payorder.FieldID, field.TypeUint64))
if ps := _u.mutation.predicates; len(ps) > 0 {
_spec.Predicate = func(selector *sql.Selector) {
for i := range ps {
ps[i](selector)
}
}
}
if value, ok := _u.mutation.UpdatedAt(); ok {
_spec.SetField(payorder.FieldUpdatedAt, field.TypeTime, value)
}
if value, ok := _u.mutation.Status(); ok {
_spec.SetField(payorder.FieldStatus, field.TypeUint8, value)
}
if value, ok := _u.mutation.AddedStatus(); ok {
_spec.AddField(payorder.FieldStatus, field.TypeUint8, value)
}
if _u.mutation.StatusCleared() {
_spec.ClearField(payorder.FieldStatus, field.TypeUint8)
}
if value, ok := _u.mutation.DeletedAt(); ok {
_spec.SetField(payorder.FieldDeletedAt, field.TypeTime, value)
}
if _u.mutation.DeletedAtCleared() {
_spec.ClearField(payorder.FieldDeletedAt, field.TypeTime)
}
if value, ok := _u.mutation.UserID(); ok {
_spec.SetField(payorder.FieldUserID, field.TypeUint64, value)
}
if value, ok := _u.mutation.AddedUserID(); ok {
_spec.AddField(payorder.FieldUserID, field.TypeUint64, value)
}
if value, ok := _u.mutation.Subject(); ok {
_spec.SetField(payorder.FieldSubject, field.TypeString, value)
}
if value, ok := _u.mutation.Body(); ok {
_spec.SetField(payorder.FieldBody, field.TypeString, value)
}
if value, ok := _u.mutation.NotifyURL(); ok {
_spec.SetField(payorder.FieldNotifyURL, field.TypeString, value)
}
if value, ok := _u.mutation.Amount(); ok {
_spec.SetField(payorder.FieldAmount, field.TypeUint64, value)
}
if value, ok := _u.mutation.AddedAmount(); ok {
_spec.AddField(payorder.FieldAmount, field.TypeUint64, value)
}
if value, ok := _u.mutation.PaySource(); ok {
_spec.SetField(payorder.FieldPaySource, field.TypeString, value)
}
if _u.mutation.PaySourceCleared() {
_spec.ClearField(payorder.FieldPaySource, field.TypeString)
}
if value, ok := _u.mutation.ChannelFeeRate(); ok {
_spec.SetField(payorder.FieldChannelFeeRate, field.TypeString, value)
}
if value, ok := _u.mutation.ChannelFee(); ok {
_spec.SetField(payorder.FieldChannelFee, field.TypeUint64, value)
}
if value, ok := _u.mutation.AddedChannelFee(); ok {
_spec.AddField(payorder.FieldChannelFee, field.TypeUint64, value)
}
if value, ok := _u.mutation.OrderStatus(); ok {
_spec.SetField(payorder.FieldOrderStatus, field.TypeString, value)
}
if value, ok := _u.mutation.UserIP(); ok {
_spec.SetField(payorder.FieldUserIP, field.TypeString, value)
}
if _u.mutation.UserIPCleared() {
_spec.ClearField(payorder.FieldUserIP, field.TypeString)
}
if value, ok := _u.mutation.ExpireTime(); ok {
_spec.SetField(payorder.FieldExpireTime, field.TypeTime, value)
}
if value, ok := _u.mutation.PayNo(); ok {
_spec.SetField(payorder.FieldPayNo, field.TypeString, value)
}
if value, ok := _u.mutation.SuccessTime(); ok {
_spec.SetField(payorder.FieldSuccessTime, field.TypeTime, value)
}
if value, ok := _u.mutation.ExtensionID(); ok {
_spec.SetField(payorder.FieldExtensionID, field.TypeUint64, value)
}
if value, ok := _u.mutation.AddedExtensionID(); ok {
_spec.AddField(payorder.FieldExtensionID, field.TypeUint64, value)
}
if _u.mutation.ExtensionIDCleared() {
_spec.ClearField(payorder.FieldExtensionID, field.TypeUint64)
}
if value, ok := _u.mutation.TransactionID(); ok {
_spec.SetField(payorder.FieldTransactionID, field.TypeString, value)
}
if _u.mutation.TransactionIDCleared() {
_spec.ClearField(payorder.FieldTransactionID, field.TypeString)
}
if value, ok := _u.mutation.Currency(); ok {
_spec.SetField(payorder.FieldCurrency, field.TypeString, value)
}
if value, ok := _u.mutation.RefundPrice(); ok {
_spec.SetField(payorder.FieldRefundPrice, field.TypeUint64, value)
}
if value, ok := _u.mutation.AddedRefundPrice(); ok {
_spec.AddField(payorder.FieldRefundPrice, field.TypeUint64, value)
}
if value, ok := _u.mutation.ChannelOrderNo(); ok {
_spec.SetField(payorder.FieldChannelOrderNo, field.TypeString, value)
}
if _u.mutation.ChannelOrderNoCleared() {
_spec.ClearField(payorder.FieldChannelOrderNo, field.TypeString)
}
if value, ok := _u.mutation.ChannelUserID(); ok {
_spec.SetField(payorder.FieldChannelUserID, field.TypeString, value)
}
if _u.mutation.ChannelUserIDCleared() {
_spec.ClearField(payorder.FieldChannelUserID, field.TypeString)
}
if _u.mutation.ChannelCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.M2O,
Inverse: false,
Table: payorder.ChannelTable,
Columns: []string{payorder.ChannelColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(paychannel.FieldID, field.TypeUint64),
},
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := _u.mutation.ChannelIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.M2O,
Inverse: false,
Table: payorder.ChannelTable,
Columns: []string{payorder.ChannelColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(paychannel.FieldID, field.TypeUint64),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Add = append(_spec.Edges.Add, edge)
}
if _u.mutation.OrdersExtensionCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: true,
Table: payorder.OrdersExtensionTable,
Columns: []string{payorder.OrdersExtensionColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(payorderextension.FieldID, field.TypeUint64),
},
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := _u.mutation.RemovedOrdersExtensionIDs(); len(nodes) > 0 && !_u.mutation.OrdersExtensionCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: true,
Table: payorder.OrdersExtensionTable,
Columns: []string{payorder.OrdersExtensionColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(payorderextension.FieldID, field.TypeUint64),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := _u.mutation.OrdersExtensionIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: true,
Table: payorder.OrdersExtensionTable,
Columns: []string{payorder.OrdersExtensionColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(payorderextension.FieldID, field.TypeUint64),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Add = append(_spec.Edges.Add, edge)
}
if _u.mutation.NotifyTaskCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: true,
Table: payorder.NotifyTaskTable,
Columns: []string{payorder.NotifyTaskColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(paynotifytask.FieldID, field.TypeUint64),
},
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := _u.mutation.RemovedNotifyTaskIDs(); len(nodes) > 0 && !_u.mutation.NotifyTaskCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: true,
Table: payorder.NotifyTaskTable,
Columns: []string{payorder.NotifyTaskColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(paynotifytask.FieldID, field.TypeUint64),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := _u.mutation.NotifyTaskIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: true,
Table: payorder.NotifyTaskTable,
Columns: []string{payorder.NotifyTaskColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(paynotifytask.FieldID, field.TypeUint64),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Add = append(_spec.Edges.Add, edge)
}
if _u.mutation.RefundCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: true,
Table: payorder.RefundTable,
Columns: []string{payorder.RefundColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(payrefund.FieldID, field.TypeUint64),
},
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := _u.mutation.RemovedRefundIDs(); len(nodes) > 0 && !_u.mutation.RefundCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: true,
Table: payorder.RefundTable,
Columns: []string{payorder.RefundColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(payrefund.FieldID, field.TypeUint64),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := _u.mutation.RefundIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: true,
Table: payorder.RefundTable,
Columns: []string{payorder.RefundColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(payrefund.FieldID, field.TypeUint64),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Add = append(_spec.Edges.Add, edge)
}
if _node, err = sqlgraph.UpdateNodes(ctx, _u.driver, _spec); err != nil {
if _, ok := err.(*sqlgraph.NotFoundError); ok {
err = &NotFoundError{payorder.Label}
} else if sqlgraph.IsConstraintError(err) {
err = &ConstraintError{msg: err.Error(), wrap: err}
}
return 0, err
}
_u.mutation.done = true
return _node, nil
}
// PayOrderUpdateOne is the builder for updating a single PayOrder entity.
type PayOrderUpdateOne struct {
config
fields []string
hooks []Hook
mutation *PayOrderMutation
}
// SetUpdatedAt sets the "updated_at" field.
func (_u *PayOrderUpdateOne) SetUpdatedAt(v time.Time) *PayOrderUpdateOne {
_u.mutation.SetUpdatedAt(v)
return _u
}
// SetStatus sets the "status" field.
func (_u *PayOrderUpdateOne) SetStatus(v uint8) *PayOrderUpdateOne {
_u.mutation.ResetStatus()
_u.mutation.SetStatus(v)
return _u
}
// SetNillableStatus sets the "status" field if the given value is not nil.
func (_u *PayOrderUpdateOne) SetNillableStatus(v *uint8) *PayOrderUpdateOne {
if v != nil {
_u.SetStatus(*v)
}
return _u
}
// AddStatus adds value to the "status" field.
func (_u *PayOrderUpdateOne) AddStatus(v int8) *PayOrderUpdateOne {
_u.mutation.AddStatus(v)
return _u
}
// ClearStatus clears the value of the "status" field.
func (_u *PayOrderUpdateOne) ClearStatus() *PayOrderUpdateOne {
_u.mutation.ClearStatus()
return _u
}
// SetDeletedAt sets the "deleted_at" field.
func (_u *PayOrderUpdateOne) SetDeletedAt(v time.Time) *PayOrderUpdateOne {
_u.mutation.SetDeletedAt(v)
return _u
}
// SetNillableDeletedAt sets the "deleted_at" field if the given value is not nil.
func (_u *PayOrderUpdateOne) SetNillableDeletedAt(v *time.Time) *PayOrderUpdateOne {
if v != nil {
_u.SetDeletedAt(*v)
}
return _u
}
// ClearDeletedAt clears the value of the "deleted_at" field.
func (_u *PayOrderUpdateOne) ClearDeletedAt() *PayOrderUpdateOne {
_u.mutation.ClearDeletedAt()
return _u
}
// SetChannelID sets the "channel_id" field.
func (_u *PayOrderUpdateOne) SetChannelID(v uint64) *PayOrderUpdateOne {
_u.mutation.SetChannelID(v)
return _u
}
// SetNillableChannelID sets the "channel_id" field if the given value is not nil.
func (_u *PayOrderUpdateOne) SetNillableChannelID(v *uint64) *PayOrderUpdateOne {
if v != nil {
_u.SetChannelID(*v)
}
return _u
}
// SetUserID sets the "user_id" field.
func (_u *PayOrderUpdateOne) SetUserID(v uint64) *PayOrderUpdateOne {
_u.mutation.ResetUserID()
_u.mutation.SetUserID(v)
return _u
}
// SetNillableUserID sets the "user_id" field if the given value is not nil.
func (_u *PayOrderUpdateOne) SetNillableUserID(v *uint64) *PayOrderUpdateOne {
if v != nil {
_u.SetUserID(*v)
}
return _u
}
// AddUserID adds value to the "user_id" field.
func (_u *PayOrderUpdateOne) AddUserID(v int64) *PayOrderUpdateOne {
_u.mutation.AddUserID(v)
return _u
}
// SetSubject sets the "subject" field.
func (_u *PayOrderUpdateOne) SetSubject(v string) *PayOrderUpdateOne {
_u.mutation.SetSubject(v)
return _u
}
// SetNillableSubject sets the "subject" field if the given value is not nil.
func (_u *PayOrderUpdateOne) SetNillableSubject(v *string) *PayOrderUpdateOne {
if v != nil {
_u.SetSubject(*v)
}
return _u
}
// SetBody sets the "body" field.
func (_u *PayOrderUpdateOne) SetBody(v string) *PayOrderUpdateOne {
_u.mutation.SetBody(v)
return _u
}
// SetNillableBody sets the "body" field if the given value is not nil.
func (_u *PayOrderUpdateOne) SetNillableBody(v *string) *PayOrderUpdateOne {
if v != nil {
_u.SetBody(*v)
}
return _u
}
// SetNotifyURL sets the "notify_url" field.
func (_u *PayOrderUpdateOne) SetNotifyURL(v string) *PayOrderUpdateOne {
_u.mutation.SetNotifyURL(v)
return _u
}
// SetNillableNotifyURL sets the "notify_url" field if the given value is not nil.
func (_u *PayOrderUpdateOne) SetNillableNotifyURL(v *string) *PayOrderUpdateOne {
if v != nil {
_u.SetNotifyURL(*v)
}
return _u
}
// SetAmount sets the "amount" field.
func (_u *PayOrderUpdateOne) SetAmount(v uint64) *PayOrderUpdateOne {
_u.mutation.ResetAmount()
_u.mutation.SetAmount(v)
return _u
}
// SetNillableAmount sets the "amount" field if the given value is not nil.
func (_u *PayOrderUpdateOne) SetNillableAmount(v *uint64) *PayOrderUpdateOne {
if v != nil {
_u.SetAmount(*v)
}
return _u
}
// AddAmount adds value to the "amount" field.
func (_u *PayOrderUpdateOne) AddAmount(v int64) *PayOrderUpdateOne {
_u.mutation.AddAmount(v)
return _u
}
// SetPaySource sets the "pay_source" field.
func (_u *PayOrderUpdateOne) SetPaySource(v string) *PayOrderUpdateOne {
_u.mutation.SetPaySource(v)
return _u
}
// SetNillablePaySource sets the "pay_source" field if the given value is not nil.
func (_u *PayOrderUpdateOne) SetNillablePaySource(v *string) *PayOrderUpdateOne {
if v != nil {
_u.SetPaySource(*v)
}
return _u
}
// ClearPaySource clears the value of the "pay_source" field.
func (_u *PayOrderUpdateOne) ClearPaySource() *PayOrderUpdateOne {
_u.mutation.ClearPaySource()
return _u
}
// SetChannelFeeRate sets the "channel_fee_rate" field.
func (_u *PayOrderUpdateOne) SetChannelFeeRate(v string) *PayOrderUpdateOne {
_u.mutation.SetChannelFeeRate(v)
return _u
}
// SetNillableChannelFeeRate sets the "channel_fee_rate" field if the given value is not nil.
func (_u *PayOrderUpdateOne) SetNillableChannelFeeRate(v *string) *PayOrderUpdateOne {
if v != nil {
_u.SetChannelFeeRate(*v)
}
return _u
}
// SetChannelFee sets the "channel_fee" field.
func (_u *PayOrderUpdateOne) SetChannelFee(v uint64) *PayOrderUpdateOne {
_u.mutation.ResetChannelFee()
_u.mutation.SetChannelFee(v)
return _u
}
// SetNillableChannelFee sets the "channel_fee" field if the given value is not nil.
func (_u *PayOrderUpdateOne) SetNillableChannelFee(v *uint64) *PayOrderUpdateOne {
if v != nil {
_u.SetChannelFee(*v)
}
return _u
}
// AddChannelFee adds value to the "channel_fee" field.
func (_u *PayOrderUpdateOne) AddChannelFee(v int64) *PayOrderUpdateOne {
_u.mutation.AddChannelFee(v)
return _u
}
// SetOrderStatus sets the "order_status" field.
func (_u *PayOrderUpdateOne) SetOrderStatus(v string) *PayOrderUpdateOne {
_u.mutation.SetOrderStatus(v)
return _u
}
// SetNillableOrderStatus sets the "order_status" field if the given value is not nil.
func (_u *PayOrderUpdateOne) SetNillableOrderStatus(v *string) *PayOrderUpdateOne {
if v != nil {
_u.SetOrderStatus(*v)
}
return _u
}
// SetUserIP sets the "user_ip" field.
func (_u *PayOrderUpdateOne) SetUserIP(v string) *PayOrderUpdateOne {
_u.mutation.SetUserIP(v)
return _u
}
// SetNillableUserIP sets the "user_ip" field if the given value is not nil.
func (_u *PayOrderUpdateOne) SetNillableUserIP(v *string) *PayOrderUpdateOne {
if v != nil {
_u.SetUserIP(*v)
}
return _u
}
// ClearUserIP clears the value of the "user_ip" field.
func (_u *PayOrderUpdateOne) ClearUserIP() *PayOrderUpdateOne {
_u.mutation.ClearUserIP()
return _u
}
// SetExpireTime sets the "expire_time" field.
func (_u *PayOrderUpdateOne) SetExpireTime(v time.Time) *PayOrderUpdateOne {
_u.mutation.SetExpireTime(v)
return _u
}
// SetNillableExpireTime sets the "expire_time" field if the given value is not nil.
func (_u *PayOrderUpdateOne) SetNillableExpireTime(v *time.Time) *PayOrderUpdateOne {
if v != nil {
_u.SetExpireTime(*v)
}
return _u
}
// SetPayNo sets the "pay_no" field.
func (_u *PayOrderUpdateOne) SetPayNo(v string) *PayOrderUpdateOne {
_u.mutation.SetPayNo(v)
return _u
}
// SetNillablePayNo sets the "pay_no" field if the given value is not nil.
func (_u *PayOrderUpdateOne) SetNillablePayNo(v *string) *PayOrderUpdateOne {
if v != nil {
_u.SetPayNo(*v)
}
return _u
}
// SetSuccessTime sets the "success_time" field.
func (_u *PayOrderUpdateOne) SetSuccessTime(v time.Time) *PayOrderUpdateOne {
_u.mutation.SetSuccessTime(v)
return _u
}
// SetNillableSuccessTime sets the "success_time" field if the given value is not nil.
func (_u *PayOrderUpdateOne) SetNillableSuccessTime(v *time.Time) *PayOrderUpdateOne {
if v != nil {
_u.SetSuccessTime(*v)
}
return _u
}
// SetExtensionID sets the "extension_id" field.
func (_u *PayOrderUpdateOne) SetExtensionID(v uint64) *PayOrderUpdateOne {
_u.mutation.ResetExtensionID()
_u.mutation.SetExtensionID(v)
return _u
}
// SetNillableExtensionID sets the "extension_id" field if the given value is not nil.
func (_u *PayOrderUpdateOne) SetNillableExtensionID(v *uint64) *PayOrderUpdateOne {
if v != nil {
_u.SetExtensionID(*v)
}
return _u
}
// AddExtensionID adds value to the "extension_id" field.
func (_u *PayOrderUpdateOne) AddExtensionID(v int64) *PayOrderUpdateOne {
_u.mutation.AddExtensionID(v)
return _u
}
// ClearExtensionID clears the value of the "extension_id" field.
func (_u *PayOrderUpdateOne) ClearExtensionID() *PayOrderUpdateOne {
_u.mutation.ClearExtensionID()
return _u
}
// SetTransactionID sets the "transaction_id" field.
func (_u *PayOrderUpdateOne) SetTransactionID(v string) *PayOrderUpdateOne {
_u.mutation.SetTransactionID(v)
return _u
}
// SetNillableTransactionID sets the "transaction_id" field if the given value is not nil.
func (_u *PayOrderUpdateOne) SetNillableTransactionID(v *string) *PayOrderUpdateOne {
if v != nil {
_u.SetTransactionID(*v)
}
return _u
}
// ClearTransactionID clears the value of the "transaction_id" field.
func (_u *PayOrderUpdateOne) ClearTransactionID() *PayOrderUpdateOne {
_u.mutation.ClearTransactionID()
return _u
}
// SetCurrency sets the "currency" field.
func (_u *PayOrderUpdateOne) SetCurrency(v string) *PayOrderUpdateOne {
_u.mutation.SetCurrency(v)
return _u
}
// SetNillableCurrency sets the "currency" field if the given value is not nil.
func (_u *PayOrderUpdateOne) SetNillableCurrency(v *string) *PayOrderUpdateOne {
if v != nil {
_u.SetCurrency(*v)
}
return _u
}
// SetRefundPrice sets the "refund_price" field.
func (_u *PayOrderUpdateOne) SetRefundPrice(v uint64) *PayOrderUpdateOne {
_u.mutation.ResetRefundPrice()
_u.mutation.SetRefundPrice(v)
return _u
}
// SetNillableRefundPrice sets the "refund_price" field if the given value is not nil.
func (_u *PayOrderUpdateOne) SetNillableRefundPrice(v *uint64) *PayOrderUpdateOne {
if v != nil {
_u.SetRefundPrice(*v)
}
return _u
}
// AddRefundPrice adds value to the "refund_price" field.
func (_u *PayOrderUpdateOne) AddRefundPrice(v int64) *PayOrderUpdateOne {
_u.mutation.AddRefundPrice(v)
return _u
}
// SetChannelOrderNo sets the "channel_order_no" field.
func (_u *PayOrderUpdateOne) SetChannelOrderNo(v string) *PayOrderUpdateOne {
_u.mutation.SetChannelOrderNo(v)
return _u
}
// SetNillableChannelOrderNo sets the "channel_order_no" field if the given value is not nil.
func (_u *PayOrderUpdateOne) SetNillableChannelOrderNo(v *string) *PayOrderUpdateOne {
if v != nil {
_u.SetChannelOrderNo(*v)
}
return _u
}
// ClearChannelOrderNo clears the value of the "channel_order_no" field.
func (_u *PayOrderUpdateOne) ClearChannelOrderNo() *PayOrderUpdateOne {
_u.mutation.ClearChannelOrderNo()
return _u
}
// SetChannelUserID sets the "channel_user_id" field.
func (_u *PayOrderUpdateOne) SetChannelUserID(v string) *PayOrderUpdateOne {
_u.mutation.SetChannelUserID(v)
return _u
}
// SetNillableChannelUserID sets the "channel_user_id" field if the given value is not nil.
func (_u *PayOrderUpdateOne) SetNillableChannelUserID(v *string) *PayOrderUpdateOne {
if v != nil {
_u.SetChannelUserID(*v)
}
return _u
}
// ClearChannelUserID clears the value of the "channel_user_id" field.
func (_u *PayOrderUpdateOne) ClearChannelUserID() *PayOrderUpdateOne {
_u.mutation.ClearChannelUserID()
return _u
}
// SetChannel sets the "channel" edge to the PayChannel entity.
func (_u *PayOrderUpdateOne) SetChannel(v *PayChannel) *PayOrderUpdateOne {
return _u.SetChannelID(v.ID)
}
// AddOrdersExtensionIDs adds the "orders_extension" edge to the PayOrderExtension entity by IDs.
func (_u *PayOrderUpdateOne) AddOrdersExtensionIDs(ids ...uint64) *PayOrderUpdateOne {
_u.mutation.AddOrdersExtensionIDs(ids...)
return _u
}
// AddOrdersExtension adds the "orders_extension" edges to the PayOrderExtension entity.
func (_u *PayOrderUpdateOne) AddOrdersExtension(v ...*PayOrderExtension) *PayOrderUpdateOne {
ids := make([]uint64, len(v))
for i := range v {
ids[i] = v[i].ID
}
return _u.AddOrdersExtensionIDs(ids...)
}
// AddNotifyTaskIDs adds the "notify_task" edge to the PayNotifyTask entity by IDs.
func (_u *PayOrderUpdateOne) AddNotifyTaskIDs(ids ...uint64) *PayOrderUpdateOne {
_u.mutation.AddNotifyTaskIDs(ids...)
return _u
}
// AddNotifyTask adds the "notify_task" edges to the PayNotifyTask entity.
func (_u *PayOrderUpdateOne) AddNotifyTask(v ...*PayNotifyTask) *PayOrderUpdateOne {
ids := make([]uint64, len(v))
for i := range v {
ids[i] = v[i].ID
}
return _u.AddNotifyTaskIDs(ids...)
}
// AddRefundIDs adds the "refund" edge to the PayRefund entity by IDs.
func (_u *PayOrderUpdateOne) AddRefundIDs(ids ...uint64) *PayOrderUpdateOne {
_u.mutation.AddRefundIDs(ids...)
return _u
}
// AddRefund adds the "refund" edges to the PayRefund entity.
func (_u *PayOrderUpdateOne) AddRefund(v ...*PayRefund) *PayOrderUpdateOne {
ids := make([]uint64, len(v))
for i := range v {
ids[i] = v[i].ID
}
return _u.AddRefundIDs(ids...)
}
// Mutation returns the PayOrderMutation object of the builder.
func (_u *PayOrderUpdateOne) Mutation() *PayOrderMutation {
return _u.mutation
}
// ClearChannel clears the "channel" edge to the PayChannel entity.
func (_u *PayOrderUpdateOne) ClearChannel() *PayOrderUpdateOne {
_u.mutation.ClearChannel()
return _u
}
// ClearOrdersExtension clears all "orders_extension" edges to the PayOrderExtension entity.
func (_u *PayOrderUpdateOne) ClearOrdersExtension() *PayOrderUpdateOne {
_u.mutation.ClearOrdersExtension()
return _u
}
// RemoveOrdersExtensionIDs removes the "orders_extension" edge to PayOrderExtension entities by IDs.
func (_u *PayOrderUpdateOne) RemoveOrdersExtensionIDs(ids ...uint64) *PayOrderUpdateOne {
_u.mutation.RemoveOrdersExtensionIDs(ids...)
return _u
}
// RemoveOrdersExtension removes "orders_extension" edges to PayOrderExtension entities.
func (_u *PayOrderUpdateOne) RemoveOrdersExtension(v ...*PayOrderExtension) *PayOrderUpdateOne {
ids := make([]uint64, len(v))
for i := range v {
ids[i] = v[i].ID
}
return _u.RemoveOrdersExtensionIDs(ids...)
}
// ClearNotifyTask clears all "notify_task" edges to the PayNotifyTask entity.
func (_u *PayOrderUpdateOne) ClearNotifyTask() *PayOrderUpdateOne {
_u.mutation.ClearNotifyTask()
return _u
}
// RemoveNotifyTaskIDs removes the "notify_task" edge to PayNotifyTask entities by IDs.
func (_u *PayOrderUpdateOne) RemoveNotifyTaskIDs(ids ...uint64) *PayOrderUpdateOne {
_u.mutation.RemoveNotifyTaskIDs(ids...)
return _u
}
// RemoveNotifyTask removes "notify_task" edges to PayNotifyTask entities.
func (_u *PayOrderUpdateOne) RemoveNotifyTask(v ...*PayNotifyTask) *PayOrderUpdateOne {
ids := make([]uint64, len(v))
for i := range v {
ids[i] = v[i].ID
}
return _u.RemoveNotifyTaskIDs(ids...)
}
// ClearRefund clears all "refund" edges to the PayRefund entity.
func (_u *PayOrderUpdateOne) ClearRefund() *PayOrderUpdateOne {
_u.mutation.ClearRefund()
return _u
}
// RemoveRefundIDs removes the "refund" edge to PayRefund entities by IDs.
func (_u *PayOrderUpdateOne) RemoveRefundIDs(ids ...uint64) *PayOrderUpdateOne {
_u.mutation.RemoveRefundIDs(ids...)
return _u
}
// RemoveRefund removes "refund" edges to PayRefund entities.
func (_u *PayOrderUpdateOne) RemoveRefund(v ...*PayRefund) *PayOrderUpdateOne {
ids := make([]uint64, len(v))
for i := range v {
ids[i] = v[i].ID
}
return _u.RemoveRefundIDs(ids...)
}
// Where appends a list predicates to the PayOrderUpdate builder.
func (_u *PayOrderUpdateOne) Where(ps ...predicate.PayOrder) *PayOrderUpdateOne {
_u.mutation.Where(ps...)
return _u
}
// Select allows selecting one or more fields (columns) of the returned entity.
// The default is selecting all fields defined in the entity schema.
func (_u *PayOrderUpdateOne) Select(field string, fields ...string) *PayOrderUpdateOne {
_u.fields = append([]string{field}, fields...)
return _u
}
// Save executes the query and returns the updated PayOrder entity.
func (_u *PayOrderUpdateOne) Save(ctx context.Context) (*PayOrder, error) {
_u.defaults()
return withHooks(ctx, _u.sqlSave, _u.mutation, _u.hooks)
}
// SaveX is like Save, but panics if an error occurs.
func (_u *PayOrderUpdateOne) SaveX(ctx context.Context) *PayOrder {
node, err := _u.Save(ctx)
if err != nil {
panic(err)
}
return node
}
// Exec executes the query on the entity.
func (_u *PayOrderUpdateOne) Exec(ctx context.Context) error {
_, err := _u.Save(ctx)
return err
}
// ExecX is like Exec, but panics if an error occurs.
func (_u *PayOrderUpdateOne) ExecX(ctx context.Context) {
if err := _u.Exec(ctx); err != nil {
panic(err)
}
}
// defaults sets the default values of the builder before save.
func (_u *PayOrderUpdateOne) defaults() {
if _, ok := _u.mutation.UpdatedAt(); !ok {
v := payorder.UpdateDefaultUpdatedAt()
_u.mutation.SetUpdatedAt(v)
}
}
// check runs all checks and user-defined validators on the builder.
func (_u *PayOrderUpdateOne) check() error {
if _u.mutation.ChannelCleared() && len(_u.mutation.ChannelIDs()) > 0 {
return errors.New(`ent: clearing a required unique edge "PayOrder.channel"`)
}
return nil
}
func (_u *PayOrderUpdateOne) sqlSave(ctx context.Context) (_node *PayOrder, err error) {
if err := _u.check(); err != nil {
return _node, err
}
_spec := sqlgraph.NewUpdateSpec(payorder.Table, payorder.Columns, sqlgraph.NewFieldSpec(payorder.FieldID, field.TypeUint64))
id, ok := _u.mutation.ID()
if !ok {
return nil, &ValidationError{Name: "id", err: errors.New(`ent: missing "PayOrder.id" for update`)}
}
_spec.Node.ID.Value = id
if fields := _u.fields; len(fields) > 0 {
_spec.Node.Columns = make([]string, 0, len(fields))
_spec.Node.Columns = append(_spec.Node.Columns, payorder.FieldID)
for _, f := range fields {
if !payorder.ValidColumn(f) {
return nil, &ValidationError{Name: f, err: fmt.Errorf("ent: invalid field %q for query", f)}
}
if f != payorder.FieldID {
_spec.Node.Columns = append(_spec.Node.Columns, f)
}
}
}
if ps := _u.mutation.predicates; len(ps) > 0 {
_spec.Predicate = func(selector *sql.Selector) {
for i := range ps {
ps[i](selector)
}
}
}
if value, ok := _u.mutation.UpdatedAt(); ok {
_spec.SetField(payorder.FieldUpdatedAt, field.TypeTime, value)
}
if value, ok := _u.mutation.Status(); ok {
_spec.SetField(payorder.FieldStatus, field.TypeUint8, value)
}
if value, ok := _u.mutation.AddedStatus(); ok {
_spec.AddField(payorder.FieldStatus, field.TypeUint8, value)
}
if _u.mutation.StatusCleared() {
_spec.ClearField(payorder.FieldStatus, field.TypeUint8)
}
if value, ok := _u.mutation.DeletedAt(); ok {
_spec.SetField(payorder.FieldDeletedAt, field.TypeTime, value)
}
if _u.mutation.DeletedAtCleared() {
_spec.ClearField(payorder.FieldDeletedAt, field.TypeTime)
}
if value, ok := _u.mutation.UserID(); ok {
_spec.SetField(payorder.FieldUserID, field.TypeUint64, value)
}
if value, ok := _u.mutation.AddedUserID(); ok {
_spec.AddField(payorder.FieldUserID, field.TypeUint64, value)
}
if value, ok := _u.mutation.Subject(); ok {
_spec.SetField(payorder.FieldSubject, field.TypeString, value)
}
if value, ok := _u.mutation.Body(); ok {
_spec.SetField(payorder.FieldBody, field.TypeString, value)
}
if value, ok := _u.mutation.NotifyURL(); ok {
_spec.SetField(payorder.FieldNotifyURL, field.TypeString, value)
}
if value, ok := _u.mutation.Amount(); ok {
_spec.SetField(payorder.FieldAmount, field.TypeUint64, value)
}
if value, ok := _u.mutation.AddedAmount(); ok {
_spec.AddField(payorder.FieldAmount, field.TypeUint64, value)
}
if value, ok := _u.mutation.PaySource(); ok {
_spec.SetField(payorder.FieldPaySource, field.TypeString, value)
}
if _u.mutation.PaySourceCleared() {
_spec.ClearField(payorder.FieldPaySource, field.TypeString)
}
if value, ok := _u.mutation.ChannelFeeRate(); ok {
_spec.SetField(payorder.FieldChannelFeeRate, field.TypeString, value)
}
if value, ok := _u.mutation.ChannelFee(); ok {
_spec.SetField(payorder.FieldChannelFee, field.TypeUint64, value)
}
if value, ok := _u.mutation.AddedChannelFee(); ok {
_spec.AddField(payorder.FieldChannelFee, field.TypeUint64, value)
}
if value, ok := _u.mutation.OrderStatus(); ok {
_spec.SetField(payorder.FieldOrderStatus, field.TypeString, value)
}
if value, ok := _u.mutation.UserIP(); ok {
_spec.SetField(payorder.FieldUserIP, field.TypeString, value)
}
if _u.mutation.UserIPCleared() {
_spec.ClearField(payorder.FieldUserIP, field.TypeString)
}
if value, ok := _u.mutation.ExpireTime(); ok {
_spec.SetField(payorder.FieldExpireTime, field.TypeTime, value)
}
if value, ok := _u.mutation.PayNo(); ok {
_spec.SetField(payorder.FieldPayNo, field.TypeString, value)
}
if value, ok := _u.mutation.SuccessTime(); ok {
_spec.SetField(payorder.FieldSuccessTime, field.TypeTime, value)
}
if value, ok := _u.mutation.ExtensionID(); ok {
_spec.SetField(payorder.FieldExtensionID, field.TypeUint64, value)
}
if value, ok := _u.mutation.AddedExtensionID(); ok {
_spec.AddField(payorder.FieldExtensionID, field.TypeUint64, value)
}
if _u.mutation.ExtensionIDCleared() {
_spec.ClearField(payorder.FieldExtensionID, field.TypeUint64)
}
if value, ok := _u.mutation.TransactionID(); ok {
_spec.SetField(payorder.FieldTransactionID, field.TypeString, value)
}
if _u.mutation.TransactionIDCleared() {
_spec.ClearField(payorder.FieldTransactionID, field.TypeString)
}
if value, ok := _u.mutation.Currency(); ok {
_spec.SetField(payorder.FieldCurrency, field.TypeString, value)
}
if value, ok := _u.mutation.RefundPrice(); ok {
_spec.SetField(payorder.FieldRefundPrice, field.TypeUint64, value)
}
if value, ok := _u.mutation.AddedRefundPrice(); ok {
_spec.AddField(payorder.FieldRefundPrice, field.TypeUint64, value)
}
if value, ok := _u.mutation.ChannelOrderNo(); ok {
_spec.SetField(payorder.FieldChannelOrderNo, field.TypeString, value)
}
if _u.mutation.ChannelOrderNoCleared() {
_spec.ClearField(payorder.FieldChannelOrderNo, field.TypeString)
}
if value, ok := _u.mutation.ChannelUserID(); ok {
_spec.SetField(payorder.FieldChannelUserID, field.TypeString, value)
}
if _u.mutation.ChannelUserIDCleared() {
_spec.ClearField(payorder.FieldChannelUserID, field.TypeString)
}
if _u.mutation.ChannelCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.M2O,
Inverse: false,
Table: payorder.ChannelTable,
Columns: []string{payorder.ChannelColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(paychannel.FieldID, field.TypeUint64),
},
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := _u.mutation.ChannelIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.M2O,
Inverse: false,
Table: payorder.ChannelTable,
Columns: []string{payorder.ChannelColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(paychannel.FieldID, field.TypeUint64),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Add = append(_spec.Edges.Add, edge)
}
if _u.mutation.OrdersExtensionCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: true,
Table: payorder.OrdersExtensionTable,
Columns: []string{payorder.OrdersExtensionColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(payorderextension.FieldID, field.TypeUint64),
},
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := _u.mutation.RemovedOrdersExtensionIDs(); len(nodes) > 0 && !_u.mutation.OrdersExtensionCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: true,
Table: payorder.OrdersExtensionTable,
Columns: []string{payorder.OrdersExtensionColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(payorderextension.FieldID, field.TypeUint64),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := _u.mutation.OrdersExtensionIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: true,
Table: payorder.OrdersExtensionTable,
Columns: []string{payorder.OrdersExtensionColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(payorderextension.FieldID, field.TypeUint64),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Add = append(_spec.Edges.Add, edge)
}
if _u.mutation.NotifyTaskCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: true,
Table: payorder.NotifyTaskTable,
Columns: []string{payorder.NotifyTaskColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(paynotifytask.FieldID, field.TypeUint64),
},
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := _u.mutation.RemovedNotifyTaskIDs(); len(nodes) > 0 && !_u.mutation.NotifyTaskCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: true,
Table: payorder.NotifyTaskTable,
Columns: []string{payorder.NotifyTaskColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(paynotifytask.FieldID, field.TypeUint64),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := _u.mutation.NotifyTaskIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: true,
Table: payorder.NotifyTaskTable,
Columns: []string{payorder.NotifyTaskColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(paynotifytask.FieldID, field.TypeUint64),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Add = append(_spec.Edges.Add, edge)
}
if _u.mutation.RefundCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: true,
Table: payorder.RefundTable,
Columns: []string{payorder.RefundColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(payrefund.FieldID, field.TypeUint64),
},
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := _u.mutation.RemovedRefundIDs(); len(nodes) > 0 && !_u.mutation.RefundCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: true,
Table: payorder.RefundTable,
Columns: []string{payorder.RefundColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(payrefund.FieldID, field.TypeUint64),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := _u.mutation.RefundIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: true,
Table: payorder.RefundTable,
Columns: []string{payorder.RefundColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(payrefund.FieldID, field.TypeUint64),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Add = append(_spec.Edges.Add, edge)
}
_node = &PayOrder{config: _u.config}
_spec.Assign = _node.assignValues
_spec.ScanValues = _node.scanValues
if err = sqlgraph.UpdateNode(ctx, _u.driver, _spec); err != nil {
if _, ok := err.(*sqlgraph.NotFoundError); ok {
err = &NotFoundError{payorder.Label}
} else if sqlgraph.IsConstraintError(err) {
err = &ConstraintError{msg: err.Error(), wrap: err}
}
return nil, err
}
_u.mutation.done = true
return _node, nil
}