diff --git a/controller/game_card.go b/controller/game_card.go index f75b0cf..5863e0e 100644 --- a/controller/game_card.go +++ b/controller/game_card.go @@ -253,11 +253,12 @@ func PushWXPayNotice(c *gin.Context) { RespBodyXML(c, ret) return } - + fundRecord := new(model.FundRecord) if notify.Attach == wxpay.WxPayRentCard { logger.Info("租借游戏卡 支付成功:") var order model.Order - err := model.NewOrderQuerySet(model.DB).OrderSnEq(notify.OutTradeNo).PayStatusEq(PayStatusUnPay).CardStatusNe(OrderCardStatusCancel).One(&order) + err := model.NewOrderQuerySet(model.DB).OrderSnEq(notify.OutTradeNo). + PayStatusEq(PayStatusUnPay).CardStatusNe(OrderCardStatusCancel).One(&order) if err != nil { logger.Error("err:", err) return @@ -337,6 +338,9 @@ func PushWXPayNotice(c *gin.Context) { return } go model.ShoppingCartCreateOrderByOrder(order) + + fundRecord.Uid = uint32(order.Uid) + fundRecord.FundType = model.FundTypeExpressFee //count, err := model.NewOrderQuerySet(model.DB).UidEq(order.Uid).IDEq(order.ID).Count() //if err != nil { // logger.Error("err:", err) @@ -360,6 +364,18 @@ func PushWXPayNotice(c *gin.Context) { if err != nil { logger.Error("err:", err) } + + remark := "" + if record.MemberLevel == 2 { + remark = "黄金会员费" + } else if record.MemberLevel == 4 { + remark = "白金会员费" + } else if record.MemberLevel == 5 { + remark = "黑金会员费" + } + fundRecord.Uid = uint32(record.Uid) + fundRecord.FundType = model.FundTypeMemberFee + fundRecord.Remark = remark var user model.User err = model.NewUserQuerySet(model.DB).UidEq(record.Uid).One(&user) if err != nil { @@ -397,7 +413,7 @@ func PushWXPayNotice(c *gin.Context) { } var invite model.UserInvite - err = model.NewUserInviteQuerySet(model.DB).ToUidEq(record.Uid).One(&invite) + err = model.NewUserInviteQuerySet(model.DB).ToUidEq(record.Uid).OrderDescByID().Limit(1).One(&invite) if err != nil && err != model.RecordNotFound { logger.Error("err:", err) } else { @@ -446,10 +462,22 @@ func PushWXPayNotice(c *gin.Context) { logger.Error("send user vm err:", err) } } + err = model.SendUserVm(user.Uid, record.MemberLevel, 0) if err != nil { logger.Error("send user vm err:", err) } + + openMemberChannel := model.OpenMemberChannelUserInvite + if inviteUser.UserType == 2 { + openMemberChannel = model.OpenMemberChannelStorePromotion + } + _, err = model.NewUserQuerySet(model.DB).UidEq(record.Uid).GetUpdater(). + SetOpenMemberChannel(openMemberChannel).UpdateNum() + if err != nil { + logger.Error("err:", err) + return + } } } } @@ -493,6 +521,18 @@ func PushWXPayNotice(c *gin.Context) { return } + remark := "" + if user.MemberLevel == 2 { + remark = "黄金会员押金" + } else if user.MemberLevel == 4 { + remark = "白金会员押金" + } else if user.MemberLevel == 5 { + remark = "黑金会员押金" + } + fundRecord.Uid = uint32(record.Uid) + fundRecord.FundType = model.FundTypeMemberDeposit + fundRecord.Remark = remark + num, err := model.NewUserQuerySet(model.DB).UidEq(record.Uid).GetUpdater().SetDeposit(memberConfig.MemberDeposit).UpdateNum() if err != nil { logger.Error("update deposit err:", err) @@ -522,6 +562,10 @@ func PushWXPayNotice(c *gin.Context) { if err != nil { logger.Error("err:", err) } + + fundRecord.Uid = uint32(goodsOrder.Uid) + fundRecord.FundType = model.FundTypeExpressFee + fundRecord.Remark = "积分兑换快递费" } else if notify.Attach == wxpay.WxPayUpgradeMember { record := &model.UserOpenMemberRecord{OpenNo: notify.OutTradeNo} err := record.GetByOpenNo() @@ -564,6 +608,10 @@ func PushWXPayNotice(c *gin.Context) { } model.CreateUserRentCardByMemberLevel(record.Uid, record.MemberLevel, memberConfig.CardMax) + + fundRecord.Uid = uint32(record.Uid) + fundRecord.FundType = model.FundTypeUpgradeMember + fundRecord.Remark = "升级会员" } else if notify.Attach == wxpay.WxPayMemberExpireDelay { record := &model.UserOpenMemberRecord{OpenNo: notify.OutTradeNo} err := record.GetByOpenNo() @@ -584,6 +632,9 @@ func PushWXPayNotice(c *gin.Context) { logger.Error("err:", err) return } + fundRecord.Uid = uint32(record.Uid) + fundRecord.FundType = model.FundTypeMemberExpireDelay + fundRecord.Remark = "会员过期滞纳金" } else if notify.Attach == wxpay.WxPayShareCardRetrieve { record := &model.UserOpenMemberRecord{OpenNo: notify.OutTradeNo} err := record.GetByOpenNo() @@ -608,8 +659,19 @@ func PushWXPayNotice(c *gin.Context) { if err != nil { logger.Error("update pay state err:", err) } + fundRecord.Uid = uint32(record.Uid) + fundRecord.FundType = model.FundTypeExpressFee + fundRecord.Remark = "共享卡收回卡快递费" } + fundRecord.Amount = int64(notify.TotalFee) + fundRecord.TransactionId = notify.TransactionId + fundRecord.OutTradeNo = notify.OutTradeNo + fundRecord.Status = 2 + err = model.DB.Create(&fundRecord).Error + if err != nil { + logger.Error("create fund record err:", err) + } logger.Debug("微信推动支付通知") ret.ReturnCode = "SUCCESS" RespBodyXML(c, ret) diff --git a/controller/order.go b/controller/order.go index 93676e1..92cb267 100644 --- a/controller/order.go +++ b/controller/order.go @@ -335,10 +335,24 @@ func RentCardOrderCreate(c *gin.Context) { RespJson(c, status.OrderStockOut, nil) return } - go func() { + if user.OpenMemberChannel == model.OpenMemberChannelStorePromotion { + go func() { + exist, err := model.QueryRecordExist(fmt.Sprintf("SELECT * FROM `order` WHERE uid = %d", uc.Uid)) + if err != nil { + logger.Error("order exist err:", err) + return + } - }() - fmt.Println("PayPrice:", order.PayPrice) + if !exist && user.OpenMemberTime.Format(model.DateTimeFormat) == time.Now().Format(model.DateTimeFormat) { + _, err = model.NewUserQuerySet(model.DB).UidEq(uc.Uid).GetUpdater().SetStoreId(uint64(req.StoreId)).UpdateNum() + if err != nil { + logger.Error("update user err:", err) + } + } + }() + } + + //fmt.Println("PayPrice:", order.PayPrice) if req.Price == 0 { tx := model.TransactionBegin() order.PayStatus = model.PayStatusPaid diff --git a/model/autogenerated_user.go b/model/autogenerated_user.go index 143fc2c..d19021f 100644 --- a/model/autogenerated_user.go +++ b/model/autogenerated_user.go @@ -1516,25 +1516,25 @@ func NewDepositRefundRecordUpdater(db *gorm.DB) DepositRefundRecordUpdater { // ===== END of DepositRefundRecord modifiers -// ===== BEGIN of query set UserConsumeRecordQuerySet +// ===== BEGIN of query set FundRecordQuerySet -// UserConsumeRecordQuerySet is an queryset type for UserConsumeRecord -type UserConsumeRecordQuerySet struct { +// FundRecordQuerySet is an queryset type for FundRecord +type FundRecordQuerySet struct { db *gorm.DB } -// NewUserConsumeRecordQuerySet constructs new UserConsumeRecordQuerySet -func NewUserConsumeRecordQuerySet(db *gorm.DB) UserConsumeRecordQuerySet { - return UserConsumeRecordQuerySet{ - db: db.Model(&UserConsumeRecord{}), +// NewFundRecordQuerySet constructs new FundRecordQuerySet +func NewFundRecordQuerySet(db *gorm.DB) FundRecordQuerySet { + return FundRecordQuerySet{ + db: db.Model(&FundRecord{}), } } -func (qs UserConsumeRecordQuerySet) w(db *gorm.DB) UserConsumeRecordQuerySet { - return NewUserConsumeRecordQuerySet(db) +func (qs FundRecordQuerySet) w(db *gorm.DB) FundRecordQuerySet { + return NewFundRecordQuerySet(db) } -func (qs UserConsumeRecordQuerySet) Select(fields ...UserConsumeRecordDBSchemaField) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) Select(fields ...FundRecordDBSchemaField) FundRecordQuerySet { names := []string{} for _, f := range fields { names = append(names, f.String()) @@ -1545,43 +1545,43 @@ func (qs UserConsumeRecordQuerySet) Select(fields ...UserConsumeRecordDBSchemaFi // Create is an autogenerated method // nolint: dupl -func (o *UserConsumeRecord) Create(db *gorm.DB) error { +func (o *FundRecord) Create(db *gorm.DB) error { return db.Create(o).Error } // Delete is an autogenerated method // nolint: dupl -func (o *UserConsumeRecord) Delete(db *gorm.DB) error { +func (o *FundRecord) Delete(db *gorm.DB) error { return db.Delete(o).Error } // All is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) All(ret *[]UserConsumeRecord) error { +func (qs FundRecordQuerySet) All(ret *[]FundRecord) error { return qs.db.Find(ret).Error } // AmountEq is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) AmountEq(amount uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) AmountEq(amount int64) FundRecordQuerySet { return qs.w(qs.db.Where("amount = ?", amount)) } // AmountGt is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) AmountGt(amount uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) AmountGt(amount int64) FundRecordQuerySet { return qs.w(qs.db.Where("amount > ?", amount)) } // AmountGte is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) AmountGte(amount uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) AmountGte(amount int64) FundRecordQuerySet { return qs.w(qs.db.Where("amount >= ?", amount)) } // AmountIn is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) AmountIn(amount ...uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) AmountIn(amount ...int64) FundRecordQuerySet { if len(amount) == 0 { qs.db.AddError(errors.New("must at least pass one amount in AmountIn")) return qs.w(qs.db) @@ -1591,25 +1591,25 @@ func (qs UserConsumeRecordQuerySet) AmountIn(amount ...uint32) UserConsumeRecord // AmountLt is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) AmountLt(amount uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) AmountLt(amount int64) FundRecordQuerySet { return qs.w(qs.db.Where("amount < ?", amount)) } // AmountLte is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) AmountLte(amount uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) AmountLte(amount int64) FundRecordQuerySet { return qs.w(qs.db.Where("amount <= ?", amount)) } // AmountNe is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) AmountNe(amount uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) AmountNe(amount int64) FundRecordQuerySet { return qs.w(qs.db.Where("amount != ?", amount)) } // AmountNotIn is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) AmountNotIn(amount ...uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) AmountNotIn(amount ...int64) FundRecordQuerySet { if len(amount) == 0 { qs.db.AddError(errors.New("must at least pass one amount in AmountNotIn")) return qs.w(qs.db) @@ -1617,77 +1617,9 @@ func (qs UserConsumeRecordQuerySet) AmountNotIn(amount ...uint32) UserConsumeRec return qs.w(qs.db.Where("amount NOT IN (?)", amount)) } -// ConsumeTypeEq is an autogenerated method -// nolint: dupl -func (qs UserConsumeRecordQuerySet) ConsumeTypeEq(consumeType string) UserConsumeRecordQuerySet { - return qs.w(qs.db.Where("consume_type = ?", consumeType)) -} - -// ConsumeTypeGt is an autogenerated method -// nolint: dupl -func (qs UserConsumeRecordQuerySet) ConsumeTypeGt(consumeType string) UserConsumeRecordQuerySet { - return qs.w(qs.db.Where("consume_type > ?", consumeType)) -} - -// ConsumeTypeGte is an autogenerated method -// nolint: dupl -func (qs UserConsumeRecordQuerySet) ConsumeTypeGte(consumeType string) UserConsumeRecordQuerySet { - return qs.w(qs.db.Where("consume_type >= ?", consumeType)) -} - -// ConsumeTypeIn is an autogenerated method -// nolint: dupl -func (qs UserConsumeRecordQuerySet) ConsumeTypeIn(consumeType ...string) UserConsumeRecordQuerySet { - if len(consumeType) == 0 { - qs.db.AddError(errors.New("must at least pass one consumeType in ConsumeTypeIn")) - return qs.w(qs.db) - } - return qs.w(qs.db.Where("consume_type IN (?)", consumeType)) -} - -// ConsumeTypeLike is an autogenerated method -// nolint: dupl -func (qs UserConsumeRecordQuerySet) ConsumeTypeLike(consumeType string) UserConsumeRecordQuerySet { - return qs.w(qs.db.Where("consume_type LIKE ?", consumeType)) -} - -// ConsumeTypeLt is an autogenerated method -// nolint: dupl -func (qs UserConsumeRecordQuerySet) ConsumeTypeLt(consumeType string) UserConsumeRecordQuerySet { - return qs.w(qs.db.Where("consume_type < ?", consumeType)) -} - -// ConsumeTypeLte is an autogenerated method -// nolint: dupl -func (qs UserConsumeRecordQuerySet) ConsumeTypeLte(consumeType string) UserConsumeRecordQuerySet { - return qs.w(qs.db.Where("consume_type <= ?", consumeType)) -} - -// ConsumeTypeNe is an autogenerated method -// nolint: dupl -func (qs UserConsumeRecordQuerySet) ConsumeTypeNe(consumeType string) UserConsumeRecordQuerySet { - return qs.w(qs.db.Where("consume_type != ?", consumeType)) -} - -// ConsumeTypeNotIn is an autogenerated method -// nolint: dupl -func (qs UserConsumeRecordQuerySet) ConsumeTypeNotIn(consumeType ...string) UserConsumeRecordQuerySet { - if len(consumeType) == 0 { - qs.db.AddError(errors.New("must at least pass one consumeType in ConsumeTypeNotIn")) - return qs.w(qs.db) - } - return qs.w(qs.db.Where("consume_type NOT IN (?)", consumeType)) -} - -// ConsumeTypeNotlike is an autogenerated method -// nolint: dupl -func (qs UserConsumeRecordQuerySet) ConsumeTypeNotlike(consumeType string) UserConsumeRecordQuerySet { - return qs.w(qs.db.Where("consume_type NOT LIKE ?", consumeType)) -} - // Count is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) Count() (int, error) { +func (qs FundRecordQuerySet) Count() (int, error) { var count int err := qs.db.Count(&count).Error return count, err @@ -1695,141 +1627,209 @@ func (qs UserConsumeRecordQuerySet) Count() (int, error) { // CreatedAtEq is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) CreatedAtEq(createdAt time.Time) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) CreatedAtEq(createdAt time.Time) FundRecordQuerySet { return qs.w(qs.db.Where("created_at = ?", createdAt)) } // CreatedAtGt is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) CreatedAtGt(createdAt time.Time) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) CreatedAtGt(createdAt time.Time) FundRecordQuerySet { return qs.w(qs.db.Where("created_at > ?", createdAt)) } // CreatedAtGte is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) CreatedAtGte(createdAt time.Time) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) CreatedAtGte(createdAt time.Time) FundRecordQuerySet { return qs.w(qs.db.Where("created_at >= ?", createdAt)) } // CreatedAtLt is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) CreatedAtLt(createdAt time.Time) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) CreatedAtLt(createdAt time.Time) FundRecordQuerySet { return qs.w(qs.db.Where("created_at < ?", createdAt)) } // CreatedAtLte is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) CreatedAtLte(createdAt time.Time) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) CreatedAtLte(createdAt time.Time) FundRecordQuerySet { return qs.w(qs.db.Where("created_at <= ?", createdAt)) } // CreatedAtNe is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) CreatedAtNe(createdAt time.Time) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) CreatedAtNe(createdAt time.Time) FundRecordQuerySet { return qs.w(qs.db.Where("created_at != ?", createdAt)) } // Delete is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) Delete() error { - return qs.db.Delete(UserConsumeRecord{}).Error +func (qs FundRecordQuerySet) Delete() error { + return qs.db.Delete(FundRecord{}).Error } // DeleteNum is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) DeleteNum() (int64, error) { - db := qs.db.Delete(UserConsumeRecord{}) +func (qs FundRecordQuerySet) DeleteNum() (int64, error) { + db := qs.db.Delete(FundRecord{}) return db.RowsAffected, db.Error } // DeleteNumUnscoped is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) DeleteNumUnscoped() (int64, error) { - db := qs.db.Unscoped().Delete(UserConsumeRecord{}) +func (qs FundRecordQuerySet) DeleteNumUnscoped() (int64, error) { + db := qs.db.Unscoped().Delete(FundRecord{}) return db.RowsAffected, db.Error } // DeletedAtEq is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) DeletedAtEq(deletedAt time.Time) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) DeletedAtEq(deletedAt time.Time) FundRecordQuerySet { return qs.w(qs.db.Where("deleted_at = ?", deletedAt)) } // DeletedAtGt is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) DeletedAtGt(deletedAt time.Time) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) DeletedAtGt(deletedAt time.Time) FundRecordQuerySet { return qs.w(qs.db.Where("deleted_at > ?", deletedAt)) } // DeletedAtGte is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) DeletedAtGte(deletedAt time.Time) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) DeletedAtGte(deletedAt time.Time) FundRecordQuerySet { return qs.w(qs.db.Where("deleted_at >= ?", deletedAt)) } // DeletedAtIsNotNull is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) DeletedAtIsNotNull() UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) DeletedAtIsNotNull() FundRecordQuerySet { return qs.w(qs.db.Where("deleted_at IS NOT NULL")) } // DeletedAtIsNull is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) DeletedAtIsNull() UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) DeletedAtIsNull() FundRecordQuerySet { return qs.w(qs.db.Where("deleted_at IS NULL")) } // DeletedAtLt is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) DeletedAtLt(deletedAt time.Time) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) DeletedAtLt(deletedAt time.Time) FundRecordQuerySet { return qs.w(qs.db.Where("deleted_at < ?", deletedAt)) } // DeletedAtLte is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) DeletedAtLte(deletedAt time.Time) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) DeletedAtLte(deletedAt time.Time) FundRecordQuerySet { return qs.w(qs.db.Where("deleted_at <= ?", deletedAt)) } // DeletedAtNe is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) DeletedAtNe(deletedAt time.Time) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) DeletedAtNe(deletedAt time.Time) FundRecordQuerySet { return qs.w(qs.db.Where("deleted_at != ?", deletedAt)) } +// FundTypeEq is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) FundTypeEq(fundType string) FundRecordQuerySet { + return qs.w(qs.db.Where("fund_type = ?", fundType)) +} + +// FundTypeGt is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) FundTypeGt(fundType string) FundRecordQuerySet { + return qs.w(qs.db.Where("fund_type > ?", fundType)) +} + +// FundTypeGte is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) FundTypeGte(fundType string) FundRecordQuerySet { + return qs.w(qs.db.Where("fund_type >= ?", fundType)) +} + +// FundTypeIn is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) FundTypeIn(fundType ...string) FundRecordQuerySet { + if len(fundType) == 0 { + qs.db.AddError(errors.New("must at least pass one fundType in FundTypeIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("fund_type IN (?)", fundType)) +} + +// FundTypeLike is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) FundTypeLike(fundType string) FundRecordQuerySet { + return qs.w(qs.db.Where("fund_type LIKE ?", fundType)) +} + +// FundTypeLt is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) FundTypeLt(fundType string) FundRecordQuerySet { + return qs.w(qs.db.Where("fund_type < ?", fundType)) +} + +// FundTypeLte is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) FundTypeLte(fundType string) FundRecordQuerySet { + return qs.w(qs.db.Where("fund_type <= ?", fundType)) +} + +// FundTypeNe is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) FundTypeNe(fundType string) FundRecordQuerySet { + return qs.w(qs.db.Where("fund_type != ?", fundType)) +} + +// FundTypeNotIn is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) FundTypeNotIn(fundType ...string) FundRecordQuerySet { + if len(fundType) == 0 { + qs.db.AddError(errors.New("must at least pass one fundType in FundTypeNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("fund_type NOT IN (?)", fundType)) +} + +// FundTypeNotlike is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) FundTypeNotlike(fundType string) FundRecordQuerySet { + return qs.w(qs.db.Where("fund_type NOT LIKE ?", fundType)) +} + // GetDB is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) GetDB() *gorm.DB { +func (qs FundRecordQuerySet) GetDB() *gorm.DB { return qs.db } // GetUpdater is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) GetUpdater() UserConsumeRecordUpdater { - return NewUserConsumeRecordUpdater(qs.db) +func (qs FundRecordQuerySet) GetUpdater() FundRecordUpdater { + return NewFundRecordUpdater(qs.db) } // IDEq is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) IDEq(ID uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) IDEq(ID uint32) FundRecordQuerySet { return qs.w(qs.db.Where("id = ?", ID)) } // IDGt is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) IDGt(ID uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) IDGt(ID uint32) FundRecordQuerySet { return qs.w(qs.db.Where("id > ?", ID)) } // IDGte is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) IDGte(ID uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) IDGte(ID uint32) FundRecordQuerySet { return qs.w(qs.db.Where("id >= ?", ID)) } // IDIn is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) IDIn(ID ...uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) IDIn(ID ...uint32) FundRecordQuerySet { if len(ID) == 0 { qs.db.AddError(errors.New("must at least pass one ID in IDIn")) return qs.w(qs.db) @@ -1839,25 +1839,25 @@ func (qs UserConsumeRecordQuerySet) IDIn(ID ...uint32) UserConsumeRecordQuerySet // IDLt is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) IDLt(ID uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) IDLt(ID uint32) FundRecordQuerySet { return qs.w(qs.db.Where("id < ?", ID)) } // IDLte is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) IDLte(ID uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) IDLte(ID uint32) FundRecordQuerySet { return qs.w(qs.db.Where("id <= ?", ID)) } // IDNe is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) IDNe(ID uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) IDNe(ID uint32) FundRecordQuerySet { return qs.w(qs.db.Where("id != ?", ID)) } // IDNotIn is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) IDNotIn(ID ...uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) IDNotIn(ID ...uint32) FundRecordQuerySet { if len(ID) == 0 { qs.db.AddError(errors.New("must at least pass one ID in IDNotIn")) return qs.w(qs.db) @@ -1867,139 +1867,231 @@ func (qs UserConsumeRecordQuerySet) IDNotIn(ID ...uint32) UserConsumeRecordQuery // Limit is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) Limit(limit int) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) Limit(limit int) FundRecordQuerySet { return qs.w(qs.db.Limit(limit)) } // Offset is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) Offset(offset int) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) Offset(offset int) FundRecordQuerySet { return qs.w(qs.db.Offset(offset)) } // One is used to retrieve one result. It returns gorm.ErrRecordNotFound // if nothing was fetched -func (qs UserConsumeRecordQuerySet) One(ret *UserConsumeRecord) error { +func (qs FundRecordQuerySet) One(ret *FundRecord) error { return qs.db.First(ret).Error } // OrderAscByAmount is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) OrderAscByAmount() UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) OrderAscByAmount() FundRecordQuerySet { return qs.w(qs.db.Order("amount ASC")) } -// OrderAscByConsumeType is an autogenerated method -// nolint: dupl -func (qs UserConsumeRecordQuerySet) OrderAscByConsumeType() UserConsumeRecordQuerySet { - return qs.w(qs.db.Order("consume_type ASC")) -} - // OrderAscByCreatedAt is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) OrderAscByCreatedAt() UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) OrderAscByCreatedAt() FundRecordQuerySet { return qs.w(qs.db.Order("created_at ASC")) } // OrderAscByDeletedAt is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) OrderAscByDeletedAt() UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) OrderAscByDeletedAt() FundRecordQuerySet { return qs.w(qs.db.Order("deleted_at ASC")) } +// OrderAscByFundType is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) OrderAscByFundType() FundRecordQuerySet { + return qs.w(qs.db.Order("fund_type ASC")) +} + // OrderAscByID is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) OrderAscByID() UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) OrderAscByID() FundRecordQuerySet { return qs.w(qs.db.Order("id ASC")) } +// OrderAscByOutTradeNo is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) OrderAscByOutTradeNo() FundRecordQuerySet { + return qs.w(qs.db.Order("out_trade_no ASC")) +} + // OrderAscByStatus is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) OrderAscByStatus() UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) OrderAscByStatus() FundRecordQuerySet { return qs.w(qs.db.Order("status ASC")) } +// OrderAscByTransactionId is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) OrderAscByTransactionId() FundRecordQuerySet { + return qs.w(qs.db.Order("transaction_id ASC")) +} + // OrderAscByUid is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) OrderAscByUid() UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) OrderAscByUid() FundRecordQuerySet { return qs.w(qs.db.Order("uid ASC")) } // OrderAscByUpdatedAt is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) OrderAscByUpdatedAt() UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) OrderAscByUpdatedAt() FundRecordQuerySet { return qs.w(qs.db.Order("updated_at ASC")) } // OrderDescByAmount is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) OrderDescByAmount() UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) OrderDescByAmount() FundRecordQuerySet { return qs.w(qs.db.Order("amount DESC")) } -// OrderDescByConsumeType is an autogenerated method -// nolint: dupl -func (qs UserConsumeRecordQuerySet) OrderDescByConsumeType() UserConsumeRecordQuerySet { - return qs.w(qs.db.Order("consume_type DESC")) -} - // OrderDescByCreatedAt is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) OrderDescByCreatedAt() UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) OrderDescByCreatedAt() FundRecordQuerySet { return qs.w(qs.db.Order("created_at DESC")) } // OrderDescByDeletedAt is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) OrderDescByDeletedAt() UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) OrderDescByDeletedAt() FundRecordQuerySet { return qs.w(qs.db.Order("deleted_at DESC")) } +// OrderDescByFundType is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) OrderDescByFundType() FundRecordQuerySet { + return qs.w(qs.db.Order("fund_type DESC")) +} + // OrderDescByID is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) OrderDescByID() UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) OrderDescByID() FundRecordQuerySet { return qs.w(qs.db.Order("id DESC")) } +// OrderDescByOutTradeNo is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) OrderDescByOutTradeNo() FundRecordQuerySet { + return qs.w(qs.db.Order("out_trade_no DESC")) +} + // OrderDescByStatus is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) OrderDescByStatus() UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) OrderDescByStatus() FundRecordQuerySet { return qs.w(qs.db.Order("status DESC")) } +// OrderDescByTransactionId is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) OrderDescByTransactionId() FundRecordQuerySet { + return qs.w(qs.db.Order("transaction_id DESC")) +} + // OrderDescByUid is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) OrderDescByUid() UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) OrderDescByUid() FundRecordQuerySet { return qs.w(qs.db.Order("uid DESC")) } // OrderDescByUpdatedAt is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) OrderDescByUpdatedAt() UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) OrderDescByUpdatedAt() FundRecordQuerySet { return qs.w(qs.db.Order("updated_at DESC")) } +// OutTradeNoEq is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) OutTradeNoEq(outTradeNo string) FundRecordQuerySet { + return qs.w(qs.db.Where("out_trade_no = ?", outTradeNo)) +} + +// OutTradeNoGt is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) OutTradeNoGt(outTradeNo string) FundRecordQuerySet { + return qs.w(qs.db.Where("out_trade_no > ?", outTradeNo)) +} + +// OutTradeNoGte is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) OutTradeNoGte(outTradeNo string) FundRecordQuerySet { + return qs.w(qs.db.Where("out_trade_no >= ?", outTradeNo)) +} + +// OutTradeNoIn is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) OutTradeNoIn(outTradeNo ...string) FundRecordQuerySet { + if len(outTradeNo) == 0 { + qs.db.AddError(errors.New("must at least pass one outTradeNo in OutTradeNoIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("out_trade_no IN (?)", outTradeNo)) +} + +// OutTradeNoLike is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) OutTradeNoLike(outTradeNo string) FundRecordQuerySet { + return qs.w(qs.db.Where("out_trade_no LIKE ?", outTradeNo)) +} + +// OutTradeNoLt is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) OutTradeNoLt(outTradeNo string) FundRecordQuerySet { + return qs.w(qs.db.Where("out_trade_no < ?", outTradeNo)) +} + +// OutTradeNoLte is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) OutTradeNoLte(outTradeNo string) FundRecordQuerySet { + return qs.w(qs.db.Where("out_trade_no <= ?", outTradeNo)) +} + +// OutTradeNoNe is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) OutTradeNoNe(outTradeNo string) FundRecordQuerySet { + return qs.w(qs.db.Where("out_trade_no != ?", outTradeNo)) +} + +// OutTradeNoNotIn is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) OutTradeNoNotIn(outTradeNo ...string) FundRecordQuerySet { + if len(outTradeNo) == 0 { + qs.db.AddError(errors.New("must at least pass one outTradeNo in OutTradeNoNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("out_trade_no NOT IN (?)", outTradeNo)) +} + +// OutTradeNoNotlike is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) OutTradeNoNotlike(outTradeNo string) FundRecordQuerySet { + return qs.w(qs.db.Where("out_trade_no NOT LIKE ?", outTradeNo)) +} + // StatusEq is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) StatusEq(status uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) StatusEq(status uint32) FundRecordQuerySet { return qs.w(qs.db.Where("status = ?", status)) } // StatusGt is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) StatusGt(status uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) StatusGt(status uint32) FundRecordQuerySet { return qs.w(qs.db.Where("status > ?", status)) } // StatusGte is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) StatusGte(status uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) StatusGte(status uint32) FundRecordQuerySet { return qs.w(qs.db.Where("status >= ?", status)) } // StatusIn is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) StatusIn(status ...uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) StatusIn(status ...uint32) FundRecordQuerySet { if len(status) == 0 { qs.db.AddError(errors.New("must at least pass one status in StatusIn")) return qs.w(qs.db) @@ -2009,25 +2101,25 @@ func (qs UserConsumeRecordQuerySet) StatusIn(status ...uint32) UserConsumeRecord // StatusLt is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) StatusLt(status uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) StatusLt(status uint32) FundRecordQuerySet { return qs.w(qs.db.Where("status < ?", status)) } // StatusLte is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) StatusLte(status uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) StatusLte(status uint32) FundRecordQuerySet { return qs.w(qs.db.Where("status <= ?", status)) } // StatusNe is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) StatusNe(status uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) StatusNe(status uint32) FundRecordQuerySet { return qs.w(qs.db.Where("status != ?", status)) } // StatusNotIn is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) StatusNotIn(status ...uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) StatusNotIn(status ...uint32) FundRecordQuerySet { if len(status) == 0 { qs.db.AddError(errors.New("must at least pass one status in StatusNotIn")) return qs.w(qs.db) @@ -2035,27 +2127,95 @@ func (qs UserConsumeRecordQuerySet) StatusNotIn(status ...uint32) UserConsumeRec return qs.w(qs.db.Where("status NOT IN (?)", status)) } +// TransactionIdEq is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) TransactionIdEq(transactionId string) FundRecordQuerySet { + return qs.w(qs.db.Where("transaction_id = ?", transactionId)) +} + +// TransactionIdGt is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) TransactionIdGt(transactionId string) FundRecordQuerySet { + return qs.w(qs.db.Where("transaction_id > ?", transactionId)) +} + +// TransactionIdGte is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) TransactionIdGte(transactionId string) FundRecordQuerySet { + return qs.w(qs.db.Where("transaction_id >= ?", transactionId)) +} + +// TransactionIdIn is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) TransactionIdIn(transactionId ...string) FundRecordQuerySet { + if len(transactionId) == 0 { + qs.db.AddError(errors.New("must at least pass one transactionId in TransactionIdIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("transaction_id IN (?)", transactionId)) +} + +// TransactionIdLike is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) TransactionIdLike(transactionId string) FundRecordQuerySet { + return qs.w(qs.db.Where("transaction_id LIKE ?", transactionId)) +} + +// TransactionIdLt is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) TransactionIdLt(transactionId string) FundRecordQuerySet { + return qs.w(qs.db.Where("transaction_id < ?", transactionId)) +} + +// TransactionIdLte is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) TransactionIdLte(transactionId string) FundRecordQuerySet { + return qs.w(qs.db.Where("transaction_id <= ?", transactionId)) +} + +// TransactionIdNe is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) TransactionIdNe(transactionId string) FundRecordQuerySet { + return qs.w(qs.db.Where("transaction_id != ?", transactionId)) +} + +// TransactionIdNotIn is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) TransactionIdNotIn(transactionId ...string) FundRecordQuerySet { + if len(transactionId) == 0 { + qs.db.AddError(errors.New("must at least pass one transactionId in TransactionIdNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("transaction_id NOT IN (?)", transactionId)) +} + +// TransactionIdNotlike is an autogenerated method +// nolint: dupl +func (qs FundRecordQuerySet) TransactionIdNotlike(transactionId string) FundRecordQuerySet { + return qs.w(qs.db.Where("transaction_id NOT LIKE ?", transactionId)) +} + // UidEq is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) UidEq(uid uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) UidEq(uid uint32) FundRecordQuerySet { return qs.w(qs.db.Where("uid = ?", uid)) } // UidGt is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) UidGt(uid uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) UidGt(uid uint32) FundRecordQuerySet { return qs.w(qs.db.Where("uid > ?", uid)) } // UidGte is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) UidGte(uid uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) UidGte(uid uint32) FundRecordQuerySet { return qs.w(qs.db.Where("uid >= ?", uid)) } // UidIn is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) UidIn(uid ...uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) UidIn(uid ...uint32) FundRecordQuerySet { if len(uid) == 0 { qs.db.AddError(errors.New("must at least pass one uid in UidIn")) return qs.w(qs.db) @@ -2065,25 +2225,25 @@ func (qs UserConsumeRecordQuerySet) UidIn(uid ...uint32) UserConsumeRecordQueryS // UidLt is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) UidLt(uid uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) UidLt(uid uint32) FundRecordQuerySet { return qs.w(qs.db.Where("uid < ?", uid)) } // UidLte is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) UidLte(uid uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) UidLte(uid uint32) FundRecordQuerySet { return qs.w(qs.db.Where("uid <= ?", uid)) } // UidNe is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) UidNe(uid uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) UidNe(uid uint32) FundRecordQuerySet { return qs.w(qs.db.Where("uid != ?", uid)) } // UidNotIn is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) UidNotIn(uid ...uint32) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) UidNotIn(uid ...uint32) FundRecordQuerySet { if len(uid) == 0 { qs.db.AddError(errors.New("must at least pass one uid in UidNotIn")) return qs.w(qs.db) @@ -2093,156 +2253,176 @@ func (qs UserConsumeRecordQuerySet) UidNotIn(uid ...uint32) UserConsumeRecordQue // UpdatedAtEq is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) UpdatedAtEq(updatedAt time.Time) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) UpdatedAtEq(updatedAt time.Time) FundRecordQuerySet { return qs.w(qs.db.Where("updated_at = ?", updatedAt)) } // UpdatedAtGt is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) UpdatedAtGt(updatedAt time.Time) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) UpdatedAtGt(updatedAt time.Time) FundRecordQuerySet { return qs.w(qs.db.Where("updated_at > ?", updatedAt)) } // UpdatedAtGte is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) UpdatedAtGte(updatedAt time.Time) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) UpdatedAtGte(updatedAt time.Time) FundRecordQuerySet { return qs.w(qs.db.Where("updated_at >= ?", updatedAt)) } // UpdatedAtLt is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) UpdatedAtLt(updatedAt time.Time) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) UpdatedAtLt(updatedAt time.Time) FundRecordQuerySet { return qs.w(qs.db.Where("updated_at < ?", updatedAt)) } // UpdatedAtLte is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) UpdatedAtLte(updatedAt time.Time) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) UpdatedAtLte(updatedAt time.Time) FundRecordQuerySet { return qs.w(qs.db.Where("updated_at <= ?", updatedAt)) } // UpdatedAtNe is an autogenerated method // nolint: dupl -func (qs UserConsumeRecordQuerySet) UpdatedAtNe(updatedAt time.Time) UserConsumeRecordQuerySet { +func (qs FundRecordQuerySet) UpdatedAtNe(updatedAt time.Time) FundRecordQuerySet { return qs.w(qs.db.Where("updated_at != ?", updatedAt)) } // SetAmount is an autogenerated method // nolint: dupl -func (u UserConsumeRecordUpdater) SetAmount(amount uint32) UserConsumeRecordUpdater { - u.fields[string(UserConsumeRecordDBSchema.Amount)] = amount - return u -} - -// SetConsumeType is an autogenerated method -// nolint: dupl -func (u UserConsumeRecordUpdater) SetConsumeType(consumeType string) UserConsumeRecordUpdater { - u.fields[string(UserConsumeRecordDBSchema.ConsumeType)] = consumeType +func (u FundRecordUpdater) SetAmount(amount int64) FundRecordUpdater { + u.fields[string(FundRecordDBSchema.Amount)] = amount return u } // SetCreatedAt is an autogenerated method // nolint: dupl -func (u UserConsumeRecordUpdater) SetCreatedAt(createdAt time.Time) UserConsumeRecordUpdater { - u.fields[string(UserConsumeRecordDBSchema.CreatedAt)] = createdAt +func (u FundRecordUpdater) SetCreatedAt(createdAt time.Time) FundRecordUpdater { + u.fields[string(FundRecordDBSchema.CreatedAt)] = createdAt return u } // SetDeletedAt is an autogenerated method // nolint: dupl -func (u UserConsumeRecordUpdater) SetDeletedAt(deletedAt *time.Time) UserConsumeRecordUpdater { - u.fields[string(UserConsumeRecordDBSchema.DeletedAt)] = deletedAt +func (u FundRecordUpdater) SetDeletedAt(deletedAt *time.Time) FundRecordUpdater { + u.fields[string(FundRecordDBSchema.DeletedAt)] = deletedAt + return u +} + +// SetFundType is an autogenerated method +// nolint: dupl +func (u FundRecordUpdater) SetFundType(fundType string) FundRecordUpdater { + u.fields[string(FundRecordDBSchema.FundType)] = fundType return u } // SetID is an autogenerated method // nolint: dupl -func (u UserConsumeRecordUpdater) SetID(ID uint32) UserConsumeRecordUpdater { - u.fields[string(UserConsumeRecordDBSchema.ID)] = ID +func (u FundRecordUpdater) SetID(ID uint32) FundRecordUpdater { + u.fields[string(FundRecordDBSchema.ID)] = ID + return u +} + +// SetOutTradeNo is an autogenerated method +// nolint: dupl +func (u FundRecordUpdater) SetOutTradeNo(outTradeNo string) FundRecordUpdater { + u.fields[string(FundRecordDBSchema.OutTradeNo)] = outTradeNo return u } // SetStatus is an autogenerated method // nolint: dupl -func (u UserConsumeRecordUpdater) SetStatus(status uint32) UserConsumeRecordUpdater { - u.fields[string(UserConsumeRecordDBSchema.Status)] = status +func (u FundRecordUpdater) SetStatus(status uint32) FundRecordUpdater { + u.fields[string(FundRecordDBSchema.Status)] = status + return u +} + +// SetTransactionId is an autogenerated method +// nolint: dupl +func (u FundRecordUpdater) SetTransactionId(transactionId string) FundRecordUpdater { + u.fields[string(FundRecordDBSchema.TransactionId)] = transactionId return u } // SetUid is an autogenerated method // nolint: dupl -func (u UserConsumeRecordUpdater) SetUid(uid uint32) UserConsumeRecordUpdater { - u.fields[string(UserConsumeRecordDBSchema.Uid)] = uid +func (u FundRecordUpdater) SetUid(uid uint32) FundRecordUpdater { + u.fields[string(FundRecordDBSchema.Uid)] = uid return u } // SetUpdatedAt is an autogenerated method // nolint: dupl -func (u UserConsumeRecordUpdater) SetUpdatedAt(updatedAt time.Time) UserConsumeRecordUpdater { - u.fields[string(UserConsumeRecordDBSchema.UpdatedAt)] = updatedAt +func (u FundRecordUpdater) SetUpdatedAt(updatedAt time.Time) FundRecordUpdater { + u.fields[string(FundRecordDBSchema.UpdatedAt)] = updatedAt return u } // Update is an autogenerated method // nolint: dupl -func (u UserConsumeRecordUpdater) Update() error { +func (u FundRecordUpdater) Update() error { return u.db.Updates(u.fields).Error } // UpdateNum is an autogenerated method // nolint: dupl -func (u UserConsumeRecordUpdater) UpdateNum() (int64, error) { +func (u FundRecordUpdater) UpdateNum() (int64, error) { db := u.db.Updates(u.fields) return db.RowsAffected, db.Error } -// ===== END of query set UserConsumeRecordQuerySet +// ===== END of query set FundRecordQuerySet -// ===== BEGIN of UserConsumeRecord modifiers +// ===== BEGIN of FundRecord modifiers -// UserConsumeRecordDBSchemaField describes database schema field. It requires for method 'Update' -type UserConsumeRecordDBSchemaField string +// FundRecordDBSchemaField describes database schema field. It requires for method 'Update' +type FundRecordDBSchemaField string // String method returns string representation of field. // nolint: dupl -func (f UserConsumeRecordDBSchemaField) String() string { +func (f FundRecordDBSchemaField) String() string { return string(f) } -// UserConsumeRecordDBSchema stores db field names of UserConsumeRecord -var UserConsumeRecordDBSchema = struct { - ID UserConsumeRecordDBSchemaField - CreatedAt UserConsumeRecordDBSchemaField - UpdatedAt UserConsumeRecordDBSchemaField - DeletedAt UserConsumeRecordDBSchemaField - Uid UserConsumeRecordDBSchemaField - ConsumeType UserConsumeRecordDBSchemaField - Amount UserConsumeRecordDBSchemaField - Status UserConsumeRecordDBSchemaField +// FundRecordDBSchema stores db field names of FundRecord +var FundRecordDBSchema = struct { + ID FundRecordDBSchemaField + CreatedAt FundRecordDBSchemaField + UpdatedAt FundRecordDBSchemaField + DeletedAt FundRecordDBSchemaField + Uid FundRecordDBSchemaField + FundType FundRecordDBSchemaField + Amount FundRecordDBSchemaField + TransactionId FundRecordDBSchemaField + OutTradeNo FundRecordDBSchemaField + Status FundRecordDBSchemaField }{ - ID: UserConsumeRecordDBSchemaField("id"), - CreatedAt: UserConsumeRecordDBSchemaField("created_at"), - UpdatedAt: UserConsumeRecordDBSchemaField("updated_at"), - DeletedAt: UserConsumeRecordDBSchemaField("deleted_at"), - Uid: UserConsumeRecordDBSchemaField("uid"), - ConsumeType: UserConsumeRecordDBSchemaField("consume_type"), - Amount: UserConsumeRecordDBSchemaField("amount"), - Status: UserConsumeRecordDBSchemaField("status"), + ID: FundRecordDBSchemaField("id"), + CreatedAt: FundRecordDBSchemaField("created_at"), + UpdatedAt: FundRecordDBSchemaField("updated_at"), + DeletedAt: FundRecordDBSchemaField("deleted_at"), + Uid: FundRecordDBSchemaField("uid"), + FundType: FundRecordDBSchemaField("fund_type"), + Amount: FundRecordDBSchemaField("amount"), + TransactionId: FundRecordDBSchemaField("transaction_id"), + OutTradeNo: FundRecordDBSchemaField("out_trade_no"), + Status: FundRecordDBSchemaField("status"), } -// Update updates UserConsumeRecord fields by primary key +// Update updates FundRecord fields by primary key // nolint: dupl -func (o *UserConsumeRecord) Update(db *gorm.DB, fields ...UserConsumeRecordDBSchemaField) error { +func (o *FundRecord) Update(db *gorm.DB, fields ...FundRecordDBSchemaField) error { dbNameToFieldName := map[string]interface{}{ - "id": o.ID, - "created_at": o.CreatedAt, - "updated_at": o.UpdatedAt, - "deleted_at": o.DeletedAt, - "uid": o.Uid, - "consume_type": o.ConsumeType, - "amount": o.Amount, - "status": o.Status, + "id": o.ID, + "created_at": o.CreatedAt, + "updated_at": o.UpdatedAt, + "deleted_at": o.DeletedAt, + "uid": o.Uid, + "fund_type": o.FundType, + "amount": o.Amount, + "transaction_id": o.TransactionId, + "out_trade_no": o.OutTradeNo, + "status": o.Status, } u := map[string]interface{}{} for _, f := range fields { @@ -2254,29 +2434,29 @@ func (o *UserConsumeRecord) Update(db *gorm.DB, fields ...UserConsumeRecordDBSch return err } - return fmt.Errorf("can't update UserConsumeRecord %v fields %v: %s", + return fmt.Errorf("can't update FundRecord %v fields %v: %s", o, fields, err) } return nil } -// UserConsumeRecordUpdater is an UserConsumeRecord updates manager -type UserConsumeRecordUpdater struct { +// FundRecordUpdater is an FundRecord updates manager +type FundRecordUpdater struct { fields map[string]interface{} db *gorm.DB } -// NewUserConsumeRecordUpdater creates new UserConsumeRecord updater +// NewFundRecordUpdater creates new FundRecord updater // nolint: dupl -func NewUserConsumeRecordUpdater(db *gorm.DB) UserConsumeRecordUpdater { - return UserConsumeRecordUpdater{ +func NewFundRecordUpdater(db *gorm.DB) FundRecordUpdater { + return FundRecordUpdater{ fields: map[string]interface{}{}, - db: db.Model(&UserConsumeRecord{}), + db: db.Model(&FundRecord{}), } } -// ===== END of UserConsumeRecord modifiers +// ===== END of FundRecord modifiers // ===== BEGIN of query set UserInviteQuerySet diff --git a/model/model_test.go b/model/model_test.go index d0c3fa3..4aebf8d 100644 --- a/model/model_test.go +++ b/model/model_test.go @@ -120,6 +120,7 @@ func InitTestDB() { //&GameShareCardVm{}, &GameCard{}, + &FundRecord{}, ) fmt.Println("DB init success") diff --git a/model/order.go b/model/order.go index ea90f69..8506e8b 100644 --- a/model/order.go +++ b/model/order.go @@ -829,6 +829,18 @@ func (m *Order) CreatOrderCard(cards []CardInfo, storeId uint32, gdb *gorm.DB) e return nil } -func QueryRecordExist(sql string) { - DB.Where("").Count("") +type RecordExist struct { + RecordExist int64 `json:"record_exist"` +} + +func QueryRecordExist(sql string) (bool, error) { + var recordExist RecordExist + existSql := fmt.Sprintf("SELECT EXISTS (%s) AS record_exist;", sql) + err := DB.Raw(existSql).Scan(&recordExist).Error + if err != nil { + logger.Error("err:", err) + return false, err + } + + return recordExist.RecordExist == 1, nil } diff --git a/model/user.go b/model/user.go index 71ad2bd..b2de124 100644 --- a/model/user.go +++ b/model/user.go @@ -65,7 +65,7 @@ const ( TimeFormat = "2006-01-02 15:04:05" ) const ( - OpenMemberChannelStorePromotion = "store_promotion" + OpenMemberChannelStorePromotion = "store_promotion" // 门店推荐 OpenMemberChannelUserInvite = "user_invite" OpenMemberChannelRedeemCode = "redeem_code" ) @@ -107,26 +107,32 @@ type DepositRefundRecord struct { User User `json:"user" gorm:"-"` } -// 黄金会员 member_gold 白金会员 member_platinum 黑金会员 member_black_gold -// member_gold_deposit member_platinum_deposit member_black_gold_platinum -// express_fee const ( - UserConsumeTypeMemberGold = "member_gold" - UserConsumeTypeMemberPlatinum = "member_platinum" - UserConsumeTypeMemberBlackGold = "member_black_gold" - UserConsumeTypeMemberGoldDeposit = "member_gold_deposit" - UserConsumeTypeMemberPlatinumDeposit = "member_platinum_deposit" - UserConsumeTypeMemberBlackGoldDeposit = "member_black_gold_platinum" - UserConsumeTypeExpressFee = "express_fee" + FundTypeMemberFee = "member_fee" + FundTypeMemberDeposit = "member_deposit" + + //FundTypeMemberGold = "member_gold" // 黄金会员 + //FundTypeMemberPlatinum = "member_platinum" // 白金会员 + //FundTypeMemberBlackGold = "member_black_gold" // 黑金会员 + //FundTypeMemberGoldDeposit = "member_gold_deposit" // 黄金会员押金 + //FundTypeMemberPlatinumDeposit = "member_platinum_deposit" // 白金会员押金 + //FundTypeMemberBlackGoldDeposit = "member_black_gold_platinum" // 黑金会员押金 + + FundTypeExpressFee = "express_fee" // 邮费 + FundTypeUpgradeMember = "upgrade_member" // 升级会员 + FundTypeMemberExpireDelay = "member_expire_delay" // 滞纳金 ) // gen:qs -type UserConsumeRecord struct { +type FundRecord struct { Model - Uid uint32 `json:"uid"` - ConsumeType string `json:"consume_type"` // 黄金会员 member_gold 白金会员 member_platinum 黑金会员 member_black_gold - Amount uint32 `json:"amount"` - Status uint32 `json:"status"` // 1-待支付 2-已支付 3-已退款 + Uid uint32 `json:"uid"` + FundType string `json:"fund_type"` // -member_gold -member_platinum -member_black_gold + Amount int64 `json:"amount"` + TransactionId string `json:"transaction_id"` // 支付单号 + OutTradeNo string `json:"out_trade_no"` + Status uint32 `json:"status"` // 1-待支付 2-已支付 3-已退款 + Remark string `json:"remark"` // 备注 } // gen:qs