Files
quyun-v2/backend/database/models/orders.query.gen.go

564 lines
17 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// Code generated by go.ipao.vip/gen. DO NOT EDIT.
// Code generated by go.ipao.vip/gen. DO NOT EDIT.
// Code generated by go.ipao.vip/gen. DO NOT EDIT.
package models
import (
"context"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"go.ipao.vip/gen"
"go.ipao.vip/gen/field"
"gorm.io/plugin/dbresolver"
)
func newOrder(db *gorm.DB, opts ...gen.DOOption) orderQuery {
_orderQuery := orderQuery{}
_orderQuery.orderQueryDo.UseDB(db, opts...)
_orderQuery.orderQueryDo.UseModel(&Order{})
tableName := _orderQuery.orderQueryDo.TableName()
_orderQuery.ALL = field.NewAsterisk(tableName)
_orderQuery.ID = field.NewInt64(tableName, "id")
_orderQuery.TenantID = field.NewInt64(tableName, "tenant_id")
_orderQuery.UserID = field.NewInt64(tableName, "user_id")
_orderQuery.Type = field.NewField(tableName, "type")
_orderQuery.Status = field.NewField(tableName, "status")
_orderQuery.Currency = field.NewField(tableName, "currency")
_orderQuery.AmountOriginal = field.NewInt64(tableName, "amount_original")
_orderQuery.AmountDiscount = field.NewInt64(tableName, "amount_discount")
_orderQuery.AmountPaid = field.NewInt64(tableName, "amount_paid")
_orderQuery.Snapshot = field.NewJSONB(tableName, "snapshot")
_orderQuery.IdempotencyKey = field.NewString(tableName, "idempotency_key")
_orderQuery.PaidAt = field.NewTime(tableName, "paid_at")
_orderQuery.RefundedAt = field.NewTime(tableName, "refunded_at")
_orderQuery.RefundForced = field.NewBool(tableName, "refund_forced")
_orderQuery.RefundOperatorUserID = field.NewInt64(tableName, "refund_operator_user_id")
_orderQuery.RefundReason = field.NewString(tableName, "refund_reason")
_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()
return _orderQuery
}
type orderQuery struct {
orderQueryDo orderQueryDo
ALL field.Asterisk
ID field.Int64
TenantID field.Int64
UserID field.Int64
Type field.Field
Status field.Field
Currency field.Field
AmountOriginal field.Int64
AmountDiscount field.Int64
AmountPaid field.Int64
Snapshot field.JSONB
IdempotencyKey field.String
PaidAt field.Time
RefundedAt field.Time
RefundForced field.Bool
RefundOperatorUserID field.Int64
RefundReason field.String
CreatedAt field.Time
UpdatedAt field.Time
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
}
func (o orderQuery) Table(newTableName string) *orderQuery {
o.orderQueryDo.UseTable(newTableName)
return o.updateTableName(newTableName)
}
func (o orderQuery) As(alias string) *orderQuery {
o.orderQueryDo.DO = *(o.orderQueryDo.As(alias).(*gen.DO))
return o.updateTableName(alias)
}
func (o *orderQuery) updateTableName(table string) *orderQuery {
o.ALL = field.NewAsterisk(table)
o.ID = field.NewInt64(table, "id")
o.TenantID = field.NewInt64(table, "tenant_id")
o.UserID = field.NewInt64(table, "user_id")
o.Type = field.NewField(table, "type")
o.Status = field.NewField(table, "status")
o.Currency = field.NewField(table, "currency")
o.AmountOriginal = field.NewInt64(table, "amount_original")
o.AmountDiscount = field.NewInt64(table, "amount_discount")
o.AmountPaid = field.NewInt64(table, "amount_paid")
o.Snapshot = field.NewJSONB(table, "snapshot")
o.IdempotencyKey = field.NewString(table, "idempotency_key")
o.PaidAt = field.NewTime(table, "paid_at")
o.RefundedAt = field.NewTime(table, "refunded_at")
o.RefundForced = field.NewBool(table, "refund_forced")
o.RefundOperatorUserID = field.NewInt64(table, "refund_operator_user_id")
o.RefundReason = field.NewString(table, "refund_reason")
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()
return o
}
func (o *orderQuery) QueryContext(ctx context.Context) (*orderQuery, *orderQueryDo) {
return o, o.orderQueryDo.WithContext(ctx)
}
func (o *orderQuery) WithContext(ctx context.Context) *orderQueryDo {
return o.orderQueryDo.WithContext(ctx)
}
func (o orderQuery) TableName() string { return o.orderQueryDo.TableName() }
func (o orderQuery) Alias() string { return o.orderQueryDo.Alias() }
func (o orderQuery) Columns(cols ...field.Expr) gen.Columns { return o.orderQueryDo.Columns(cols...) }
func (o *orderQuery) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := o.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (o *orderQuery) fillFieldMap() {
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
o.fieldMap["type"] = o.Type
o.fieldMap["status"] = o.Status
o.fieldMap["currency"] = o.Currency
o.fieldMap["amount_original"] = o.AmountOriginal
o.fieldMap["amount_discount"] = o.AmountDiscount
o.fieldMap["amount_paid"] = o.AmountPaid
o.fieldMap["snapshot"] = o.Snapshot
o.fieldMap["idempotency_key"] = o.IdempotencyKey
o.fieldMap["paid_at"] = o.PaidAt
o.fieldMap["refunded_at"] = o.RefundedAt
o.fieldMap["refund_forced"] = o.RefundForced
o.fieldMap["refund_operator_user_id"] = o.RefundOperatorUserID
o.fieldMap["refund_reason"] = o.RefundReason
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 {
o.orderQueryDo.ReplaceConnPool(db.Statement.ConnPool)
return o
}
func (o orderQuery) replaceDB(db *gorm.DB) orderQuery {
o.orderQueryDo.ReplaceDB(db)
return o
}
type orderQueryDo struct{ gen.DO }
func (o orderQueryDo) Debug() *orderQueryDo {
return o.withDO(o.DO.Debug())
}
func (o orderQueryDo) WithContext(ctx context.Context) *orderQueryDo {
return o.withDO(o.DO.WithContext(ctx))
}
func (o orderQueryDo) ReadDB() *orderQueryDo {
return o.Clauses(dbresolver.Read)
}
func (o orderQueryDo) WriteDB() *orderQueryDo {
return o.Clauses(dbresolver.Write)
}
func (o orderQueryDo) Session(config *gorm.Session) *orderQueryDo {
return o.withDO(o.DO.Session(config))
}
func (o orderQueryDo) Clauses(conds ...clause.Expression) *orderQueryDo {
return o.withDO(o.DO.Clauses(conds...))
}
func (o orderQueryDo) Returning(value interface{}, columns ...string) *orderQueryDo {
return o.withDO(o.DO.Returning(value, columns...))
}
func (o orderQueryDo) Not(conds ...gen.Condition) *orderQueryDo {
return o.withDO(o.DO.Not(conds...))
}
func (o orderQueryDo) Or(conds ...gen.Condition) *orderQueryDo {
return o.withDO(o.DO.Or(conds...))
}
func (o orderQueryDo) Select(conds ...field.Expr) *orderQueryDo {
return o.withDO(o.DO.Select(conds...))
}
func (o orderQueryDo) Where(conds ...gen.Condition) *orderQueryDo {
return o.withDO(o.DO.Where(conds...))
}
func (o orderQueryDo) Order(conds ...field.Expr) *orderQueryDo {
return o.withDO(o.DO.Order(conds...))
}
func (o orderQueryDo) Distinct(cols ...field.Expr) *orderQueryDo {
return o.withDO(o.DO.Distinct(cols...))
}
func (o orderQueryDo) Omit(cols ...field.Expr) *orderQueryDo {
return o.withDO(o.DO.Omit(cols...))
}
func (o orderQueryDo) Join(table schema.Tabler, on ...field.Expr) *orderQueryDo {
return o.withDO(o.DO.Join(table, on...))
}
func (o orderQueryDo) LeftJoin(table schema.Tabler, on ...field.Expr) *orderQueryDo {
return o.withDO(o.DO.LeftJoin(table, on...))
}
func (o orderQueryDo) RightJoin(table schema.Tabler, on ...field.Expr) *orderQueryDo {
return o.withDO(o.DO.RightJoin(table, on...))
}
func (o orderQueryDo) Group(cols ...field.Expr) *orderQueryDo {
return o.withDO(o.DO.Group(cols...))
}
func (o orderQueryDo) Having(conds ...gen.Condition) *orderQueryDo {
return o.withDO(o.DO.Having(conds...))
}
func (o orderQueryDo) Limit(limit int) *orderQueryDo {
return o.withDO(o.DO.Limit(limit))
}
func (o orderQueryDo) Offset(offset int) *orderQueryDo {
return o.withDO(o.DO.Offset(offset))
}
func (o orderQueryDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *orderQueryDo {
return o.withDO(o.DO.Scopes(funcs...))
}
func (o orderQueryDo) Unscoped() *orderQueryDo {
return o.withDO(o.DO.Unscoped())
}
func (o orderQueryDo) Create(values ...*Order) error {
if len(values) == 0 {
return nil
}
return o.DO.Create(values)
}
func (o orderQueryDo) CreateInBatches(values []*Order, batchSize int) error {
return o.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (o orderQueryDo) Save(values ...*Order) error {
if len(values) == 0 {
return nil
}
return o.DO.Save(values)
}
func (o orderQueryDo) First() (*Order, error) {
if result, err := o.DO.First(); err != nil {
return nil, err
} else {
return result.(*Order), nil
}
}
func (o orderQueryDo) Take() (*Order, error) {
if result, err := o.DO.Take(); err != nil {
return nil, err
} else {
return result.(*Order), nil
}
}
func (o orderQueryDo) Last() (*Order, error) {
if result, err := o.DO.Last(); err != nil {
return nil, err
} else {
return result.(*Order), nil
}
}
func (o orderQueryDo) Find() ([]*Order, error) {
result, err := o.DO.Find()
return result.([]*Order), err
}
func (o orderQueryDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*Order, err error) {
buf := make([]*Order, 0, batchSize)
err = o.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (o orderQueryDo) FindInBatches(result *[]*Order, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return o.DO.FindInBatches(result, batchSize, fc)
}
func (o orderQueryDo) Attrs(attrs ...field.AssignExpr) *orderQueryDo {
return o.withDO(o.DO.Attrs(attrs...))
}
func (o orderQueryDo) Assign(attrs ...field.AssignExpr) *orderQueryDo {
return o.withDO(o.DO.Assign(attrs...))
}
func (o orderQueryDo) Joins(fields ...field.RelationField) *orderQueryDo {
for _, _f := range fields {
o = *o.withDO(o.DO.Joins(_f))
}
return &o
}
func (o orderQueryDo) Preload(fields ...field.RelationField) *orderQueryDo {
for _, _f := range fields {
o = *o.withDO(o.DO.Preload(_f))
}
return &o
}
func (o orderQueryDo) FirstOrInit() (*Order, error) {
if result, err := o.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*Order), nil
}
}
func (o orderQueryDo) FirstOrCreate() (*Order, error) {
if result, err := o.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*Order), nil
}
}
func (o orderQueryDo) FindByPage(offset int, limit int) (result []*Order, count int64, err error) {
result, err = o.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = o.Offset(-1).Limit(-1).Count()
return
}
func (o orderQueryDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = o.Count()
if err != nil {
return
}
err = o.Offset(offset).Limit(limit).Scan(result)
return
}
func (o orderQueryDo) Scan(result interface{}) (err error) {
return o.DO.Scan(result)
}
func (o orderQueryDo) Delete(models ...*Order) (result gen.ResultInfo, err error) {
return o.DO.Delete(models)
}
// ForceDelete performs a permanent delete (ignores soft-delete) for current scope.
func (o orderQueryDo) ForceDelete() (gen.ResultInfo, error) {
return o.Unscoped().Delete()
}
// Inc increases the given column by step for current scope.
func (o orderQueryDo) Inc(column field.Expr, step int64) (gen.ResultInfo, error) {
// column = column + step
e := field.NewUnsafeFieldRaw("?+?", column.RawExpr(), step)
return o.DO.UpdateColumn(column, e)
}
// Dec decreases the given column by step for current scope.
func (o orderQueryDo) Dec(column field.Expr, step int64) (gen.ResultInfo, error) {
// column = column - step
e := field.NewUnsafeFieldRaw("?-?", column.RawExpr(), step)
return o.DO.UpdateColumn(column, e)
}
// Sum returns SUM(column) for current scope.
func (o orderQueryDo) Sum(column field.Expr) (float64, error) {
var _v float64
agg := field.NewUnsafeFieldRaw("SUM(?)", column.RawExpr())
if err := o.Select(agg).Scan(&_v); err != nil {
return 0, err
}
return _v, nil
}
// Avg returns AVG(column) for current scope.
func (o orderQueryDo) Avg(column field.Expr) (float64, error) {
var _v float64
agg := field.NewUnsafeFieldRaw("AVG(?)", column.RawExpr())
if err := o.Select(agg).Scan(&_v); err != nil {
return 0, err
}
return _v, nil
}
// Min returns MIN(column) for current scope.
func (o orderQueryDo) Min(column field.Expr) (float64, error) {
var _v float64
agg := field.NewUnsafeFieldRaw("MIN(?)", column.RawExpr())
if err := o.Select(agg).Scan(&_v); err != nil {
return 0, err
}
return _v, nil
}
// Max returns MAX(column) for current scope.
func (o orderQueryDo) Max(column field.Expr) (float64, error) {
var _v float64
agg := field.NewUnsafeFieldRaw("MAX(?)", column.RawExpr())
if err := o.Select(agg).Scan(&_v); err != nil {
return 0, err
}
return _v, nil
}
// PluckMap returns a map[key]value for selected key/value expressions within current scope.
func (o orderQueryDo) PluckMap(key, val field.Expr) (map[interface{}]interface{}, error) {
do := o.Select(key, val)
rows, err := do.DO.Rows()
if err != nil {
return nil, err
}
defer rows.Close()
mm := make(map[interface{}]interface{})
for rows.Next() {
var k interface{}
var v interface{}
if err := rows.Scan(&k, &v); err != nil {
return nil, err
}
mm[k] = v
}
return mm, rows.Err()
}
// Exists returns true if any record matches the given conditions.
func (o orderQueryDo) Exists(conds ...gen.Condition) (bool, error) {
cnt, err := o.Where(conds...).Count()
if err != nil {
return false, err
}
return cnt > 0, nil
}
// PluckIDs returns all primary key values under current scope.
func (o orderQueryDo) PluckIDs() ([]int64, error) {
ids := make([]int64, 0, 16)
pk := field.NewInt64(o.TableName(), "id")
if err := o.DO.Pluck(pk, &ids); err != nil {
return nil, err
}
return ids, nil
}
// GetByID finds a single record by primary key.
func (o orderQueryDo) GetByID(id int64) (*Order, error) {
pk := field.NewInt64(o.TableName(), "id")
return o.Where(pk.Eq(id)).First()
}
// GetByIDs finds records by primary key list.
func (o orderQueryDo) GetByIDs(ids ...int64) ([]*Order, error) {
if len(ids) == 0 {
return []*Order{}, nil
}
pk := field.NewInt64(o.TableName(), "id")
return o.Where(pk.In(ids...)).Find()
}
// DeleteByID deletes records by primary key.
func (o orderQueryDo) DeleteByID(id int64) (gen.ResultInfo, error) {
pk := field.NewInt64(o.TableName(), "id")
return o.Where(pk.Eq(id)).Delete()
}
// DeleteByIDs deletes records by a list of primary keys.
func (o orderQueryDo) DeleteByIDs(ids ...int64) (gen.ResultInfo, error) {
if len(ids) == 0 {
return gen.ResultInfo{RowsAffected: 0, Error: nil}, nil
}
pk := field.NewInt64(o.TableName(), "id")
return o.Where(pk.In(ids...)).Delete()
}
func (o *orderQueryDo) withDO(do gen.Dao) *orderQueryDo {
o.DO = *do.(*gen.DO)
return o
}