diff --git a/cmd/server.go b/cmd/server.go index a9b5660..c50b3dd 100644 --- a/cmd/server.go +++ b/cmd/server.go @@ -24,6 +24,7 @@ func runServer() { logger.Error(err) return } + } var serverCmd = &cobra.Command{ @@ -129,4 +130,47 @@ func init() { // panic(err) // } // fmt.Println("DB init success") -//} \ No newline at end of file +//} + +//func main() { +// +// router := gin.Default() +// +// // v1 +// r1 := router.Group("/test/v1.0") +// { +// r1.GET("/testrestart", controller.Testshutdown) +// } //router.Run( utils.GlobalObject.ServiceHost + ":" + utils.GlobalObject.ServicePort) +// srv := &http.Server{ +// Addr: utils.GlobalObject.ServiceHost + ":" + utils.GlobalObject.ServicePort, +// Handler: router, +// } +// go func() { +// // service connections +// if err := srv.ListenAndServe(); err != nil && err != http.ErrServerClosed { +// log.Fatalf("listen: %s", err) +// } +// }() +// +// // Wait for interrupt signal to gracefully shutdown the server with +// // a timeout of 5 seconds. +// quit := make(chan os.Signal) +// // kill (no param) default send syscanll.SIGTERM +// // kill -2 is syscall.SIGINT +// // kill -9 is syscall. SIGKILL but can"t be catch, so don't need add it +// signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM) +// <-quit +// log.Println("Shutdown Server ...") +// +// ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) +// defer cancel() +// if err := srv.Shutdown(ctx); err != nil { +// log.Fatal("Server Shutdown:", err) +// } +// // catching ctx.Done(). timeout of 5 seconds. +// select { +// case <-ctx.Done(): +// log.Println("timeout of 10 seconds.") +// } +// log.Println("Server exiting") +//} diff --git a/controller/account.go b/controller/account.go index c3f3b68..5d71beb 100644 --- a/controller/account.go +++ b/controller/account.go @@ -67,45 +67,45 @@ func AuthLogin(c *gin.Context) { now := time.Now() // 不存在则创建 新用户 //var invite *model.UserInvite - if req.InviteUid != 0 && req.InviteUid != user.Uid && user.StoreId == 0 { + //if req.InviteUid != 0 && req.InviteUid != user.Uid && user.StoreId == 0 { + if req.InviteUid != 0 && req.InviteUid != user.Uid { inviteUser := model.GetUserByUid(req.InviteUid) user.StoreId = inviteUser.StoreId if inviteUser.UserType == 2 { //user.UserType = model.UserTypeConsumer - num, err := model.NewUserQuerySet(model.DB).UidEq(user.Uid).GetUpdater().SetStoreId(inviteUser.StoreId). + _, err = model.NewUserQuerySet(model.DB).UidEq(user.Uid).GetUpdater().SetStoreId(inviteUser.StoreId). UpdateNum() if err != nil { logger.Error(err) } - if num == 0 { - logger.Error("update store id err") + memberLevel := user.MemberLevel + if memberLevel == 0 { + memberLevel = model.MemberTypeConsumer } - invite := &model.UserInvite{ FromUid: req.InviteUid, UserType: inviteUser.UserType, StoreId: inviteUser.StoreId, MemberOpenTime: time.Time{}, - MemberType: model.MemberTypeConsumer, + MemberType: memberLevel, MemberStatus: 1, ToUid: user.Uid, } - count, err := model.NewUserInviteQuerySet(model.DB).ToUidEq(user.Uid).Count() - if err != nil { + //count, err := model.NewUserInviteQuerySet(model.DB).FromUidEq(req.InviteUid).ToUidEq(user.Uid).Count() + //if err != nil { + // logger.Error(err) + // RespJson(c, status.InternalServerError, nil) + // return + //} + //if count == 0 { + //} + if err := invite.Create(model.DB); err != nil { logger.Error(err) RespJson(c, status.InternalServerError, nil) return } - if count == 0 { - if err := invite.Create(model.DB); err != nil { - logger.Error(err) - RespJson(c, status.InternalServerError, nil) - return - } - - } } } diff --git a/controller/activity.go b/controller/activity.go index f1702e8..40e0e01 100644 --- a/controller/activity.go +++ b/controller/activity.go @@ -81,7 +81,7 @@ func UserMemberRenewalState(c *gin.Context) { if err == model.RecordNotFound || uint32(user.MemberExpire.Unix()) != activityMemberRenewal.MemberSerial { //if user.MemberExpire.Before(utils.Now().AddDate(0, 1, 0)) && // user.MemberExpire.After(utils.Now()) { - if user.MemberExpire.Before(utils.Now().AddDate(0, 1, 0)) { + if user.MemberExpire.Before(utils.Now().AddDate(0, 0, model.GetActivityRenewalConfig().PopTrap)) { activityMemberRenewal = model.ActivityMemberRenewal{ ActivityId: 1, Uid: uc.Uid, @@ -114,7 +114,7 @@ func UserMemberRenewalState(c *gin.Context) { isPop = false } } - if activityMemberRenewal.StartTime.AddDate(0, 0, model.MemberRenewalExpiration).Before(utils.Now()) { + if activityMemberRenewal.StartTime.AddDate(0, 0, model.GetActivityRenewalConfig().ActivityContinuity).Before(utils.Now()) { activityMemberRenewal.State = 3 _, err = model.NewActivityMemberRenewalQuerySet(model.DB).IDEq(activityMemberRenewal.ID).GetUpdater(). SetState(3).UpdateNum() @@ -206,7 +206,7 @@ func UserMemberRenewalInfo(c *gin.Context) { coupons[i].IsDraw = true } } - down := model.MemberRenewalExpiration*24*3600 - (utils.Now().Unix() - renewal.StartTime.Unix()) + down := int64(model.GetActivityRenewalConfig().ActivityContinuity)*24*3600 - (utils.Now().Unix() - renewal.StartTime.Unix()) ret := map[string]interface{}{ "coupon_list": coupons, "renewal": renewal, @@ -307,7 +307,7 @@ func UserMemberRenewalCouponDraw(c *gin.Context) { Value: coupons[i].Value, State: 1, ActiveStart: time.Now(), - ActiveEnd: time.Now().AddDate(0, 0, model.MemberRenewalExpiration), + ActiveEnd: time.Now().AddDate(0, 0, model.GetActivityRenewalConfig().CouponValidity), MemberLevel: coupons[i].MemberLevel, } diff --git a/controller/game_card.go b/controller/game_card.go index 1b903e0..e4682d8 100644 --- a/controller/game_card.go +++ b/controller/game_card.go @@ -435,32 +435,53 @@ func PushWXPayNotice(c *gin.Context) { fundRecord.Uid = uint32(record.Uid) fundRecord.FundType = model.FundTypeMemberFee fundRecord.Remark = remark + memberRecord := &model.UserMemberRecord{ + Uid: record.Uid, + AfterMemberLevel: record.MemberLevel, + } + newTime := time.Now() var user model.User err = model.NewUserQuerySet(model.DB).UidEq(record.Uid).One(&user) if err != nil { logger.Error("err:", err) } else { - expireTime := time.Now().AddDate(1, 0, 0) - if user.MemberExpire.After(time.Now()) { + expireTime := newTime.AddDate(1, 0, 0) + if user.MemberExpire.After(newTime) { expireTime = user.MemberExpire.AddDate(1, 0, 0) } - + memberRecord.BeforeMemberLevel = user.MemberLevel + memberRecord.BeforeMemberExpire = user.MemberExpire + memberRecord.Serial = uint32(user.MemberExpire.Unix()) + memberRecord.AfterMemberExpire = expireTime + if user.IsMember() { + memberRecord.OpenMemberLevel = user.OpenMemberLevel + memberRecord.OpenMemberTime = user.OpenMemberTime + } else { + memberRecord.OpenMemberLevel = record.MemberLevel + memberRecord.OpenMemberTime = newTime + } memberConfig, err := model.GetMemberConfig(record.MemberLevel) if err != nil { logger.Error("GetMemberConfig err:", err) return } - openMemberTime := time.Now() - if !user.OpenMemberTime.IsZero() { - openMemberTime = user.OpenMemberTime + //openMemberTime := newTime + userUpdateQs := model.NewUserQuerySet(model.DB).UidEq(record.Uid).GetUpdater().SetMemberLevel(record.MemberLevel). + SetMemberExpire(expireTime).SetDeposit(memberConfig.MemberDeposit) + if user.OpenMemberTime.IsZero() { + //openMemberTime = user.OpenMemberTime + userUpdateQs = userUpdateQs.SetOpenMemberTime(newTime).SetOpenMemberLevel(record.MemberLevel) + memberRecord.Type = model.GetUserMemberRecordType(record.MemberLevel, 1) + } else { + memberRecord.Type = model.GetUserMemberRecordType(record.MemberLevel, 2) } - _, err = model.NewUserQuerySet(model.DB).UidEq(record.Uid).GetUpdater().SetMemberLevel(record.MemberLevel). - SetMemberExpire(expireTime).SetDeposit(memberConfig.MemberDeposit).SetOpenMemberTime(openMemberTime). - UpdateNum() + + _, err = userUpdateQs.UpdateNum() if err != nil { logger.Error("err:", err) return } + if record.UserCouponId > 0 { err = model.NewUserCouponQuerySet(model.DB).IDEq(record.UserCouponId).GetUpdater(). SetState(2).SetUseTime(utils.Now()).Update() @@ -479,7 +500,7 @@ func PushWXPayNotice(c *gin.Context) { FromUid: 0, UserType: 0, StoreId: 0, - MemberOpenTime: time.Now(), + MemberOpenTime: newTime, MemberType: 2, ToUid: record.Uid, MemberStatus: 2, @@ -496,7 +517,7 @@ func PushWXPayNotice(c *gin.Context) { } else { qs := model.NewUserInviteQuerySet(model.DB).ToUidEq(record.Uid).GetUpdater() if user.MemberLevel != 2 { - qs = qs.SetMemberOpenTime(time.Now()).SetMemberLevel(record.MemberLevel) + qs = qs.SetMemberOpenTime(newTime).SetMemberLevel(record.MemberLevel) } num, err := qs.SetMemberType(2).SetMemberStatus(2).UpdateNum() if err != nil { @@ -526,8 +547,15 @@ func PushWXPayNotice(c *gin.Context) { if inviteUser.UserType == 2 { openMemberChannel = model.OpenMemberChannelStorePromotion - model.AddCooperativeMemberPromotion(inviteUser.CooperativeBusinessId, - uint32(inviteUser.StoreId), inviteUser.Uid, int(record.MemberLevel)) + if !user.OpenMemberTime.IsZero() { + fmt.Println("用户续费---") + model.AddCooperativeMemberRenewal(inviteUser.CooperativeBusinessId, + uint32(inviteUser.StoreId), inviteUser.Uid, int(record.MemberLevel)) + } else { + fmt.Println("用户开通------") + model.AddCooperativeMemberPromotion(inviteUser.CooperativeBusinessId, + uint32(inviteUser.StoreId), inviteUser.Uid, int(record.MemberLevel)) + } userQs = userQs.SetCooperativeBusinessId(inviteUser.CooperativeBusinessId). SetCooperativeName(inviteUser.CooperativeName) @@ -544,7 +572,12 @@ func PushWXPayNotice(c *gin.Context) { if user.MemberLevel != 2 { } - + go func() { + err = model.DB.Create(memberRecord).Error + if err != nil { + logger.Error("create member record err:", err) + } + }() model.CreateUserRentCardByMemberLevel(record.Uid, record.MemberLevel, memberConfig.CardMax) } _, err = model.NewUserOpenMemberRecordQuerySet(model.DB).IDEq(record.ID).GetUpdater().SetState(2).UpdateNum() @@ -662,6 +695,24 @@ func PushWXPayNotice(c *gin.Context) { logger.Error("user err:", err) return } + + memberRecord := &model.UserMemberRecord{ + Uid: record.Uid, + BeforeMemberLevel: user.MemberLevel, + AfterMemberLevel: record.MemberLevel, + BeforeMemberExpire: user.MemberExpire, + AfterMemberExpire: record.MemberExpire, + InviteUid: 0, + DeductionDays: record.DeductionDays, + DeductionFee: record.DeductionFee, + CouponId: record.UserCouponId, + Serial: uint32(user.MemberExpire.Unix()), + Type: model.GetUserMemberRecordType(record.MemberLevel, 3), + OpenMemberLevel: user.OpenMemberLevel, + OpenMemberTime: user.OpenMemberTime, + } + memberRecord.Add() + memberConfig, err := model.GetMemberConfig(record.MemberLevel) if err != nil { logger.Error("GetMemberConfig err:", err) @@ -717,6 +768,7 @@ func PushWXPayNotice(c *gin.Context) { if err != nil { logger.Error("update user open member record state:err", err) } + fundRecord.Uid = uint32(record.Uid) fundRecord.FundType = model.FundTypeUpgradeMember fundRecord.Remark = "升级会员" diff --git a/model/analyse.go b/model/analyse.go index 3f48bc8..39bd561 100644 --- a/model/analyse.go +++ b/model/analyse.go @@ -57,3 +57,61 @@ func GetActionUserRenewalLog(uid, action uint32) (UserRenewalLog, error) { } return userRenewalLog, nil } + +// gen:qs +type UserMemberRecord struct { + Model + Uid uint32 `json:"uid" gorm:"index"` + BeforeMemberLevel uint32 `json:"before_member_level"` + AfterMemberLevel uint32 `json:"after_member_level"` + BeforeMemberExpire time.Time `json:"before_member_expire"` + AfterMemberExpire time.Time `json:"after_member_expire"` + InviteUid uint32 `json:"invite_uid" gorm:"index"` + DeductionDays uint32 `json:"deduction_days"` // 抵扣天数 + DeductionFee uint32 `json:"deduction_fee"` // 抵扣金额 + CouponId uint32 `json:"coupon_id"` // 优惠券id + Serial uint32 `json:"serial" gorm:"index"` // 日志 + Type uint32 `json:"type" gorm:"index"` // 1-开通黄金 2-开通白金 3-开通黑金 4-续费黄金 5-续费白金 6-续费黑金 7-升级白金 8-升级黑金 + OpenMemberLevel uint32 `json:"open_member_level"` + OpenMemberTime time.Time `json:"open_member_time"` +} + +func GetUserMemberRecordType(level uint32, memberType uint32) uint32 { + if memberType == 1 { + switch level { + case 2: + return 1 + case 4: + return 2 + case 5: + return 3 + } + } else if memberType == 2 { + switch level { + case 2: + return 4 + case 4: + return 5 + case 5: + return 6 + } + } else if memberType == 3 { + switch level { + case 4: + return 7 + case 5: + return 8 + } + } + + return 0 +} + +func (m *UserMemberRecord) Add() { + go func() { + err := DB.Create(m).Error + if err != nil { + logger.Error("create user member record err:", err) + } + }() +} diff --git a/model/autogenerated_analyse.go b/model/autogenerated_analyse.go index 7d262c1..673eca4 100644 --- a/model/autogenerated_analyse.go +++ b/model/autogenerated_analyse.go @@ -12,6 +12,1262 @@ import ( // ===== BEGIN of all query sets +// ===== BEGIN of query set UserMemberRecordQuerySet + +// UserMemberRecordQuerySet is an queryset type for UserMemberRecord +type UserMemberRecordQuerySet struct { + db *gorm.DB +} + +// NewUserMemberRecordQuerySet constructs new UserMemberRecordQuerySet +func NewUserMemberRecordQuerySet(db *gorm.DB) UserMemberRecordQuerySet { + return UserMemberRecordQuerySet{ + db: db.Model(&UserMemberRecord{}), + } +} + +func (qs UserMemberRecordQuerySet) w(db *gorm.DB) UserMemberRecordQuerySet { + return NewUserMemberRecordQuerySet(db) +} + +func (qs UserMemberRecordQuerySet) Select(fields ...UserMemberRecordDBSchemaField) UserMemberRecordQuerySet { + names := []string{} + for _, f := range fields { + names = append(names, f.String()) + } + + return qs.w(qs.db.Select(strings.Join(names, ","))) +} + +// Create is an autogenerated method +// nolint: dupl +func (o *UserMemberRecord) Create(db *gorm.DB) error { + return db.Create(o).Error +} + +// Delete is an autogenerated method +// nolint: dupl +func (o *UserMemberRecord) Delete(db *gorm.DB) error { + return db.Delete(o).Error +} + +// AfterMemberExpireEq is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) AfterMemberExpireEq(afterMemberExpire time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("after_member_expire = ?", afterMemberExpire)) +} + +// AfterMemberExpireGt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) AfterMemberExpireGt(afterMemberExpire time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("after_member_expire > ?", afterMemberExpire)) +} + +// AfterMemberExpireGte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) AfterMemberExpireGte(afterMemberExpire time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("after_member_expire >= ?", afterMemberExpire)) +} + +// AfterMemberExpireLt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) AfterMemberExpireLt(afterMemberExpire time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("after_member_expire < ?", afterMemberExpire)) +} + +// AfterMemberExpireLte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) AfterMemberExpireLte(afterMemberExpire time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("after_member_expire <= ?", afterMemberExpire)) +} + +// AfterMemberExpireNe is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) AfterMemberExpireNe(afterMemberExpire time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("after_member_expire != ?", afterMemberExpire)) +} + +// AfterMemberLevelEq is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) AfterMemberLevelEq(afterMemberLevel uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("after_member_level = ?", afterMemberLevel)) +} + +// AfterMemberLevelGt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) AfterMemberLevelGt(afterMemberLevel uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("after_member_level > ?", afterMemberLevel)) +} + +// AfterMemberLevelGte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) AfterMemberLevelGte(afterMemberLevel uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("after_member_level >= ?", afterMemberLevel)) +} + +// AfterMemberLevelIn is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) AfterMemberLevelIn(afterMemberLevel ...uint32) UserMemberRecordQuerySet { + if len(afterMemberLevel) == 0 { + qs.db.AddError(errors.New("must at least pass one afterMemberLevel in AfterMemberLevelIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("after_member_level IN (?)", afterMemberLevel)) +} + +// AfterMemberLevelLt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) AfterMemberLevelLt(afterMemberLevel uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("after_member_level < ?", afterMemberLevel)) +} + +// AfterMemberLevelLte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) AfterMemberLevelLte(afterMemberLevel uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("after_member_level <= ?", afterMemberLevel)) +} + +// AfterMemberLevelNe is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) AfterMemberLevelNe(afterMemberLevel uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("after_member_level != ?", afterMemberLevel)) +} + +// AfterMemberLevelNotIn is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) AfterMemberLevelNotIn(afterMemberLevel ...uint32) UserMemberRecordQuerySet { + if len(afterMemberLevel) == 0 { + qs.db.AddError(errors.New("must at least pass one afterMemberLevel in AfterMemberLevelNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("after_member_level NOT IN (?)", afterMemberLevel)) +} + +// All is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) All(ret *[]UserMemberRecord) error { + return qs.db.Find(ret).Error +} + +// BeforeMemberExpireEq is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) BeforeMemberExpireEq(beforeMemberExpire time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("before_member_expire = ?", beforeMemberExpire)) +} + +// BeforeMemberExpireGt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) BeforeMemberExpireGt(beforeMemberExpire time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("before_member_expire > ?", beforeMemberExpire)) +} + +// BeforeMemberExpireGte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) BeforeMemberExpireGte(beforeMemberExpire time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("before_member_expire >= ?", beforeMemberExpire)) +} + +// BeforeMemberExpireLt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) BeforeMemberExpireLt(beforeMemberExpire time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("before_member_expire < ?", beforeMemberExpire)) +} + +// BeforeMemberExpireLte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) BeforeMemberExpireLte(beforeMemberExpire time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("before_member_expire <= ?", beforeMemberExpire)) +} + +// BeforeMemberExpireNe is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) BeforeMemberExpireNe(beforeMemberExpire time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("before_member_expire != ?", beforeMemberExpire)) +} + +// BeforeMemberLevelEq is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) BeforeMemberLevelEq(beforeMemberLevel uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("before_member_level = ?", beforeMemberLevel)) +} + +// BeforeMemberLevelGt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) BeforeMemberLevelGt(beforeMemberLevel uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("before_member_level > ?", beforeMemberLevel)) +} + +// BeforeMemberLevelGte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) BeforeMemberLevelGte(beforeMemberLevel uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("before_member_level >= ?", beforeMemberLevel)) +} + +// BeforeMemberLevelIn is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) BeforeMemberLevelIn(beforeMemberLevel ...uint32) UserMemberRecordQuerySet { + if len(beforeMemberLevel) == 0 { + qs.db.AddError(errors.New("must at least pass one beforeMemberLevel in BeforeMemberLevelIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("before_member_level IN (?)", beforeMemberLevel)) +} + +// BeforeMemberLevelLt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) BeforeMemberLevelLt(beforeMemberLevel uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("before_member_level < ?", beforeMemberLevel)) +} + +// BeforeMemberLevelLte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) BeforeMemberLevelLte(beforeMemberLevel uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("before_member_level <= ?", beforeMemberLevel)) +} + +// BeforeMemberLevelNe is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) BeforeMemberLevelNe(beforeMemberLevel uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("before_member_level != ?", beforeMemberLevel)) +} + +// BeforeMemberLevelNotIn is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) BeforeMemberLevelNotIn(beforeMemberLevel ...uint32) UserMemberRecordQuerySet { + if len(beforeMemberLevel) == 0 { + qs.db.AddError(errors.New("must at least pass one beforeMemberLevel in BeforeMemberLevelNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("before_member_level NOT IN (?)", beforeMemberLevel)) +} + +// Count is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) Count() (int, error) { + var count int + err := qs.db.Count(&count).Error + return count, err +} + +// CouponIdEq is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) CouponIdEq(couponId uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("coupon_id = ?", couponId)) +} + +// CouponIdGt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) CouponIdGt(couponId uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("coupon_id > ?", couponId)) +} + +// CouponIdGte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) CouponIdGte(couponId uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("coupon_id >= ?", couponId)) +} + +// CouponIdIn is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) CouponIdIn(couponId ...uint32) UserMemberRecordQuerySet { + if len(couponId) == 0 { + qs.db.AddError(errors.New("must at least pass one couponId in CouponIdIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("coupon_id IN (?)", couponId)) +} + +// CouponIdLt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) CouponIdLt(couponId uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("coupon_id < ?", couponId)) +} + +// CouponIdLte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) CouponIdLte(couponId uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("coupon_id <= ?", couponId)) +} + +// CouponIdNe is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) CouponIdNe(couponId uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("coupon_id != ?", couponId)) +} + +// CouponIdNotIn is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) CouponIdNotIn(couponId ...uint32) UserMemberRecordQuerySet { + if len(couponId) == 0 { + qs.db.AddError(errors.New("must at least pass one couponId in CouponIdNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("coupon_id NOT IN (?)", couponId)) +} + +// CreatedAtEq is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) CreatedAtEq(createdAt time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("created_at = ?", createdAt)) +} + +// CreatedAtGt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) CreatedAtGt(createdAt time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("created_at > ?", createdAt)) +} + +// CreatedAtGte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) CreatedAtGte(createdAt time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("created_at >= ?", createdAt)) +} + +// CreatedAtLt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) CreatedAtLt(createdAt time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("created_at < ?", createdAt)) +} + +// CreatedAtLte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) CreatedAtLte(createdAt time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("created_at <= ?", createdAt)) +} + +// CreatedAtNe is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) CreatedAtNe(createdAt time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("created_at != ?", createdAt)) +} + +// DeductionDaysEq is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) DeductionDaysEq(deductionDays uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("deduction_days = ?", deductionDays)) +} + +// DeductionDaysGt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) DeductionDaysGt(deductionDays uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("deduction_days > ?", deductionDays)) +} + +// DeductionDaysGte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) DeductionDaysGte(deductionDays uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("deduction_days >= ?", deductionDays)) +} + +// DeductionDaysIn is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) DeductionDaysIn(deductionDays ...uint32) UserMemberRecordQuerySet { + if len(deductionDays) == 0 { + qs.db.AddError(errors.New("must at least pass one deductionDays in DeductionDaysIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("deduction_days IN (?)", deductionDays)) +} + +// DeductionDaysLt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) DeductionDaysLt(deductionDays uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("deduction_days < ?", deductionDays)) +} + +// DeductionDaysLte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) DeductionDaysLte(deductionDays uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("deduction_days <= ?", deductionDays)) +} + +// DeductionDaysNe is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) DeductionDaysNe(deductionDays uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("deduction_days != ?", deductionDays)) +} + +// DeductionDaysNotIn is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) DeductionDaysNotIn(deductionDays ...uint32) UserMemberRecordQuerySet { + if len(deductionDays) == 0 { + qs.db.AddError(errors.New("must at least pass one deductionDays in DeductionDaysNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("deduction_days NOT IN (?)", deductionDays)) +} + +// DeductionFeeEq is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) DeductionFeeEq(deductionFee uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("deduction_fee = ?", deductionFee)) +} + +// DeductionFeeGt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) DeductionFeeGt(deductionFee uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("deduction_fee > ?", deductionFee)) +} + +// DeductionFeeGte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) DeductionFeeGte(deductionFee uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("deduction_fee >= ?", deductionFee)) +} + +// DeductionFeeIn is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) DeductionFeeIn(deductionFee ...uint32) UserMemberRecordQuerySet { + if len(deductionFee) == 0 { + qs.db.AddError(errors.New("must at least pass one deductionFee in DeductionFeeIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("deduction_fee IN (?)", deductionFee)) +} + +// DeductionFeeLt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) DeductionFeeLt(deductionFee uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("deduction_fee < ?", deductionFee)) +} + +// DeductionFeeLte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) DeductionFeeLte(deductionFee uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("deduction_fee <= ?", deductionFee)) +} + +// DeductionFeeNe is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) DeductionFeeNe(deductionFee uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("deduction_fee != ?", deductionFee)) +} + +// DeductionFeeNotIn is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) DeductionFeeNotIn(deductionFee ...uint32) UserMemberRecordQuerySet { + if len(deductionFee) == 0 { + qs.db.AddError(errors.New("must at least pass one deductionFee in DeductionFeeNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("deduction_fee NOT IN (?)", deductionFee)) +} + +// Delete is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) Delete() error { + return qs.db.Delete(UserMemberRecord{}).Error +} + +// DeleteNum is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) DeleteNum() (int64, error) { + db := qs.db.Delete(UserMemberRecord{}) + return db.RowsAffected, db.Error +} + +// DeleteNumUnscoped is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) DeleteNumUnscoped() (int64, error) { + db := qs.db.Unscoped().Delete(UserMemberRecord{}) + return db.RowsAffected, db.Error +} + +// DeletedAtEq is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) DeletedAtEq(deletedAt time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("deleted_at = ?", deletedAt)) +} + +// DeletedAtGt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) DeletedAtGt(deletedAt time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("deleted_at > ?", deletedAt)) +} + +// DeletedAtGte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) DeletedAtGte(deletedAt time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("deleted_at >= ?", deletedAt)) +} + +// DeletedAtIsNotNull is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) DeletedAtIsNotNull() UserMemberRecordQuerySet { + return qs.w(qs.db.Where("deleted_at IS NOT NULL")) +} + +// DeletedAtIsNull is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) DeletedAtIsNull() UserMemberRecordQuerySet { + return qs.w(qs.db.Where("deleted_at IS NULL")) +} + +// DeletedAtLt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) DeletedAtLt(deletedAt time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("deleted_at < ?", deletedAt)) +} + +// DeletedAtLte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) DeletedAtLte(deletedAt time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("deleted_at <= ?", deletedAt)) +} + +// DeletedAtNe is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) DeletedAtNe(deletedAt time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("deleted_at != ?", deletedAt)) +} + +// GetDB is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) GetDB() *gorm.DB { + return qs.db +} + +// GetUpdater is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) GetUpdater() UserMemberRecordUpdater { + return NewUserMemberRecordUpdater(qs.db) +} + +// IDEq is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) IDEq(ID uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("id = ?", ID)) +} + +// IDGt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) IDGt(ID uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("id > ?", ID)) +} + +// IDGte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) IDGte(ID uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("id >= ?", ID)) +} + +// IDIn is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) IDIn(ID ...uint32) UserMemberRecordQuerySet { + if len(ID) == 0 { + qs.db.AddError(errors.New("must at least pass one ID in IDIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("id IN (?)", ID)) +} + +// IDLt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) IDLt(ID uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("id < ?", ID)) +} + +// IDLte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) IDLte(ID uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("id <= ?", ID)) +} + +// IDNe is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) IDNe(ID uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("id != ?", ID)) +} + +// IDNotIn is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) IDNotIn(ID ...uint32) UserMemberRecordQuerySet { + if len(ID) == 0 { + qs.db.AddError(errors.New("must at least pass one ID in IDNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("id NOT IN (?)", ID)) +} + +// InviteUidEq is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) InviteUidEq(inviteUid uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("invite_uid = ?", inviteUid)) +} + +// InviteUidGt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) InviteUidGt(inviteUid uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("invite_uid > ?", inviteUid)) +} + +// InviteUidGte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) InviteUidGte(inviteUid uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("invite_uid >= ?", inviteUid)) +} + +// InviteUidIn is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) InviteUidIn(inviteUid ...uint32) UserMemberRecordQuerySet { + if len(inviteUid) == 0 { + qs.db.AddError(errors.New("must at least pass one inviteUid in InviteUidIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("invite_uid IN (?)", inviteUid)) +} + +// InviteUidLt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) InviteUidLt(inviteUid uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("invite_uid < ?", inviteUid)) +} + +// InviteUidLte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) InviteUidLte(inviteUid uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("invite_uid <= ?", inviteUid)) +} + +// InviteUidNe is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) InviteUidNe(inviteUid uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("invite_uid != ?", inviteUid)) +} + +// InviteUidNotIn is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) InviteUidNotIn(inviteUid ...uint32) UserMemberRecordQuerySet { + if len(inviteUid) == 0 { + qs.db.AddError(errors.New("must at least pass one inviteUid in InviteUidNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("invite_uid NOT IN (?)", inviteUid)) +} + +// Limit is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) Limit(limit int) UserMemberRecordQuerySet { + return qs.w(qs.db.Limit(limit)) +} + +// Offset is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) Offset(offset int) UserMemberRecordQuerySet { + return qs.w(qs.db.Offset(offset)) +} + +// One is used to retrieve one result. It returns gorm.ErrRecordNotFound +// if nothing was fetched +func (qs UserMemberRecordQuerySet) One(ret *UserMemberRecord) error { + return qs.db.First(ret).Error +} + +// OrderAscByAfterMemberExpire is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderAscByAfterMemberExpire() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("after_member_expire ASC")) +} + +// OrderAscByAfterMemberLevel is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderAscByAfterMemberLevel() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("after_member_level ASC")) +} + +// OrderAscByBeforeMemberExpire is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderAscByBeforeMemberExpire() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("before_member_expire ASC")) +} + +// OrderAscByBeforeMemberLevel is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderAscByBeforeMemberLevel() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("before_member_level ASC")) +} + +// OrderAscByCouponId is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderAscByCouponId() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("coupon_id ASC")) +} + +// OrderAscByCreatedAt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderAscByCreatedAt() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("created_at ASC")) +} + +// OrderAscByDeductionDays is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderAscByDeductionDays() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("deduction_days ASC")) +} + +// OrderAscByDeductionFee is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderAscByDeductionFee() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("deduction_fee ASC")) +} + +// OrderAscByDeletedAt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderAscByDeletedAt() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("deleted_at ASC")) +} + +// OrderAscByID is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderAscByID() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("id ASC")) +} + +// OrderAscByInviteUid is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderAscByInviteUid() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("invite_uid ASC")) +} + +// OrderAscBySerial is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderAscBySerial() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("serial ASC")) +} + +// OrderAscByType is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderAscByType() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("type ASC")) +} + +// OrderAscByUid is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderAscByUid() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("uid ASC")) +} + +// OrderAscByUpdatedAt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderAscByUpdatedAt() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("updated_at ASC")) +} + +// OrderDescByAfterMemberExpire is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderDescByAfterMemberExpire() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("after_member_expire DESC")) +} + +// OrderDescByAfterMemberLevel is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderDescByAfterMemberLevel() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("after_member_level DESC")) +} + +// OrderDescByBeforeMemberExpire is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderDescByBeforeMemberExpire() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("before_member_expire DESC")) +} + +// OrderDescByBeforeMemberLevel is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderDescByBeforeMemberLevel() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("before_member_level DESC")) +} + +// OrderDescByCouponId is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderDescByCouponId() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("coupon_id DESC")) +} + +// OrderDescByCreatedAt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderDescByCreatedAt() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("created_at DESC")) +} + +// OrderDescByDeductionDays is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderDescByDeductionDays() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("deduction_days DESC")) +} + +// OrderDescByDeductionFee is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderDescByDeductionFee() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("deduction_fee DESC")) +} + +// OrderDescByDeletedAt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderDescByDeletedAt() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("deleted_at DESC")) +} + +// OrderDescByID is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderDescByID() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("id DESC")) +} + +// OrderDescByInviteUid is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderDescByInviteUid() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("invite_uid DESC")) +} + +// OrderDescBySerial is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderDescBySerial() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("serial DESC")) +} + +// OrderDescByType is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderDescByType() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("type DESC")) +} + +// OrderDescByUid is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderDescByUid() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("uid DESC")) +} + +// OrderDescByUpdatedAt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) OrderDescByUpdatedAt() UserMemberRecordQuerySet { + return qs.w(qs.db.Order("updated_at DESC")) +} + +// SerialEq is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) SerialEq(serial uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("serial = ?", serial)) +} + +// SerialGt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) SerialGt(serial uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("serial > ?", serial)) +} + +// SerialGte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) SerialGte(serial uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("serial >= ?", serial)) +} + +// SerialIn is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) SerialIn(serial ...uint32) UserMemberRecordQuerySet { + if len(serial) == 0 { + qs.db.AddError(errors.New("must at least pass one serial in SerialIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("serial IN (?)", serial)) +} + +// SerialLt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) SerialLt(serial uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("serial < ?", serial)) +} + +// SerialLte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) SerialLte(serial uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("serial <= ?", serial)) +} + +// SerialNe is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) SerialNe(serial uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("serial != ?", serial)) +} + +// SerialNotIn is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) SerialNotIn(serial ...uint32) UserMemberRecordQuerySet { + if len(serial) == 0 { + qs.db.AddError(errors.New("must at least pass one serial in SerialNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("serial NOT IN (?)", serial)) +} + +// TypeEq is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) TypeEq(typeValue uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("type = ?", typeValue)) +} + +// TypeGt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) TypeGt(typeValue uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("type > ?", typeValue)) +} + +// TypeGte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) TypeGte(typeValue uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("type >= ?", typeValue)) +} + +// TypeIn is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) TypeIn(typeValue ...uint32) UserMemberRecordQuerySet { + if len(typeValue) == 0 { + qs.db.AddError(errors.New("must at least pass one typeValue in TypeIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("type IN (?)", typeValue)) +} + +// TypeLt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) TypeLt(typeValue uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("type < ?", typeValue)) +} + +// TypeLte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) TypeLte(typeValue uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("type <= ?", typeValue)) +} + +// TypeNe is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) TypeNe(typeValue uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("type != ?", typeValue)) +} + +// TypeNotIn is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) TypeNotIn(typeValue ...uint32) UserMemberRecordQuerySet { + if len(typeValue) == 0 { + qs.db.AddError(errors.New("must at least pass one typeValue in TypeNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("type NOT IN (?)", typeValue)) +} + +// UidEq is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) UidEq(uid uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("uid = ?", uid)) +} + +// UidGt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) UidGt(uid uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("uid > ?", uid)) +} + +// UidGte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) UidGte(uid uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("uid >= ?", uid)) +} + +// UidIn is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) UidIn(uid ...uint32) UserMemberRecordQuerySet { + if len(uid) == 0 { + qs.db.AddError(errors.New("must at least pass one uid in UidIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("uid IN (?)", uid)) +} + +// UidLt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) UidLt(uid uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("uid < ?", uid)) +} + +// UidLte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) UidLte(uid uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("uid <= ?", uid)) +} + +// UidNe is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) UidNe(uid uint32) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("uid != ?", uid)) +} + +// UidNotIn is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) UidNotIn(uid ...uint32) UserMemberRecordQuerySet { + if len(uid) == 0 { + qs.db.AddError(errors.New("must at least pass one uid in UidNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("uid NOT IN (?)", uid)) +} + +// UpdatedAtEq is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) UpdatedAtEq(updatedAt time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("updated_at = ?", updatedAt)) +} + +// UpdatedAtGt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) UpdatedAtGt(updatedAt time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("updated_at > ?", updatedAt)) +} + +// UpdatedAtGte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) UpdatedAtGte(updatedAt time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("updated_at >= ?", updatedAt)) +} + +// UpdatedAtLt is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) UpdatedAtLt(updatedAt time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("updated_at < ?", updatedAt)) +} + +// UpdatedAtLte is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) UpdatedAtLte(updatedAt time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("updated_at <= ?", updatedAt)) +} + +// UpdatedAtNe is an autogenerated method +// nolint: dupl +func (qs UserMemberRecordQuerySet) UpdatedAtNe(updatedAt time.Time) UserMemberRecordQuerySet { + return qs.w(qs.db.Where("updated_at != ?", updatedAt)) +} + +// SetAfterMemberExpire is an autogenerated method +// nolint: dupl +func (u UserMemberRecordUpdater) SetAfterMemberExpire(afterMemberExpire time.Time) UserMemberRecordUpdater { + u.fields[string(UserMemberRecordDBSchema.AfterMemberExpire)] = afterMemberExpire + return u +} + +// SetAfterMemberLevel is an autogenerated method +// nolint: dupl +func (u UserMemberRecordUpdater) SetAfterMemberLevel(afterMemberLevel uint32) UserMemberRecordUpdater { + u.fields[string(UserMemberRecordDBSchema.AfterMemberLevel)] = afterMemberLevel + return u +} + +// SetBeforeMemberExpire is an autogenerated method +// nolint: dupl +func (u UserMemberRecordUpdater) SetBeforeMemberExpire(beforeMemberExpire time.Time) UserMemberRecordUpdater { + u.fields[string(UserMemberRecordDBSchema.BeforeMemberExpire)] = beforeMemberExpire + return u +} + +// SetBeforeMemberLevel is an autogenerated method +// nolint: dupl +func (u UserMemberRecordUpdater) SetBeforeMemberLevel(beforeMemberLevel uint32) UserMemberRecordUpdater { + u.fields[string(UserMemberRecordDBSchema.BeforeMemberLevel)] = beforeMemberLevel + return u +} + +// SetCouponId is an autogenerated method +// nolint: dupl +func (u UserMemberRecordUpdater) SetCouponId(couponId uint32) UserMemberRecordUpdater { + u.fields[string(UserMemberRecordDBSchema.CouponId)] = couponId + return u +} + +// SetCreatedAt is an autogenerated method +// nolint: dupl +func (u UserMemberRecordUpdater) SetCreatedAt(createdAt time.Time) UserMemberRecordUpdater { + u.fields[string(UserMemberRecordDBSchema.CreatedAt)] = createdAt + return u +} + +// SetDeductionDays is an autogenerated method +// nolint: dupl +func (u UserMemberRecordUpdater) SetDeductionDays(deductionDays uint32) UserMemberRecordUpdater { + u.fields[string(UserMemberRecordDBSchema.DeductionDays)] = deductionDays + return u +} + +// SetDeductionFee is an autogenerated method +// nolint: dupl +func (u UserMemberRecordUpdater) SetDeductionFee(deductionFee uint32) UserMemberRecordUpdater { + u.fields[string(UserMemberRecordDBSchema.DeductionFee)] = deductionFee + return u +} + +// SetDeletedAt is an autogenerated method +// nolint: dupl +func (u UserMemberRecordUpdater) SetDeletedAt(deletedAt *time.Time) UserMemberRecordUpdater { + u.fields[string(UserMemberRecordDBSchema.DeletedAt)] = deletedAt + return u +} + +// SetID is an autogenerated method +// nolint: dupl +func (u UserMemberRecordUpdater) SetID(ID uint32) UserMemberRecordUpdater { + u.fields[string(UserMemberRecordDBSchema.ID)] = ID + return u +} + +// SetInviteUid is an autogenerated method +// nolint: dupl +func (u UserMemberRecordUpdater) SetInviteUid(inviteUid uint32) UserMemberRecordUpdater { + u.fields[string(UserMemberRecordDBSchema.InviteUid)] = inviteUid + return u +} + +// SetSerial is an autogenerated method +// nolint: dupl +func (u UserMemberRecordUpdater) SetSerial(serial uint32) UserMemberRecordUpdater { + u.fields[string(UserMemberRecordDBSchema.Serial)] = serial + return u +} + +// SetType is an autogenerated method +// nolint: dupl +func (u UserMemberRecordUpdater) SetType(typeValue uint32) UserMemberRecordUpdater { + u.fields[string(UserMemberRecordDBSchema.Type)] = typeValue + return u +} + +// SetUid is an autogenerated method +// nolint: dupl +func (u UserMemberRecordUpdater) SetUid(uid uint32) UserMemberRecordUpdater { + u.fields[string(UserMemberRecordDBSchema.Uid)] = uid + return u +} + +// SetUpdatedAt is an autogenerated method +// nolint: dupl +func (u UserMemberRecordUpdater) SetUpdatedAt(updatedAt time.Time) UserMemberRecordUpdater { + u.fields[string(UserMemberRecordDBSchema.UpdatedAt)] = updatedAt + return u +} + +// Update is an autogenerated method +// nolint: dupl +func (u UserMemberRecordUpdater) Update() error { + return u.db.Updates(u.fields).Error +} + +// UpdateNum is an autogenerated method +// nolint: dupl +func (u UserMemberRecordUpdater) UpdateNum() (int64, error) { + db := u.db.Updates(u.fields) + return db.RowsAffected, db.Error +} + +// ===== END of query set UserMemberRecordQuerySet + +// ===== BEGIN of UserMemberRecord modifiers + +// UserMemberRecordDBSchemaField describes database schema field. It requires for method 'Update' +type UserMemberRecordDBSchemaField string + +// String method returns string representation of field. +// nolint: dupl +func (f UserMemberRecordDBSchemaField) String() string { + return string(f) +} + +// UserMemberRecordDBSchema stores db field names of UserMemberRecord +var UserMemberRecordDBSchema = struct { + ID UserMemberRecordDBSchemaField + CreatedAt UserMemberRecordDBSchemaField + UpdatedAt UserMemberRecordDBSchemaField + DeletedAt UserMemberRecordDBSchemaField + Uid UserMemberRecordDBSchemaField + BeforeMemberLevel UserMemberRecordDBSchemaField + AfterMemberLevel UserMemberRecordDBSchemaField + BeforeMemberExpire UserMemberRecordDBSchemaField + AfterMemberExpire UserMemberRecordDBSchemaField + InviteUid UserMemberRecordDBSchemaField + DeductionDays UserMemberRecordDBSchemaField + DeductionFee UserMemberRecordDBSchemaField + CouponId UserMemberRecordDBSchemaField + Serial UserMemberRecordDBSchemaField + Type UserMemberRecordDBSchemaField +}{ + + ID: UserMemberRecordDBSchemaField("id"), + CreatedAt: UserMemberRecordDBSchemaField("created_at"), + UpdatedAt: UserMemberRecordDBSchemaField("updated_at"), + DeletedAt: UserMemberRecordDBSchemaField("deleted_at"), + Uid: UserMemberRecordDBSchemaField("uid"), + BeforeMemberLevel: UserMemberRecordDBSchemaField("before_member_level"), + AfterMemberLevel: UserMemberRecordDBSchemaField("after_member_level"), + BeforeMemberExpire: UserMemberRecordDBSchemaField("before_member_expire"), + AfterMemberExpire: UserMemberRecordDBSchemaField("after_member_expire"), + InviteUid: UserMemberRecordDBSchemaField("invite_uid"), + DeductionDays: UserMemberRecordDBSchemaField("deduction_days"), + DeductionFee: UserMemberRecordDBSchemaField("deduction_fee"), + CouponId: UserMemberRecordDBSchemaField("coupon_id"), + Serial: UserMemberRecordDBSchemaField("serial"), + Type: UserMemberRecordDBSchemaField("type"), +} + +// Update updates UserMemberRecord fields by primary key +// nolint: dupl +func (o *UserMemberRecord) Update(db *gorm.DB, fields ...UserMemberRecordDBSchemaField) error { + dbNameToFieldName := map[string]interface{}{ + "id": o.ID, + "created_at": o.CreatedAt, + "updated_at": o.UpdatedAt, + "deleted_at": o.DeletedAt, + "uid": o.Uid, + "before_member_level": o.BeforeMemberLevel, + "after_member_level": o.AfterMemberLevel, + "before_member_expire": o.BeforeMemberExpire, + "after_member_expire": o.AfterMemberExpire, + "invite_uid": o.InviteUid, + "deduction_days": o.DeductionDays, + "deduction_fee": o.DeductionFee, + "coupon_id": o.CouponId, + "serial": o.Serial, + "type": o.Type, + } + u := map[string]interface{}{} + for _, f := range fields { + fs := f.String() + u[fs] = dbNameToFieldName[fs] + } + if err := db.Model(o).Updates(u).Error; err != nil { + if err == gorm.ErrRecordNotFound { + return err + } + + return fmt.Errorf("can't update UserMemberRecord %v fields %v: %s", + o, fields, err) + } + + return nil +} + +// UserMemberRecordUpdater is an UserMemberRecord updates manager +type UserMemberRecordUpdater struct { + fields map[string]interface{} + db *gorm.DB +} + +// NewUserMemberRecordUpdater creates new UserMemberRecord updater +// nolint: dupl +func NewUserMemberRecordUpdater(db *gorm.DB) UserMemberRecordUpdater { + return UserMemberRecordUpdater{ + fields: map[string]interface{}{}, + db: db.Model(&UserMemberRecord{}), + } +} + +// ===== END of UserMemberRecord modifiers + // ===== BEGIN of query set UserRenewalLogQuerySet // UserRenewalLogQuerySet is an queryset type for UserRenewalLog diff --git a/model/autogenerated_user.go b/model/autogenerated_user.go index f85c25c..271a02d 100644 --- a/model/autogenerated_user.go +++ b/model/autogenerated_user.go @@ -3521,6 +3521,24 @@ func (qs InviteMemberReportQuerySet) OrderAscByPlatinumDeduct() InviteMemberRepo return qs.w(qs.db.Order("platinum_deduct ASC")) } +// OrderAscByRenewalBlackGoldCount is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) OrderAscByRenewalBlackGoldCount() InviteMemberReportQuerySet { + return qs.w(qs.db.Order("renewal_black_gold_count ASC")) +} + +// OrderAscByRenewalGoldCount is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) OrderAscByRenewalGoldCount() InviteMemberReportQuerySet { + return qs.w(qs.db.Order("renewal_gold_count ASC")) +} + +// OrderAscByRenewalPlatinumCount is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) OrderAscByRenewalPlatinumCount() InviteMemberReportQuerySet { + return qs.w(qs.db.Order("renewal_platinum_count ASC")) +} + // OrderAscByStoreId is an autogenerated method // nolint: dupl func (qs InviteMemberReportQuerySet) OrderAscByStoreId() InviteMemberReportQuerySet { @@ -3617,6 +3635,24 @@ func (qs InviteMemberReportQuerySet) OrderDescByPlatinumDeduct() InviteMemberRep return qs.w(qs.db.Order("platinum_deduct DESC")) } +// OrderDescByRenewalBlackGoldCount is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) OrderDescByRenewalBlackGoldCount() InviteMemberReportQuerySet { + return qs.w(qs.db.Order("renewal_black_gold_count DESC")) +} + +// OrderDescByRenewalGoldCount is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) OrderDescByRenewalGoldCount() InviteMemberReportQuerySet { + return qs.w(qs.db.Order("renewal_gold_count DESC")) +} + +// OrderDescByRenewalPlatinumCount is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) OrderDescByRenewalPlatinumCount() InviteMemberReportQuerySet { + return qs.w(qs.db.Order("renewal_platinum_count DESC")) +} + // OrderDescByStoreId is an autogenerated method // nolint: dupl func (qs InviteMemberReportQuerySet) OrderDescByStoreId() InviteMemberReportQuerySet { @@ -3747,6 +3783,174 @@ func (qs InviteMemberReportQuerySet) PlatinumDeductNotIn(platinumDeduct ...uint3 return qs.w(qs.db.Where("platinum_deduct NOT IN (?)", platinumDeduct)) } +// RenewalBlackGoldCountEq is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) RenewalBlackGoldCountEq(renewalBlackGoldCount uint32) InviteMemberReportQuerySet { + return qs.w(qs.db.Where("renewal_black_gold_count = ?", renewalBlackGoldCount)) +} + +// RenewalBlackGoldCountGt is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) RenewalBlackGoldCountGt(renewalBlackGoldCount uint32) InviteMemberReportQuerySet { + return qs.w(qs.db.Where("renewal_black_gold_count > ?", renewalBlackGoldCount)) +} + +// RenewalBlackGoldCountGte is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) RenewalBlackGoldCountGte(renewalBlackGoldCount uint32) InviteMemberReportQuerySet { + return qs.w(qs.db.Where("renewal_black_gold_count >= ?", renewalBlackGoldCount)) +} + +// RenewalBlackGoldCountIn is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) RenewalBlackGoldCountIn(renewalBlackGoldCount ...uint32) InviteMemberReportQuerySet { + if len(renewalBlackGoldCount) == 0 { + qs.db.AddError(errors.New("must at least pass one renewalBlackGoldCount in RenewalBlackGoldCountIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("renewal_black_gold_count IN (?)", renewalBlackGoldCount)) +} + +// RenewalBlackGoldCountLt is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) RenewalBlackGoldCountLt(renewalBlackGoldCount uint32) InviteMemberReportQuerySet { + return qs.w(qs.db.Where("renewal_black_gold_count < ?", renewalBlackGoldCount)) +} + +// RenewalBlackGoldCountLte is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) RenewalBlackGoldCountLte(renewalBlackGoldCount uint32) InviteMemberReportQuerySet { + return qs.w(qs.db.Where("renewal_black_gold_count <= ?", renewalBlackGoldCount)) +} + +// RenewalBlackGoldCountNe is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) RenewalBlackGoldCountNe(renewalBlackGoldCount uint32) InviteMemberReportQuerySet { + return qs.w(qs.db.Where("renewal_black_gold_count != ?", renewalBlackGoldCount)) +} + +// RenewalBlackGoldCountNotIn is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) RenewalBlackGoldCountNotIn(renewalBlackGoldCount ...uint32) InviteMemberReportQuerySet { + if len(renewalBlackGoldCount) == 0 { + qs.db.AddError(errors.New("must at least pass one renewalBlackGoldCount in RenewalBlackGoldCountNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("renewal_black_gold_count NOT IN (?)", renewalBlackGoldCount)) +} + +// RenewalGoldCountEq is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) RenewalGoldCountEq(renewalGoldCount uint32) InviteMemberReportQuerySet { + return qs.w(qs.db.Where("renewal_gold_count = ?", renewalGoldCount)) +} + +// RenewalGoldCountGt is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) RenewalGoldCountGt(renewalGoldCount uint32) InviteMemberReportQuerySet { + return qs.w(qs.db.Where("renewal_gold_count > ?", renewalGoldCount)) +} + +// RenewalGoldCountGte is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) RenewalGoldCountGte(renewalGoldCount uint32) InviteMemberReportQuerySet { + return qs.w(qs.db.Where("renewal_gold_count >= ?", renewalGoldCount)) +} + +// RenewalGoldCountIn is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) RenewalGoldCountIn(renewalGoldCount ...uint32) InviteMemberReportQuerySet { + if len(renewalGoldCount) == 0 { + qs.db.AddError(errors.New("must at least pass one renewalGoldCount in RenewalGoldCountIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("renewal_gold_count IN (?)", renewalGoldCount)) +} + +// RenewalGoldCountLt is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) RenewalGoldCountLt(renewalGoldCount uint32) InviteMemberReportQuerySet { + return qs.w(qs.db.Where("renewal_gold_count < ?", renewalGoldCount)) +} + +// RenewalGoldCountLte is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) RenewalGoldCountLte(renewalGoldCount uint32) InviteMemberReportQuerySet { + return qs.w(qs.db.Where("renewal_gold_count <= ?", renewalGoldCount)) +} + +// RenewalGoldCountNe is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) RenewalGoldCountNe(renewalGoldCount uint32) InviteMemberReportQuerySet { + return qs.w(qs.db.Where("renewal_gold_count != ?", renewalGoldCount)) +} + +// RenewalGoldCountNotIn is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) RenewalGoldCountNotIn(renewalGoldCount ...uint32) InviteMemberReportQuerySet { + if len(renewalGoldCount) == 0 { + qs.db.AddError(errors.New("must at least pass one renewalGoldCount in RenewalGoldCountNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("renewal_gold_count NOT IN (?)", renewalGoldCount)) +} + +// RenewalPlatinumCountEq is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) RenewalPlatinumCountEq(renewalPlatinumCount uint32) InviteMemberReportQuerySet { + return qs.w(qs.db.Where("renewal_platinum_count = ?", renewalPlatinumCount)) +} + +// RenewalPlatinumCountGt is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) RenewalPlatinumCountGt(renewalPlatinumCount uint32) InviteMemberReportQuerySet { + return qs.w(qs.db.Where("renewal_platinum_count > ?", renewalPlatinumCount)) +} + +// RenewalPlatinumCountGte is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) RenewalPlatinumCountGte(renewalPlatinumCount uint32) InviteMemberReportQuerySet { + return qs.w(qs.db.Where("renewal_platinum_count >= ?", renewalPlatinumCount)) +} + +// RenewalPlatinumCountIn is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) RenewalPlatinumCountIn(renewalPlatinumCount ...uint32) InviteMemberReportQuerySet { + if len(renewalPlatinumCount) == 0 { + qs.db.AddError(errors.New("must at least pass one renewalPlatinumCount in RenewalPlatinumCountIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("renewal_platinum_count IN (?)", renewalPlatinumCount)) +} + +// RenewalPlatinumCountLt is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) RenewalPlatinumCountLt(renewalPlatinumCount uint32) InviteMemberReportQuerySet { + return qs.w(qs.db.Where("renewal_platinum_count < ?", renewalPlatinumCount)) +} + +// RenewalPlatinumCountLte is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) RenewalPlatinumCountLte(renewalPlatinumCount uint32) InviteMemberReportQuerySet { + return qs.w(qs.db.Where("renewal_platinum_count <= ?", renewalPlatinumCount)) +} + +// RenewalPlatinumCountNe is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) RenewalPlatinumCountNe(renewalPlatinumCount uint32) InviteMemberReportQuerySet { + return qs.w(qs.db.Where("renewal_platinum_count != ?", renewalPlatinumCount)) +} + +// RenewalPlatinumCountNotIn is an autogenerated method +// nolint: dupl +func (qs InviteMemberReportQuerySet) RenewalPlatinumCountNotIn(renewalPlatinumCount ...uint32) InviteMemberReportQuerySet { + if len(renewalPlatinumCount) == 0 { + qs.db.AddError(errors.New("must at least pass one renewalPlatinumCount in RenewalPlatinumCountNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("renewal_platinum_count NOT IN (?)", renewalPlatinumCount)) +} + // StoreIdEq is an autogenerated method // nolint: dupl func (qs InviteMemberReportQuerySet) StoreIdEq(storeId uint32) InviteMemberReportQuerySet { @@ -3986,6 +4190,27 @@ func (u InviteMemberReportUpdater) SetPlatinumDeduct(platinumDeduct uint32) Invi return u } +// SetRenewalBlackGoldCount is an autogenerated method +// nolint: dupl +func (u InviteMemberReportUpdater) SetRenewalBlackGoldCount(renewalBlackGoldCount uint32) InviteMemberReportUpdater { + u.fields[string(InviteMemberReportDBSchema.RenewalBlackGoldCount)] = renewalBlackGoldCount + return u +} + +// SetRenewalGoldCount is an autogenerated method +// nolint: dupl +func (u InviteMemberReportUpdater) SetRenewalGoldCount(renewalGoldCount uint32) InviteMemberReportUpdater { + u.fields[string(InviteMemberReportDBSchema.RenewalGoldCount)] = renewalGoldCount + return u +} + +// SetRenewalPlatinumCount is an autogenerated method +// nolint: dupl +func (u InviteMemberReportUpdater) SetRenewalPlatinumCount(renewalPlatinumCount uint32) InviteMemberReportUpdater { + u.fields[string(InviteMemberReportDBSchema.RenewalPlatinumCount)] = renewalPlatinumCount + return u +} + // SetStoreId is an autogenerated method // nolint: dupl func (u InviteMemberReportUpdater) SetStoreId(storeId uint32) InviteMemberReportUpdater { @@ -4051,6 +4276,9 @@ var InviteMemberReportDBSchema = struct { GoldDeduct InviteMemberReportDBSchemaField PlatinumDeduct InviteMemberReportDBSchemaField BlackGoldDeduct InviteMemberReportDBSchemaField + RenewalGoldCount InviteMemberReportDBSchemaField + RenewalPlatinumCount InviteMemberReportDBSchemaField + RenewalBlackGoldCount InviteMemberReportDBSchemaField }{ ID: InviteMemberReportDBSchemaField("id"), @@ -4069,28 +4297,34 @@ var InviteMemberReportDBSchema = struct { GoldDeduct: InviteMemberReportDBSchemaField("gold_deduct"), PlatinumDeduct: InviteMemberReportDBSchemaField("platinum_deduct"), BlackGoldDeduct: InviteMemberReportDBSchemaField("black_gold_deduct"), + RenewalGoldCount: InviteMemberReportDBSchemaField("renewal_gold_count"), + RenewalPlatinumCount: InviteMemberReportDBSchemaField("renewal_platinum_count"), + RenewalBlackGoldCount: InviteMemberReportDBSchemaField("renewal_black_gold_count"), } // Update updates InviteMemberReport fields by primary key // nolint: dupl func (o *InviteMemberReport) Update(db *gorm.DB, fields ...InviteMemberReportDBSchemaField) error { dbNameToFieldName := map[string]interface{}{ - "id": o.ID, - "created_at": o.CreatedAt, - "updated_at": o.UpdatedAt, - "deleted_at": o.DeletedAt, - "uid": o.Uid, - "store_id": o.StoreId, - "gold_count": o.GoldCount, - "platinum_count": o.PlatinumCount, - "black_gold_count": o.BlackGoldCount, - "date": o.Date, - "deduct_amount": o.DeductAmount, - "cooperative_business_id": o.CooperativeBusinessId, - "cooperative_name": o.CooperativeName, - "gold_deduct": o.GoldDeduct, - "platinum_deduct": o.PlatinumDeduct, - "black_gold_deduct": o.BlackGoldDeduct, + "id": o.ID, + "created_at": o.CreatedAt, + "updated_at": o.UpdatedAt, + "deleted_at": o.DeletedAt, + "uid": o.Uid, + "store_id": o.StoreId, + "gold_count": o.GoldCount, + "platinum_count": o.PlatinumCount, + "black_gold_count": o.BlackGoldCount, + "date": o.Date, + "deduct_amount": o.DeductAmount, + "cooperative_business_id": o.CooperativeBusinessId, + "cooperative_name": o.CooperativeName, + "gold_deduct": o.GoldDeduct, + "platinum_deduct": o.PlatinumDeduct, + "black_gold_deduct": o.BlackGoldDeduct, + "renewal_gold_count": o.RenewalGoldCount, + "renewal_platinum_count": o.RenewalPlatinumCount, + "renewal_black_gold_count": o.RenewalBlackGoldCount, } u := map[string]interface{}{} for _, f := range fields { @@ -4126,6 +4360,982 @@ func NewInviteMemberReportUpdater(db *gorm.DB) InviteMemberReportUpdater { // ===== END of InviteMemberReport modifiers +// ===== BEGIN of query set MemberStatisticDailyQuerySet + +// MemberStatisticDailyQuerySet is an queryset type for MemberStatisticDaily +type MemberStatisticDailyQuerySet struct { + db *gorm.DB +} + +// NewMemberStatisticDailyQuerySet constructs new MemberStatisticDailyQuerySet +func NewMemberStatisticDailyQuerySet(db *gorm.DB) MemberStatisticDailyQuerySet { + return MemberStatisticDailyQuerySet{ + db: db.Model(&MemberStatisticDaily{}), + } +} + +func (qs MemberStatisticDailyQuerySet) w(db *gorm.DB) MemberStatisticDailyQuerySet { + return NewMemberStatisticDailyQuerySet(db) +} + +func (qs MemberStatisticDailyQuerySet) Select(fields ...MemberStatisticDailyDBSchemaField) MemberStatisticDailyQuerySet { + names := []string{} + for _, f := range fields { + names = append(names, f.String()) + } + + return qs.w(qs.db.Select(strings.Join(names, ","))) +} + +// Create is an autogenerated method +// nolint: dupl +func (o *MemberStatisticDaily) Create(db *gorm.DB) error { + return db.Create(o).Error +} + +// Delete is an autogenerated method +// nolint: dupl +func (o *MemberStatisticDaily) Delete(db *gorm.DB) error { + return db.Delete(o).Error +} + +// AccumulativeEq is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) AccumulativeEq(accumulative uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("accumulative = ?", accumulative)) +} + +// AccumulativeGt is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) AccumulativeGt(accumulative uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("accumulative > ?", accumulative)) +} + +// AccumulativeGte is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) AccumulativeGte(accumulative uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("accumulative >= ?", accumulative)) +} + +// AccumulativeIn is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) AccumulativeIn(accumulative ...uint32) MemberStatisticDailyQuerySet { + if len(accumulative) == 0 { + qs.db.AddError(errors.New("must at least pass one accumulative in AccumulativeIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("accumulative IN (?)", accumulative)) +} + +// AccumulativeLt is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) AccumulativeLt(accumulative uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("accumulative < ?", accumulative)) +} + +// AccumulativeLte is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) AccumulativeLte(accumulative uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("accumulative <= ?", accumulative)) +} + +// AccumulativeNe is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) AccumulativeNe(accumulative uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("accumulative != ?", accumulative)) +} + +// AccumulativeNotIn is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) AccumulativeNotIn(accumulative ...uint32) MemberStatisticDailyQuerySet { + if len(accumulative) == 0 { + qs.db.AddError(errors.New("must at least pass one accumulative in AccumulativeNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("accumulative NOT IN (?)", accumulative)) +} + +// All is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) All(ret *[]MemberStatisticDaily) error { + return qs.db.Find(ret).Error +} + +// Count is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) Count() (int, error) { + var count int + err := qs.db.Count(&count).Error + return count, err +} + +// CreatedAtEq is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) CreatedAtEq(createdAt time.Time) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("created_at = ?", createdAt)) +} + +// CreatedAtGt is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) CreatedAtGt(createdAt time.Time) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("created_at > ?", createdAt)) +} + +// CreatedAtGte is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) CreatedAtGte(createdAt time.Time) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("created_at >= ?", createdAt)) +} + +// CreatedAtLt is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) CreatedAtLt(createdAt time.Time) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("created_at < ?", createdAt)) +} + +// CreatedAtLte is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) CreatedAtLte(createdAt time.Time) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("created_at <= ?", createdAt)) +} + +// CreatedAtNe is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) CreatedAtNe(createdAt time.Time) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("created_at != ?", createdAt)) +} + +// DateEq is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) DateEq(date string) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("date = ?", date)) +} + +// DateGt is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) DateGt(date string) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("date > ?", date)) +} + +// DateGte is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) DateGte(date string) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("date >= ?", date)) +} + +// DateIn is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) DateIn(date ...string) MemberStatisticDailyQuerySet { + if len(date) == 0 { + qs.db.AddError(errors.New("must at least pass one date in DateIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("date IN (?)", date)) +} + +// DateLike is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) DateLike(date string) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("date LIKE ?", date)) +} + +// DateLt is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) DateLt(date string) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("date < ?", date)) +} + +// DateLte is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) DateLte(date string) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("date <= ?", date)) +} + +// DateNe is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) DateNe(date string) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("date != ?", date)) +} + +// DateNotIn is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) DateNotIn(date ...string) MemberStatisticDailyQuerySet { + if len(date) == 0 { + qs.db.AddError(errors.New("must at least pass one date in DateNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("date NOT IN (?)", date)) +} + +// DateNotlike is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) DateNotlike(date string) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("date NOT LIKE ?", date)) +} + +// DateTimeEq is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) DateTimeEq(dateTime time.Time) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("date_time = ?", dateTime)) +} + +// DateTimeGt is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) DateTimeGt(dateTime time.Time) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("date_time > ?", dateTime)) +} + +// DateTimeGte is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) DateTimeGte(dateTime time.Time) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("date_time >= ?", dateTime)) +} + +// DateTimeLt is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) DateTimeLt(dateTime time.Time) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("date_time < ?", dateTime)) +} + +// DateTimeLte is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) DateTimeLte(dateTime time.Time) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("date_time <= ?", dateTime)) +} + +// DateTimeNe is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) DateTimeNe(dateTime time.Time) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("date_time != ?", dateTime)) +} + +// Delete is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) Delete() error { + return qs.db.Delete(MemberStatisticDaily{}).Error +} + +// DeleteNum is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) DeleteNum() (int64, error) { + db := qs.db.Delete(MemberStatisticDaily{}) + return db.RowsAffected, db.Error +} + +// DeleteNumUnscoped is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) DeleteNumUnscoped() (int64, error) { + db := qs.db.Unscoped().Delete(MemberStatisticDaily{}) + return db.RowsAffected, db.Error +} + +// DeletedAtEq is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) DeletedAtEq(deletedAt time.Time) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("deleted_at = ?", deletedAt)) +} + +// DeletedAtGt is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) DeletedAtGt(deletedAt time.Time) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("deleted_at > ?", deletedAt)) +} + +// DeletedAtGte is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) DeletedAtGte(deletedAt time.Time) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("deleted_at >= ?", deletedAt)) +} + +// DeletedAtIsNotNull is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) DeletedAtIsNotNull() MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("deleted_at IS NOT NULL")) +} + +// DeletedAtIsNull is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) DeletedAtIsNull() MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("deleted_at IS NULL")) +} + +// DeletedAtLt is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) DeletedAtLt(deletedAt time.Time) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("deleted_at < ?", deletedAt)) +} + +// DeletedAtLte is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) DeletedAtLte(deletedAt time.Time) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("deleted_at <= ?", deletedAt)) +} + +// DeletedAtNe is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) DeletedAtNe(deletedAt time.Time) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("deleted_at != ?", deletedAt)) +} + +// ExpireEq is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) ExpireEq(expire uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("expire = ?", expire)) +} + +// ExpireGt is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) ExpireGt(expire uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("expire > ?", expire)) +} + +// ExpireGte is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) ExpireGte(expire uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("expire >= ?", expire)) +} + +// ExpireIn is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) ExpireIn(expire ...uint32) MemberStatisticDailyQuerySet { + if len(expire) == 0 { + qs.db.AddError(errors.New("must at least pass one expire in ExpireIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("expire IN (?)", expire)) +} + +// ExpireLt is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) ExpireLt(expire uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("expire < ?", expire)) +} + +// ExpireLte is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) ExpireLte(expire uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("expire <= ?", expire)) +} + +// ExpireNe is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) ExpireNe(expire uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("expire != ?", expire)) +} + +// ExpireNotIn is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) ExpireNotIn(expire ...uint32) MemberStatisticDailyQuerySet { + if len(expire) == 0 { + qs.db.AddError(errors.New("must at least pass one expire in ExpireNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("expire NOT IN (?)", expire)) +} + +// GetDB is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) GetDB() *gorm.DB { + return qs.db +} + +// GetUpdater is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) GetUpdater() MemberStatisticDailyUpdater { + return NewMemberStatisticDailyUpdater(qs.db) +} + +// IDEq is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) IDEq(ID uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("id = ?", ID)) +} + +// IDGt is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) IDGt(ID uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("id > ?", ID)) +} + +// IDGte is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) IDGte(ID uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("id >= ?", ID)) +} + +// IDIn is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) IDIn(ID ...uint32) MemberStatisticDailyQuerySet { + if len(ID) == 0 { + qs.db.AddError(errors.New("must at least pass one ID in IDIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("id IN (?)", ID)) +} + +// IDLt is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) IDLt(ID uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("id < ?", ID)) +} + +// IDLte is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) IDLte(ID uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("id <= ?", ID)) +} + +// IDNe is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) IDNe(ID uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("id != ?", ID)) +} + +// IDNotIn is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) IDNotIn(ID ...uint32) MemberStatisticDailyQuerySet { + if len(ID) == 0 { + qs.db.AddError(errors.New("must at least pass one ID in IDNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("id NOT IN (?)", ID)) +} + +// IncreaseEq is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) IncreaseEq(increase uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("increase = ?", increase)) +} + +// IncreaseGt is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) IncreaseGt(increase uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("increase > ?", increase)) +} + +// IncreaseGte is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) IncreaseGte(increase uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("increase >= ?", increase)) +} + +// IncreaseIn is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) IncreaseIn(increase ...uint32) MemberStatisticDailyQuerySet { + if len(increase) == 0 { + qs.db.AddError(errors.New("must at least pass one increase in IncreaseIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("increase IN (?)", increase)) +} + +// IncreaseLt is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) IncreaseLt(increase uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("increase < ?", increase)) +} + +// IncreaseLte is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) IncreaseLte(increase uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("increase <= ?", increase)) +} + +// IncreaseNe is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) IncreaseNe(increase uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("increase != ?", increase)) +} + +// IncreaseNotIn is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) IncreaseNotIn(increase ...uint32) MemberStatisticDailyQuerySet { + if len(increase) == 0 { + qs.db.AddError(errors.New("must at least pass one increase in IncreaseNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("increase NOT IN (?)", increase)) +} + +// Limit is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) Limit(limit int) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Limit(limit)) +} + +// MemberLevelEq is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) MemberLevelEq(memberLevel uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("member_level = ?", memberLevel)) +} + +// MemberLevelGt is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) MemberLevelGt(memberLevel uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("member_level > ?", memberLevel)) +} + +// MemberLevelGte is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) MemberLevelGte(memberLevel uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("member_level >= ?", memberLevel)) +} + +// MemberLevelIn is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) MemberLevelIn(memberLevel ...uint32) MemberStatisticDailyQuerySet { + if len(memberLevel) == 0 { + qs.db.AddError(errors.New("must at least pass one memberLevel in MemberLevelIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("member_level IN (?)", memberLevel)) +} + +// MemberLevelLt is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) MemberLevelLt(memberLevel uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("member_level < ?", memberLevel)) +} + +// MemberLevelLte is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) MemberLevelLte(memberLevel uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("member_level <= ?", memberLevel)) +} + +// MemberLevelNe is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) MemberLevelNe(memberLevel uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("member_level != ?", memberLevel)) +} + +// MemberLevelNotIn is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) MemberLevelNotIn(memberLevel ...uint32) MemberStatisticDailyQuerySet { + if len(memberLevel) == 0 { + qs.db.AddError(errors.New("must at least pass one memberLevel in MemberLevelNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("member_level NOT IN (?)", memberLevel)) +} + +// NetEq is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) NetEq(net uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("net = ?", net)) +} + +// NetGt is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) NetGt(net uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("net > ?", net)) +} + +// NetGte is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) NetGte(net uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("net >= ?", net)) +} + +// NetIn is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) NetIn(net ...uint32) MemberStatisticDailyQuerySet { + if len(net) == 0 { + qs.db.AddError(errors.New("must at least pass one net in NetIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("net IN (?)", net)) +} + +// NetLt is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) NetLt(net uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("net < ?", net)) +} + +// NetLte is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) NetLte(net uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("net <= ?", net)) +} + +// NetNe is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) NetNe(net uint32) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("net != ?", net)) +} + +// NetNotIn is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) NetNotIn(net ...uint32) MemberStatisticDailyQuerySet { + if len(net) == 0 { + qs.db.AddError(errors.New("must at least pass one net in NetNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("net NOT IN (?)", net)) +} + +// Offset is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) Offset(offset int) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Offset(offset)) +} + +// One is used to retrieve one result. It returns gorm.ErrRecordNotFound +// if nothing was fetched +func (qs MemberStatisticDailyQuerySet) One(ret *MemberStatisticDaily) error { + return qs.db.First(ret).Error +} + +// OrderAscByAccumulative is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) OrderAscByAccumulative() MemberStatisticDailyQuerySet { + return qs.w(qs.db.Order("accumulative ASC")) +} + +// OrderAscByCreatedAt is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) OrderAscByCreatedAt() MemberStatisticDailyQuerySet { + return qs.w(qs.db.Order("created_at ASC")) +} + +// OrderAscByDate is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) OrderAscByDate() MemberStatisticDailyQuerySet { + return qs.w(qs.db.Order("date ASC")) +} + +// OrderAscByDateTime is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) OrderAscByDateTime() MemberStatisticDailyQuerySet { + return qs.w(qs.db.Order("date_time ASC")) +} + +// OrderAscByDeletedAt is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) OrderAscByDeletedAt() MemberStatisticDailyQuerySet { + return qs.w(qs.db.Order("deleted_at ASC")) +} + +// OrderAscByExpire is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) OrderAscByExpire() MemberStatisticDailyQuerySet { + return qs.w(qs.db.Order("expire ASC")) +} + +// OrderAscByID is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) OrderAscByID() MemberStatisticDailyQuerySet { + return qs.w(qs.db.Order("id ASC")) +} + +// OrderAscByIncrease is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) OrderAscByIncrease() MemberStatisticDailyQuerySet { + return qs.w(qs.db.Order("increase ASC")) +} + +// OrderAscByMemberLevel is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) OrderAscByMemberLevel() MemberStatisticDailyQuerySet { + return qs.w(qs.db.Order("member_level ASC")) +} + +// OrderAscByNet is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) OrderAscByNet() MemberStatisticDailyQuerySet { + return qs.w(qs.db.Order("net ASC")) +} + +// OrderAscByUpdatedAt is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) OrderAscByUpdatedAt() MemberStatisticDailyQuerySet { + return qs.w(qs.db.Order("updated_at ASC")) +} + +// OrderDescByAccumulative is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) OrderDescByAccumulative() MemberStatisticDailyQuerySet { + return qs.w(qs.db.Order("accumulative DESC")) +} + +// OrderDescByCreatedAt is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) OrderDescByCreatedAt() MemberStatisticDailyQuerySet { + return qs.w(qs.db.Order("created_at DESC")) +} + +// OrderDescByDate is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) OrderDescByDate() MemberStatisticDailyQuerySet { + return qs.w(qs.db.Order("date DESC")) +} + +// OrderDescByDateTime is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) OrderDescByDateTime() MemberStatisticDailyQuerySet { + return qs.w(qs.db.Order("date_time DESC")) +} + +// OrderDescByDeletedAt is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) OrderDescByDeletedAt() MemberStatisticDailyQuerySet { + return qs.w(qs.db.Order("deleted_at DESC")) +} + +// OrderDescByExpire is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) OrderDescByExpire() MemberStatisticDailyQuerySet { + return qs.w(qs.db.Order("expire DESC")) +} + +// OrderDescByID is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) OrderDescByID() MemberStatisticDailyQuerySet { + return qs.w(qs.db.Order("id DESC")) +} + +// OrderDescByIncrease is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) OrderDescByIncrease() MemberStatisticDailyQuerySet { + return qs.w(qs.db.Order("increase DESC")) +} + +// OrderDescByMemberLevel is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) OrderDescByMemberLevel() MemberStatisticDailyQuerySet { + return qs.w(qs.db.Order("member_level DESC")) +} + +// OrderDescByNet is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) OrderDescByNet() MemberStatisticDailyQuerySet { + return qs.w(qs.db.Order("net DESC")) +} + +// OrderDescByUpdatedAt is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) OrderDescByUpdatedAt() MemberStatisticDailyQuerySet { + return qs.w(qs.db.Order("updated_at DESC")) +} + +// UpdatedAtEq is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) UpdatedAtEq(updatedAt time.Time) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("updated_at = ?", updatedAt)) +} + +// UpdatedAtGt is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) UpdatedAtGt(updatedAt time.Time) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("updated_at > ?", updatedAt)) +} + +// UpdatedAtGte is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) UpdatedAtGte(updatedAt time.Time) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("updated_at >= ?", updatedAt)) +} + +// UpdatedAtLt is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) UpdatedAtLt(updatedAt time.Time) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("updated_at < ?", updatedAt)) +} + +// UpdatedAtLte is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) UpdatedAtLte(updatedAt time.Time) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("updated_at <= ?", updatedAt)) +} + +// UpdatedAtNe is an autogenerated method +// nolint: dupl +func (qs MemberStatisticDailyQuerySet) UpdatedAtNe(updatedAt time.Time) MemberStatisticDailyQuerySet { + return qs.w(qs.db.Where("updated_at != ?", updatedAt)) +} + +// SetAccumulative is an autogenerated method +// nolint: dupl +func (u MemberStatisticDailyUpdater) SetAccumulative(accumulative uint32) MemberStatisticDailyUpdater { + u.fields[string(MemberStatisticDailyDBSchema.Accumulative)] = accumulative + return u +} + +// SetCreatedAt is an autogenerated method +// nolint: dupl +func (u MemberStatisticDailyUpdater) SetCreatedAt(createdAt time.Time) MemberStatisticDailyUpdater { + u.fields[string(MemberStatisticDailyDBSchema.CreatedAt)] = createdAt + return u +} + +// SetDate is an autogenerated method +// nolint: dupl +func (u MemberStatisticDailyUpdater) SetDate(date string) MemberStatisticDailyUpdater { + u.fields[string(MemberStatisticDailyDBSchema.Date)] = date + return u +} + +// SetDateTime is an autogenerated method +// nolint: dupl +func (u MemberStatisticDailyUpdater) SetDateTime(dateTime time.Time) MemberStatisticDailyUpdater { + u.fields[string(MemberStatisticDailyDBSchema.DateTime)] = dateTime + return u +} + +// SetDeletedAt is an autogenerated method +// nolint: dupl +func (u MemberStatisticDailyUpdater) SetDeletedAt(deletedAt *time.Time) MemberStatisticDailyUpdater { + u.fields[string(MemberStatisticDailyDBSchema.DeletedAt)] = deletedAt + return u +} + +// SetExpire is an autogenerated method +// nolint: dupl +func (u MemberStatisticDailyUpdater) SetExpire(expire uint32) MemberStatisticDailyUpdater { + u.fields[string(MemberStatisticDailyDBSchema.Expire)] = expire + return u +} + +// SetID is an autogenerated method +// nolint: dupl +func (u MemberStatisticDailyUpdater) SetID(ID uint32) MemberStatisticDailyUpdater { + u.fields[string(MemberStatisticDailyDBSchema.ID)] = ID + return u +} + +// SetIncrease is an autogenerated method +// nolint: dupl +func (u MemberStatisticDailyUpdater) SetIncrease(increase uint32) MemberStatisticDailyUpdater { + u.fields[string(MemberStatisticDailyDBSchema.Increase)] = increase + return u +} + +// SetMemberLevel is an autogenerated method +// nolint: dupl +func (u MemberStatisticDailyUpdater) SetMemberLevel(memberLevel uint32) MemberStatisticDailyUpdater { + u.fields[string(MemberStatisticDailyDBSchema.MemberLevel)] = memberLevel + return u +} + +// SetNet is an autogenerated method +// nolint: dupl +func (u MemberStatisticDailyUpdater) SetNet(net uint32) MemberStatisticDailyUpdater { + u.fields[string(MemberStatisticDailyDBSchema.Net)] = net + return u +} + +// SetUpdatedAt is an autogenerated method +// nolint: dupl +func (u MemberStatisticDailyUpdater) SetUpdatedAt(updatedAt time.Time) MemberStatisticDailyUpdater { + u.fields[string(MemberStatisticDailyDBSchema.UpdatedAt)] = updatedAt + return u +} + +// Update is an autogenerated method +// nolint: dupl +func (u MemberStatisticDailyUpdater) Update() error { + return u.db.Updates(u.fields).Error +} + +// UpdateNum is an autogenerated method +// nolint: dupl +func (u MemberStatisticDailyUpdater) UpdateNum() (int64, error) { + db := u.db.Updates(u.fields) + return db.RowsAffected, db.Error +} + +// ===== END of query set MemberStatisticDailyQuerySet + +// ===== BEGIN of MemberStatisticDaily modifiers + +// MemberStatisticDailyDBSchemaField describes database schema field. It requires for method 'Update' +type MemberStatisticDailyDBSchemaField string + +// String method returns string representation of field. +// nolint: dupl +func (f MemberStatisticDailyDBSchemaField) String() string { + return string(f) +} + +// MemberStatisticDailyDBSchema stores db field names of MemberStatisticDaily +var MemberStatisticDailyDBSchema = struct { + ID MemberStatisticDailyDBSchemaField + CreatedAt MemberStatisticDailyDBSchemaField + UpdatedAt MemberStatisticDailyDBSchemaField + DeletedAt MemberStatisticDailyDBSchemaField + MemberLevel MemberStatisticDailyDBSchemaField + Date MemberStatisticDailyDBSchemaField + DateTime MemberStatisticDailyDBSchemaField + Increase MemberStatisticDailyDBSchemaField + Expire MemberStatisticDailyDBSchemaField + Net MemberStatisticDailyDBSchemaField + Accumulative MemberStatisticDailyDBSchemaField +}{ + + ID: MemberStatisticDailyDBSchemaField("id"), + CreatedAt: MemberStatisticDailyDBSchemaField("created_at"), + UpdatedAt: MemberStatisticDailyDBSchemaField("updated_at"), + DeletedAt: MemberStatisticDailyDBSchemaField("deleted_at"), + MemberLevel: MemberStatisticDailyDBSchemaField("member_level"), + Date: MemberStatisticDailyDBSchemaField("date"), + DateTime: MemberStatisticDailyDBSchemaField("date_time"), + Increase: MemberStatisticDailyDBSchemaField("increase"), + Expire: MemberStatisticDailyDBSchemaField("expire"), + Net: MemberStatisticDailyDBSchemaField("net"), + Accumulative: MemberStatisticDailyDBSchemaField("accumulative"), +} + +// Update updates MemberStatisticDaily fields by primary key +// nolint: dupl +func (o *MemberStatisticDaily) Update(db *gorm.DB, fields ...MemberStatisticDailyDBSchemaField) error { + dbNameToFieldName := map[string]interface{}{ + "id": o.ID, + "created_at": o.CreatedAt, + "updated_at": o.UpdatedAt, + "deleted_at": o.DeletedAt, + "member_level": o.MemberLevel, + "date": o.Date, + "date_time": o.DateTime, + "increase": o.Increase, + "expire": o.Expire, + "net": o.Net, + "accumulative": o.Accumulative, + } + u := map[string]interface{}{} + for _, f := range fields { + fs := f.String() + u[fs] = dbNameToFieldName[fs] + } + if err := db.Model(o).Updates(u).Error; err != nil { + if err == gorm.ErrRecordNotFound { + return err + } + + return fmt.Errorf("can't update MemberStatisticDaily %v fields %v: %s", + o, fields, err) + } + + return nil +} + +// MemberStatisticDailyUpdater is an MemberStatisticDaily updates manager +type MemberStatisticDailyUpdater struct { + fields map[string]interface{} + db *gorm.DB +} + +// NewMemberStatisticDailyUpdater creates new MemberStatisticDaily updater +// nolint: dupl +func NewMemberStatisticDailyUpdater(db *gorm.DB) MemberStatisticDailyUpdater { + return MemberStatisticDailyUpdater{ + fields: map[string]interface{}{}, + db: db.Model(&MemberStatisticDaily{}), + } +} + +// ===== END of MemberStatisticDaily modifiers + // ===== BEGIN of query set OperationLogQuerySet // OperationLogQuerySet is an queryset type for OperationLog @@ -7790,6 +9000,118 @@ func (qs UserOpenMemberRecordQuerySet) CreatedAtNe(createdAt time.Time) UserOpen return qs.w(qs.db.Where("created_at != ?", createdAt)) } +// DeductionDaysEq is an autogenerated method +// nolint: dupl +func (qs UserOpenMemberRecordQuerySet) DeductionDaysEq(deductionDays uint32) UserOpenMemberRecordQuerySet { + return qs.w(qs.db.Where("deduction_days = ?", deductionDays)) +} + +// DeductionDaysGt is an autogenerated method +// nolint: dupl +func (qs UserOpenMemberRecordQuerySet) DeductionDaysGt(deductionDays uint32) UserOpenMemberRecordQuerySet { + return qs.w(qs.db.Where("deduction_days > ?", deductionDays)) +} + +// DeductionDaysGte is an autogenerated method +// nolint: dupl +func (qs UserOpenMemberRecordQuerySet) DeductionDaysGte(deductionDays uint32) UserOpenMemberRecordQuerySet { + return qs.w(qs.db.Where("deduction_days >= ?", deductionDays)) +} + +// DeductionDaysIn is an autogenerated method +// nolint: dupl +func (qs UserOpenMemberRecordQuerySet) DeductionDaysIn(deductionDays ...uint32) UserOpenMemberRecordQuerySet { + if len(deductionDays) == 0 { + qs.db.AddError(errors.New("must at least pass one deductionDays in DeductionDaysIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("deduction_days IN (?)", deductionDays)) +} + +// DeductionDaysLt is an autogenerated method +// nolint: dupl +func (qs UserOpenMemberRecordQuerySet) DeductionDaysLt(deductionDays uint32) UserOpenMemberRecordQuerySet { + return qs.w(qs.db.Where("deduction_days < ?", deductionDays)) +} + +// DeductionDaysLte is an autogenerated method +// nolint: dupl +func (qs UserOpenMemberRecordQuerySet) DeductionDaysLte(deductionDays uint32) UserOpenMemberRecordQuerySet { + return qs.w(qs.db.Where("deduction_days <= ?", deductionDays)) +} + +// DeductionDaysNe is an autogenerated method +// nolint: dupl +func (qs UserOpenMemberRecordQuerySet) DeductionDaysNe(deductionDays uint32) UserOpenMemberRecordQuerySet { + return qs.w(qs.db.Where("deduction_days != ?", deductionDays)) +} + +// DeductionDaysNotIn is an autogenerated method +// nolint: dupl +func (qs UserOpenMemberRecordQuerySet) DeductionDaysNotIn(deductionDays ...uint32) UserOpenMemberRecordQuerySet { + if len(deductionDays) == 0 { + qs.db.AddError(errors.New("must at least pass one deductionDays in DeductionDaysNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("deduction_days NOT IN (?)", deductionDays)) +} + +// DeductionFeeEq is an autogenerated method +// nolint: dupl +func (qs UserOpenMemberRecordQuerySet) DeductionFeeEq(deductionFee uint32) UserOpenMemberRecordQuerySet { + return qs.w(qs.db.Where("deduction_fee = ?", deductionFee)) +} + +// DeductionFeeGt is an autogenerated method +// nolint: dupl +func (qs UserOpenMemberRecordQuerySet) DeductionFeeGt(deductionFee uint32) UserOpenMemberRecordQuerySet { + return qs.w(qs.db.Where("deduction_fee > ?", deductionFee)) +} + +// DeductionFeeGte is an autogenerated method +// nolint: dupl +func (qs UserOpenMemberRecordQuerySet) DeductionFeeGte(deductionFee uint32) UserOpenMemberRecordQuerySet { + return qs.w(qs.db.Where("deduction_fee >= ?", deductionFee)) +} + +// DeductionFeeIn is an autogenerated method +// nolint: dupl +func (qs UserOpenMemberRecordQuerySet) DeductionFeeIn(deductionFee ...uint32) UserOpenMemberRecordQuerySet { + if len(deductionFee) == 0 { + qs.db.AddError(errors.New("must at least pass one deductionFee in DeductionFeeIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("deduction_fee IN (?)", deductionFee)) +} + +// DeductionFeeLt is an autogenerated method +// nolint: dupl +func (qs UserOpenMemberRecordQuerySet) DeductionFeeLt(deductionFee uint32) UserOpenMemberRecordQuerySet { + return qs.w(qs.db.Where("deduction_fee < ?", deductionFee)) +} + +// DeductionFeeLte is an autogenerated method +// nolint: dupl +func (qs UserOpenMemberRecordQuerySet) DeductionFeeLte(deductionFee uint32) UserOpenMemberRecordQuerySet { + return qs.w(qs.db.Where("deduction_fee <= ?", deductionFee)) +} + +// DeductionFeeNe is an autogenerated method +// nolint: dupl +func (qs UserOpenMemberRecordQuerySet) DeductionFeeNe(deductionFee uint32) UserOpenMemberRecordQuerySet { + return qs.w(qs.db.Where("deduction_fee != ?", deductionFee)) +} + +// DeductionFeeNotIn is an autogenerated method +// nolint: dupl +func (qs UserOpenMemberRecordQuerySet) DeductionFeeNotIn(deductionFee ...uint32) UserOpenMemberRecordQuerySet { + if len(deductionFee) == 0 { + qs.db.AddError(errors.New("must at least pass one deductionFee in DeductionFeeNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("deduction_fee NOT IN (?)", deductionFee)) +} + // Delete is an autogenerated method // nolint: dupl func (qs UserOpenMemberRecordQuerySet) Delete() error { @@ -8110,6 +9432,18 @@ func (qs UserOpenMemberRecordQuerySet) OrderAscByCreatedAt() UserOpenMemberRecor return qs.w(qs.db.Order("created_at ASC")) } +// OrderAscByDeductionDays is an autogenerated method +// nolint: dupl +func (qs UserOpenMemberRecordQuerySet) OrderAscByDeductionDays() UserOpenMemberRecordQuerySet { + return qs.w(qs.db.Order("deduction_days ASC")) +} + +// OrderAscByDeductionFee is an autogenerated method +// nolint: dupl +func (qs UserOpenMemberRecordQuerySet) OrderAscByDeductionFee() UserOpenMemberRecordQuerySet { + return qs.w(qs.db.Order("deduction_fee ASC")) +} + // OrderAscByDeletedAt is an autogenerated method // nolint: dupl func (qs UserOpenMemberRecordQuerySet) OrderAscByDeletedAt() UserOpenMemberRecordQuerySet { @@ -8182,6 +9516,18 @@ func (qs UserOpenMemberRecordQuerySet) OrderDescByCreatedAt() UserOpenMemberReco return qs.w(qs.db.Order("created_at DESC")) } +// OrderDescByDeductionDays is an autogenerated method +// nolint: dupl +func (qs UserOpenMemberRecordQuerySet) OrderDescByDeductionDays() UserOpenMemberRecordQuerySet { + return qs.w(qs.db.Order("deduction_days DESC")) +} + +// OrderDescByDeductionFee is an autogenerated method +// nolint: dupl +func (qs UserOpenMemberRecordQuerySet) OrderDescByDeductionFee() UserOpenMemberRecordQuerySet { + return qs.w(qs.db.Order("deduction_fee DESC")) +} + // OrderDescByDeletedAt is an autogenerated method // nolint: dupl func (qs UserOpenMemberRecordQuerySet) OrderDescByDeletedAt() UserOpenMemberRecordQuerySet { @@ -8571,6 +9917,20 @@ func (u UserOpenMemberRecordUpdater) SetCreatedAt(createdAt time.Time) UserOpenM return u } +// SetDeductionDays is an autogenerated method +// nolint: dupl +func (u UserOpenMemberRecordUpdater) SetDeductionDays(deductionDays uint32) UserOpenMemberRecordUpdater { + u.fields[string(UserOpenMemberRecordDBSchema.DeductionDays)] = deductionDays + return u +} + +// SetDeductionFee is an autogenerated method +// nolint: dupl +func (u UserOpenMemberRecordUpdater) SetDeductionFee(deductionFee uint32) UserOpenMemberRecordUpdater { + u.fields[string(UserOpenMemberRecordDBSchema.DeductionFee)] = deductionFee + return u +} + // SetDeletedAt is an autogenerated method // nolint: dupl func (u UserOpenMemberRecordUpdater) SetDeletedAt(deletedAt *time.Time) UserOpenMemberRecordUpdater { @@ -8676,32 +10036,36 @@ func (f UserOpenMemberRecordDBSchemaField) String() string { // UserOpenMemberRecordDBSchema stores db field names of UserOpenMemberRecord var UserOpenMemberRecordDBSchema = struct { - ID UserOpenMemberRecordDBSchemaField - CreatedAt UserOpenMemberRecordDBSchemaField - UpdatedAt UserOpenMemberRecordDBSchemaField - DeletedAt UserOpenMemberRecordDBSchemaField - Uid UserOpenMemberRecordDBSchemaField - OpenNo UserOpenMemberRecordDBSchemaField - OrderId UserOpenMemberRecordDBSchemaField - OrderType UserOpenMemberRecordDBSchemaField - MemberLevel UserOpenMemberRecordDBSchemaField - MemberExpire UserOpenMemberRecordDBSchemaField - UserCouponId UserOpenMemberRecordDBSchemaField - State UserOpenMemberRecordDBSchemaField + ID UserOpenMemberRecordDBSchemaField + CreatedAt UserOpenMemberRecordDBSchemaField + UpdatedAt UserOpenMemberRecordDBSchemaField + DeletedAt UserOpenMemberRecordDBSchemaField + Uid UserOpenMemberRecordDBSchemaField + OpenNo UserOpenMemberRecordDBSchemaField + OrderId UserOpenMemberRecordDBSchemaField + OrderType UserOpenMemberRecordDBSchemaField + MemberLevel UserOpenMemberRecordDBSchemaField + MemberExpire UserOpenMemberRecordDBSchemaField + UserCouponId UserOpenMemberRecordDBSchemaField + State UserOpenMemberRecordDBSchemaField + DeductionDays UserOpenMemberRecordDBSchemaField + DeductionFee UserOpenMemberRecordDBSchemaField }{ - ID: UserOpenMemberRecordDBSchemaField("id"), - CreatedAt: UserOpenMemberRecordDBSchemaField("created_at"), - UpdatedAt: UserOpenMemberRecordDBSchemaField("updated_at"), - DeletedAt: UserOpenMemberRecordDBSchemaField("deleted_at"), - Uid: UserOpenMemberRecordDBSchemaField("uid"), - OpenNo: UserOpenMemberRecordDBSchemaField("open_no"), - OrderId: UserOpenMemberRecordDBSchemaField("order_id"), - OrderType: UserOpenMemberRecordDBSchemaField("order_type"), - MemberLevel: UserOpenMemberRecordDBSchemaField("member_level"), - MemberExpire: UserOpenMemberRecordDBSchemaField("member_expire"), - UserCouponId: UserOpenMemberRecordDBSchemaField("user_coupon_id"), - State: UserOpenMemberRecordDBSchemaField("state"), + ID: UserOpenMemberRecordDBSchemaField("id"), + CreatedAt: UserOpenMemberRecordDBSchemaField("created_at"), + UpdatedAt: UserOpenMemberRecordDBSchemaField("updated_at"), + DeletedAt: UserOpenMemberRecordDBSchemaField("deleted_at"), + Uid: UserOpenMemberRecordDBSchemaField("uid"), + OpenNo: UserOpenMemberRecordDBSchemaField("open_no"), + OrderId: UserOpenMemberRecordDBSchemaField("order_id"), + OrderType: UserOpenMemberRecordDBSchemaField("order_type"), + MemberLevel: UserOpenMemberRecordDBSchemaField("member_level"), + MemberExpire: UserOpenMemberRecordDBSchemaField("member_expire"), + UserCouponId: UserOpenMemberRecordDBSchemaField("user_coupon_id"), + State: UserOpenMemberRecordDBSchemaField("state"), + DeductionDays: UserOpenMemberRecordDBSchemaField("deduction_days"), + DeductionFee: UserOpenMemberRecordDBSchemaField("deduction_fee"), } // Update updates UserOpenMemberRecord fields by primary key @@ -8720,6 +10084,8 @@ func (o *UserOpenMemberRecord) Update(db *gorm.DB, fields ...UserOpenMemberRecor "member_expire": o.MemberExpire, "user_coupon_id": o.UserCouponId, "state": o.State, + "deduction_days": o.DeductionDays, + "deduction_fee": o.DeductionFee, } u := map[string]interface{}{} for _, f := range fields { @@ -9644,6 +11010,42 @@ func (qs UserQuerySet) InviteCodeUrlNotlike(inviteCodeUrl string) UserQuerySet { return qs.w(qs.db.Where("invite_code_url NOT LIKE ?", inviteCodeUrl)) } +// InviteTimeEq is an autogenerated method +// nolint: dupl +func (qs UserQuerySet) InviteTimeEq(inviteTime time.Time) UserQuerySet { + return qs.w(qs.db.Where("invite_time = ?", inviteTime)) +} + +// InviteTimeGt is an autogenerated method +// nolint: dupl +func (qs UserQuerySet) InviteTimeGt(inviteTime time.Time) UserQuerySet { + return qs.w(qs.db.Where("invite_time > ?", inviteTime)) +} + +// InviteTimeGte is an autogenerated method +// nolint: dupl +func (qs UserQuerySet) InviteTimeGte(inviteTime time.Time) UserQuerySet { + return qs.w(qs.db.Where("invite_time >= ?", inviteTime)) +} + +// InviteTimeLt is an autogenerated method +// nolint: dupl +func (qs UserQuerySet) InviteTimeLt(inviteTime time.Time) UserQuerySet { + return qs.w(qs.db.Where("invite_time < ?", inviteTime)) +} + +// InviteTimeLte is an autogenerated method +// nolint: dupl +func (qs UserQuerySet) InviteTimeLte(inviteTime time.Time) UserQuerySet { + return qs.w(qs.db.Where("invite_time <= ?", inviteTime)) +} + +// InviteTimeNe is an autogenerated method +// nolint: dupl +func (qs UserQuerySet) InviteTimeNe(inviteTime time.Time) UserQuerySet { + return qs.w(qs.db.Where("invite_time != ?", inviteTime)) +} + // LastLoginAtEq is an autogenerated method // nolint: dupl func (qs UserQuerySet) LastLoginAtEq(lastLoginAt time.Time) UserQuerySet { @@ -9858,6 +11260,62 @@ func (qs UserQuerySet) OpenMemberChannelNotlike(openMemberChannel string) UserQu return qs.w(qs.db.Where("open_member_channel NOT LIKE ?", openMemberChannel)) } +// OpenMemberLevelEq is an autogenerated method +// nolint: dupl +func (qs UserQuerySet) OpenMemberLevelEq(openMemberLevel uint32) UserQuerySet { + return qs.w(qs.db.Where("open_member_level = ?", openMemberLevel)) +} + +// OpenMemberLevelGt is an autogenerated method +// nolint: dupl +func (qs UserQuerySet) OpenMemberLevelGt(openMemberLevel uint32) UserQuerySet { + return qs.w(qs.db.Where("open_member_level > ?", openMemberLevel)) +} + +// OpenMemberLevelGte is an autogenerated method +// nolint: dupl +func (qs UserQuerySet) OpenMemberLevelGte(openMemberLevel uint32) UserQuerySet { + return qs.w(qs.db.Where("open_member_level >= ?", openMemberLevel)) +} + +// OpenMemberLevelIn is an autogenerated method +// nolint: dupl +func (qs UserQuerySet) OpenMemberLevelIn(openMemberLevel ...uint32) UserQuerySet { + if len(openMemberLevel) == 0 { + qs.db.AddError(errors.New("must at least pass one openMemberLevel in OpenMemberLevelIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("open_member_level IN (?)", openMemberLevel)) +} + +// OpenMemberLevelLt is an autogenerated method +// nolint: dupl +func (qs UserQuerySet) OpenMemberLevelLt(openMemberLevel uint32) UserQuerySet { + return qs.w(qs.db.Where("open_member_level < ?", openMemberLevel)) +} + +// OpenMemberLevelLte is an autogenerated method +// nolint: dupl +func (qs UserQuerySet) OpenMemberLevelLte(openMemberLevel uint32) UserQuerySet { + return qs.w(qs.db.Where("open_member_level <= ?", openMemberLevel)) +} + +// OpenMemberLevelNe is an autogenerated method +// nolint: dupl +func (qs UserQuerySet) OpenMemberLevelNe(openMemberLevel uint32) UserQuerySet { + return qs.w(qs.db.Where("open_member_level != ?", openMemberLevel)) +} + +// OpenMemberLevelNotIn is an autogenerated method +// nolint: dupl +func (qs UserQuerySet) OpenMemberLevelNotIn(openMemberLevel ...uint32) UserQuerySet { + if len(openMemberLevel) == 0 { + qs.db.AddError(errors.New("must at least pass one openMemberLevel in OpenMemberLevelNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("open_member_level NOT IN (?)", openMemberLevel)) +} + // OpenMemberTimeEq is an autogenerated method // nolint: dupl func (qs UserQuerySet) OpenMemberTimeEq(openMemberTime time.Time) UserQuerySet { @@ -9978,6 +11436,12 @@ func (qs UserQuerySet) OrderAscByInviteCodeUrl() UserQuerySet { return qs.w(qs.db.Order("invite_code_url ASC")) } +// OrderAscByInviteTime is an autogenerated method +// nolint: dupl +func (qs UserQuerySet) OrderAscByInviteTime() UserQuerySet { + return qs.w(qs.db.Order("invite_time ASC")) +} + // OrderAscByLastLoginAt is an autogenerated method // nolint: dupl func (qs UserQuerySet) OrderAscByLastLoginAt() UserQuerySet { @@ -10002,6 +11466,12 @@ func (qs UserQuerySet) OrderAscByOpenMemberChannel() UserQuerySet { return qs.w(qs.db.Order("open_member_channel ASC")) } +// OrderAscByOpenMemberLevel is an autogenerated method +// nolint: dupl +func (qs UserQuerySet) OrderAscByOpenMemberLevel() UserQuerySet { + return qs.w(qs.db.Order("open_member_level ASC")) +} + // OrderAscByOpenMemberTime is an autogenerated method // nolint: dupl func (qs UserQuerySet) OrderAscByOpenMemberTime() UserQuerySet { @@ -10176,6 +11646,12 @@ func (qs UserQuerySet) OrderDescByInviteCodeUrl() UserQuerySet { return qs.w(qs.db.Order("invite_code_url DESC")) } +// OrderDescByInviteTime is an autogenerated method +// nolint: dupl +func (qs UserQuerySet) OrderDescByInviteTime() UserQuerySet { + return qs.w(qs.db.Order("invite_time DESC")) +} + // OrderDescByLastLoginAt is an autogenerated method // nolint: dupl func (qs UserQuerySet) OrderDescByLastLoginAt() UserQuerySet { @@ -10200,6 +11676,12 @@ func (qs UserQuerySet) OrderDescByOpenMemberChannel() UserQuerySet { return qs.w(qs.db.Order("open_member_channel DESC")) } +// OrderDescByOpenMemberLevel is an autogenerated method +// nolint: dupl +func (qs UserQuerySet) OrderDescByOpenMemberLevel() UserQuerySet { + return qs.w(qs.db.Order("open_member_level DESC")) +} + // OrderDescByOpenMemberTime is an autogenerated method // nolint: dupl func (qs UserQuerySet) OrderDescByOpenMemberTime() UserQuerySet { @@ -11236,6 +12718,13 @@ func (u UserUpdater) SetInviteCodeUrl(inviteCodeUrl string) UserUpdater { return u } +// SetInviteTime is an autogenerated method +// nolint: dupl +func (u UserUpdater) SetInviteTime(inviteTime time.Time) UserUpdater { + u.fields[string(UserDBSchema.InviteTime)] = inviteTime + return u +} + // SetLastLoginAt is an autogenerated method // nolint: dupl func (u UserUpdater) SetLastLoginAt(lastLoginAt time.Time) UserUpdater { @@ -11264,6 +12753,13 @@ func (u UserUpdater) SetOpenMemberChannel(openMemberChannel string) UserUpdater return u } +// SetOpenMemberLevel is an autogenerated method +// nolint: dupl +func (u UserUpdater) SetOpenMemberLevel(openMemberLevel uint32) UserUpdater { + u.fields[string(UserDBSchema.OpenMemberLevel)] = openMemberLevel + return u +} + // SetOpenMemberTime is an autogenerated method // nolint: dupl func (u UserUpdater) SetOpenMemberTime(openMemberTime time.Time) UserUpdater { @@ -11429,7 +12925,9 @@ var UserDBSchema = struct { CooperativeBusinessId UserDBSchemaField CooperativeName UserDBSchemaField ShopAssistantName UserDBSchemaField + OpenMemberLevel UserDBSchemaField Version UserDBSchemaField + InviteTime UserDBSchemaField }{ ID: UserDBSchemaField("id"), @@ -11464,7 +12962,9 @@ var UserDBSchema = struct { CooperativeBusinessId: UserDBSchemaField("cooperative_business_id"), CooperativeName: UserDBSchemaField("cooperative_name"), ShopAssistantName: UserDBSchemaField("shop_assistant_name"), + OpenMemberLevel: UserDBSchemaField("open_member_level"), Version: UserDBSchemaField("version"), + InviteTime: UserDBSchemaField("invite_time"), } // Update updates User fields by primary key @@ -11503,7 +13003,9 @@ func (o *User) Update(db *gorm.DB, fields ...UserDBSchemaField) error { "cooperative_business_id": o.CooperativeBusinessId, "cooperative_name": o.CooperativeName, "shop_assistant_name": o.ShopAssistantName, + "open_member_level": o.OpenMemberLevel, "version": o.Version, + "invite_time": o.InviteTime, } u := map[string]interface{}{} for _, f := range fields { diff --git a/model/config.go b/model/config.go index 770bd4b..71b2ca9 100644 --- a/model/config.go +++ b/model/config.go @@ -27,10 +27,11 @@ type PayConfig struct { } const ( - ConfigNamePay = "pay_config" // 支付配置 - ConfigNameMember = "member_config" // 会员配置 - ConfigNameMemberVm = "member_vm_config" // 会员积分配置 - ConfigNameAttendanceVm = "attendance_vm_config" // 签到积分配置 + ConfigNamePay = "pay_config" // 支付配置 + ConfigNameMember = "member_config" // 会员配置 + ConfigNameMemberVm = "member_vm_config" // 会员积分配置 + ConfigNameAttendanceVm = "attendance_vm_config" // 签到积分配置 + ConfigActivityRenewal = "activity_renewal_config" // 活动配置 ) func PayConfigInfo() (*PayConfig, error) { @@ -186,6 +187,39 @@ func (m *AttendanceVmConfig) Vm(days uint32) uint32 { return vm } +type ActivityRenewalConfig struct { + CouponValidity int `json:"coupon_validity"` + ActivityContinuity int `json:"activity_continuity"` + PopTrap int `json:"pop_trap"` +} + +func ActivityRenewalConfigInfo() (ActivityRenewalConfig, error) { + activityRenewalConfig := ActivityRenewalConfig{} + var configAllocation Config + err := NewConfigQuerySet(DB).NameEq(ConfigActivityRenewal).One(&configAllocation) + if err != nil { + logger.Error("err:", err) + return activityRenewalConfig, err + } + + err = json.Unmarshal([]byte(configAllocation.Value), &activityRenewalConfig) + if err != nil { + logger.Error("err:", err) + return activityRenewalConfig, err + } + + return activityRenewalConfig, nil +} + +func GetActivityRenewalConfig() ActivityRenewalConfig { + info, err := ActivityRenewalConfigInfo() + if err != nil { + logger.Error("info err:", err) + return info + } + return info +} + //type ConfigInterface interface { // Encode() string //} diff --git a/model/cooperative_business.go b/model/cooperative_business.go index b72b3aa..bdc72bb 100644 --- a/model/cooperative_business.go +++ b/model/cooperative_business.go @@ -39,21 +39,27 @@ type CooperativeBusiness struct { // gen:qs type CooperativeMemberDeduct struct { Model - CooperativeBusinessId uint32 `json:"cooperative_business_id" gorm:"index"` - GoldDeduct uint32 `json:"gold_deduct"` // 黄金会员提成 - PlatinumDeduct uint32 `json:"platinum_deduct"` // 白金会员提成 - BlackGoldDeduct uint32 `json:"black_gold_deduct"` // 黑金金会员提成 + CooperativeBusinessId uint32 `json:"cooperative_business_id" gorm:"index"` + GoldDeduct uint32 `json:"gold_deduct"` // 黄金会员提成 + PlatinumDeduct uint32 `json:"platinum_deduct"` // 白金会员提成 + BlackGoldDeduct uint32 `json:"black_gold_deduct"` // 黑金金会员提成 + RenewalGoldDeduct uint32 `json:"renewal_gold_deduct"` // 续费黄金会员提成 + RenewalPlatinumDeduct uint32 `json:"renewal_platinum_deduct"` // 续费白金会员提成 + RenewalBlackGoldDeduct uint32 `json:"renewal_black_gold_deduct"` // 续费黑金金会员提成 // cooperative_member_deduct } // gen:qs type CooperativeAssistantMemberDeduct struct { Model - CooperativeBusinessId uint32 `json:"cooperative_business_id" gorm:"index"` - StoreId uint32 `json:"store_id" gorm:"index"` // - GoldDeduct uint32 `json:"gold_deduct"` // 黄金会员提成 - PlatinumDeduct uint32 `json:"platinum_deduct"` // 白金会员提成 - BlackGoldDeduct uint32 `json:"black_gold_deduct"` // 黑金金会员提成 + CooperativeBusinessId uint32 `json:"cooperative_business_id" gorm:"index"` + StoreId uint32 `json:"store_id" gorm:"index"` // + GoldDeduct uint32 `json:"gold_deduct"` // 黄金会员提成 + PlatinumDeduct uint32 `json:"platinum_deduct"` // 白金会员提成 + BlackGoldDeduct uint32 `json:"black_gold_deduct"` // 黑金金会员提成 + RenewalGoldDeduct uint32 `json:"renewal_gold_deduct"` // 续费黄金会员提成 + RenewalPlatinumDeduct uint32 `json:"renewal_platinum_deduct"` // 续费白金会员提成 + RenewalBlackGoldDeduct uint32 `json:"renewal_black_gold_deduct"` // 续费黑金金会员提成 // cooperative_assistant_member_deduct } @@ -74,6 +80,11 @@ type CooperativeMemberPromotion struct { BlackGoldCount uint32 `json:"black_gold_count"` // 黑金会员数量 Date string `json:"date" gorm:"index"` // State string `json:"state"` // 待发起结算 待财务打款 已结算 + + RenewalGoldCount uint32 `json:"renewal_gold_count"` // 续费黄金会员数量 + RenewalPlatinumCount uint32 `json:"renewal_platinum_count"` // 续费白金会员数量 + RenewalBlackGoldCount uint32 `json:"renewal_black_gold_count"` // 续费黑金会员数量 + // cooperative_member_promotion } @@ -82,12 +93,15 @@ type CooperativeMemberPromotion struct { type CooperativeMemberPromotionStore struct { Model CooperativeBusinessId uint32 `json:"cooperative_business_id" gorm:"index"` - CooperativeName string `json:"cooperative_name"` // 合作商名称 - StoreId uint32 `json:"store_id" gorm:"index"` // 门店id - GoldCount uint32 `json:"gold_count"` // 黄金会员数量 - PlatinumCount uint32 `json:"platinum_count"` // 白金会员数量 - BlackGoldCount uint32 `json:"black_gold_count"` // 黑金会员数量 - Date string `json:"date" gorm:"index"` // + CooperativeName string `json:"cooperative_name"` // 合作商名称 + StoreId uint32 `json:"store_id" gorm:"index"` // 门店id + GoldCount uint32 `json:"gold_count"` // 黄金会员数量 + PlatinumCount uint32 `json:"platinum_count"` // 白金会员数量 + BlackGoldCount uint32 `json:"black_gold_count"` // 黑金会员数量 + Date string `json:"date" gorm:"index"` // + RenewalGoldCount uint32 `json:"renewal_gold_count"` // 续费黄金会员数量 + RenewalPlatinumCount uint32 `json:"renewal_platinum_count"` // 续费白金会员数量 + RenewalBlackGoldCount uint32 `json:"renewal_black_gold_count"` // 续费黑金会员数量 // cooperative_member_promotion_store } @@ -96,11 +110,14 @@ type CooperativeMemberPromotionStore struct { type CooperativeMemberPromotionDay struct { Model CooperativeBusinessId uint32 `json:"cooperative_business_id" gorm:"index"` - CooperativeName string `json:"cooperative_name"` // 合作商名称 - GoldCount uint32 `json:"gold_count"` // 黄金会员数量 - PlatinumCount uint32 `json:"platinum_count"` // 白金会员数量 - BlackGoldCount uint32 `json:"black_gold_count"` // 黑金会员数量 - DayTime string `json:"day_time" gorm:"index"` // + CooperativeName string `json:"cooperative_name"` // 合作商名称 + GoldCount uint32 `json:"gold_count"` // 黄金会员数量 + PlatinumCount uint32 `json:"platinum_count"` // 白金会员数量 + BlackGoldCount uint32 `json:"black_gold_count"` // 黑金会员数量 + DayTime string `json:"day_time" gorm:"index"` // + RenewalGoldCount uint32 `json:"renewal_gold_count"` // 续费黄金会员数量 + RenewalPlatinumCount uint32 `json:"renewal_platinum_count"` // 续费白金会员数量 + RenewalBlackGoldCount uint32 `json:"renewal_black_gold_count"` // 续费黑金会员数量 // cooperative_member_promotion_day } @@ -109,13 +126,15 @@ type CooperativeMemberPromotionDay struct { type CooperativeMemberPromotionStoreDay struct { Model CooperativeBusinessId uint32 `json:"cooperative_business_id" gorm:"index"` - CooperativeName string `json:"cooperative_name"` // 合作商名称 - StoreId uint32 `json:"store_id" gorm:"index"` // 门店id - GoldCount uint32 `json:"gold_count"` // 黄金会员数量 - PlatinumCount uint32 `json:"platinum_count"` // 白金会员数量 - BlackGoldCount uint32 `json:"black_gold_count"` // 黑金会员数量 - DayTime string `json:"day_time" gorm:"index"` // - + CooperativeName string `json:"cooperative_name"` // 合作商名称 + StoreId uint32 `json:"store_id" gorm:"index"` // 门店id + GoldCount uint32 `json:"gold_count"` // 黄金会员数量 + PlatinumCount uint32 `json:"platinum_count"` // 白金会员数量 + BlackGoldCount uint32 `json:"black_gold_count"` // 黑金会员数量 + DayTime string `json:"day_time" gorm:"index"` // + RenewalGoldCount uint32 `json:"renewal_gold_count"` // 续费黄金会员数量 + RenewalPlatinumCount uint32 `json:"renewal_platinum_count"` // 续费白金会员数量 + RenewalBlackGoldCount uint32 `json:"renewal_black_gold_count"` // 续费黑金会员数量 // cooperative_member_promotion_store_day } @@ -131,9 +150,18 @@ type CooperativeDeductSettle struct { GoldCount uint32 `json:"gold_count"` // 黄金会员数量 PlatinumCount uint32 `json:"platinum_count"` // 白金会员数量 BlackGoldCount uint32 `json:"black_gold_count"` // 黑金会员数量 - GoldDeduct uint32 `json:"gold_deduct"` // 黄金会员提成配置 - PlatinumDeduct uint32 `json:"platinum_deduct"` // 白金会员提成配置 - BlackGoldDeduct uint32 `json:"black_gold_deduct"` // 黑金会员提成配置 + + GoldDeduct uint32 `json:"gold_deduct"` // 黄金会员提成配置 + PlatinumDeduct uint32 `json:"platinum_deduct"` // 白金会员提成配置 + BlackGoldDeduct uint32 `json:"black_gold_deduct"` // 黑金会员提成配置 + + RenewalGoldCount uint32 `json:"renewal_gold_count"` // 续费黄金会员数量 + RenewalPlatinumCount uint32 `json:"renewal_platinum_count"` // 续费白金会员数量 + RenewalBlackGoldCount uint32 `json:"renewal_black_gold_count"` // 续费黑金会员数量 + + RenewalGoldDeduct uint32 `json:"renewal_gold_deduct"` // 续费黄金会员提成 + RenewalPlatinumDeduct uint32 `json:"renewal_platinum_deduct"` // 续费白金会员提成 + RenewalBlackGoldDeduct uint32 `json:"renewal_black_gold_deduct"` // 续费黑金金会员提成 } func AddCooperativeMemberPromotion(cooperativeId, storeId, assistantUid uint32, memberLevel int) { @@ -462,3 +490,320 @@ func (m *CooperativeBusiness) SetAssistantMemberDeductConfig(storeId uint32) { } m.CooperativeAssistantMemberDeduct = &assistantDeductConfig } + +func AddCooperativeMemberRenewal(cooperativeId, storeId, assistantUid uint32, memberLevel int) { + defer func() { + if err := recover(); err != nil { + logger.Error("err:", err) + } + }() + var cooperativeBusiness CooperativeBusiness + err := NewCooperativeBusinessQuerySet(DB).IDEq(cooperativeId).One(&cooperativeBusiness) + if err != nil { + logger.Error("cooperative business err:", err) + return + } + //fmt.Println("cooperativeId:", cooperativeId) + //fmt.Println("storeId:", storeId) + //fmt.Println("assistantUid:", assistantUid) + //fmt.Println("memberLevel:", memberLevel) + + go func() { + promotion := &CooperativeMemberPromotion{CooperativeBusinessId: cooperativeId, CooperativeName: cooperativeBusiness.Name} + promotionStore := &CooperativeMemberPromotionStore{CooperativeBusinessId: cooperativeId, CooperativeName: cooperativeBusiness.Name} + promotionDay := &CooperativeMemberPromotionDay{CooperativeBusinessId: cooperativeId, CooperativeName: cooperativeBusiness.Name} + promotionStoreDay := &CooperativeMemberPromotionStoreDay{CooperativeBusinessId: cooperativeId, CooperativeName: cooperativeBusiness.Name} + inviteReport := &InviteMemberReport{CooperativeBusinessId: cooperativeId, CooperativeName: cooperativeBusiness.Name, + Uid: assistantUid, StoreId: storeId, + } + begin := DB.Begin() + err = promotion.AddRenewal(begin, memberLevel) + if err != nil { + begin.Rollback() + logger.Error("promotion add promotion err:", err) + return + } + + err = promotionStore.AddRenewal(begin, memberLevel, storeId) + if err != nil { + begin.Rollback() + logger.Error("promotion add promotion err:", err) + return + } + + err = promotionDay.AddRenewal(begin, memberLevel) + if err != nil { + begin.Rollback() + logger.Error("promotion add promotion err:", err) + return + } + + err = promotionStoreDay.AddRenewal(begin, memberLevel, storeId) + if err != nil { + begin.Rollback() + logger.Error("promotion add promotion err:", err) + return + } + + err = inviteReport.AddRenewal(begin, memberLevel) + if err != nil { + begin.Rollback() + logger.Error("promotion add promotion err:", err) + return + } + err = begin.Commit().Error + if err != nil { + begin.Rollback() + logger.Error("commit err:", err) + return + } + }() + +} + +func (m *CooperativeMemberPromotion) AddRenewal(gdb *gorm.DB, memberLevel int) error { + dateString := utils.MonthDate() + if memberLevel < 0 { + return errors.New("member level err") + } + m.Date = dateString + sql := "" + switch memberLevel { + case 2: + sql = "UPDATE cooperative_member_promotion SET renewal_gold_count=renewal_gold_count+1 " + + fmt.Sprintf("WHERE date='%s' AND cooperative_business_id=%d", dateString, m.CooperativeBusinessId) + m.RenewalGoldCount = 1 + case 4: + sql = "UPDATE cooperative_member_promotion SET renewal_platinum_count=renewal_platinum_count+1 " + + fmt.Sprintf("WHERE date='%s' AND cooperative_business_id=%d", dateString, m.CooperativeBusinessId) + m.RenewalPlatinumCount = 1 + case 5: + sql = "UPDATE cooperative_member_promotion SET renewal_black_gold_count=renewal_black_gold_count+1 " + + fmt.Sprintf("WHERE date='%s' AND cooperative_business_id=%d", dateString, m.CooperativeBusinessId) + m.RenewalBlackGoldCount = 1 + } + fmt.Println("邀请会员sql:", sql) + exist, err := QueryRecordExist(fmt.Sprintf( + "SELECT * FROM cooperative_member_promotion WHERE cooperative_business_id=%d AND date='%s' ", + m.CooperativeBusinessId, dateString)) + if err != nil { + logger.Error("cooperative member promotion record exist err:", err) + return err + } + //fmt.Println("是否存在数据:", fmt.Sprintf( + // "SELECT * FROM cooperative_member_promotion WHERE cooperative_business_id=%d AND date='%s'", + // m.CooperativeBusinessId, dateString)) + if exist { + err = gdb.Exec(sql).Error + if err != nil { + logger.Error("update cooperative member promotion err:", err) + return err + } + } else { + m.State = PromotionStateUnSettlement + err = gdb.Create(m).Error + if err != nil { + logger.Error("create cooperative member promotion err:", err) + return err + } + } + return nil +} + +func (m *CooperativeMemberPromotionStore) AddRenewal(gdb *gorm.DB, memberLevel int, storeId uint32) error { + dateString := utils.MonthDate() + if memberLevel < 0 { + return errors.New("member level err") + } + m.Date = dateString + m.StoreId = storeId + sql := "" + switch memberLevel { + case 2: + sql = "UPDATE cooperative_member_promotion_store SET renewal_gold_count=renewal_gold_count+1 " + + fmt.Sprintf("WHERE date='%s' AND cooperative_business_id=%d AND store_id=%d", + dateString, m.CooperativeBusinessId, storeId) + m.RenewalGoldCount = 1 + case 4: + sql = "UPDATE cooperative_member_promotion_store SET renewal_platinum_count=renewal_platinum_count+1 " + + fmt.Sprintf("WHERE date='%s' AND cooperative_business_id=%d AND store_id=%d", + dateString, m.CooperativeBusinessId, storeId) + m.RenewalPlatinumCount = 1 + case 5: + sql = "UPDATE cooperative_member_promotion_store SET renewal_black_gold_count=renewal_black_gold_count+1 " + + fmt.Sprintf("WHERE date='%s' AND cooperative_business_id=%d AND store_id=%d", + dateString, m.CooperativeBusinessId, storeId) + m.RenewalBlackGoldCount = 1 + } + exist, err := QueryRecordExist(fmt.Sprintf( + "SELECT * FROM cooperative_member_promotion_store WHERE cooperative_business_id=%d AND date='%s' AND store_id=%d", + m.CooperativeBusinessId, dateString, storeId)) + if err != nil { + logger.Error("cooperative member promotion record exist err:", err) + return err + } + if exist { + err = gdb.Exec(sql).Error + if err != nil { + logger.Error("update cooperative member promotion err:", err) + return err + } + } else { + err = gdb.Create(m).Error + if err != nil { + logger.Error("create cooperative member promotion err:", err) + return err + } + } + return nil +} + +func (m *CooperativeMemberPromotionDay) AddRenewal(gdb *gorm.DB, memberLevel int) error { + dayString := utils.TodayZeroDateFormat() + if memberLevel < 0 { + return errors.New("member level err") + } + m.DayTime = dayString + sql := "" + switch memberLevel { + case 2: + sql = "UPDATE cooperative_member_promotion_day SET renewal_gold_count=renewal_gold_count+1 " + + fmt.Sprintf("WHERE day_time='%s' AND cooperative_business_id=%d", dayString, m.CooperativeBusinessId) + m.RenewalGoldCount = 1 + case 4: + sql = "UPDATE cooperative_member_promotion_day SET renewal_platinum_count=renewal_platinum_count+1 " + + fmt.Sprintf("WHERE day_time='%s' AND cooperative_business_id=%d", dayString, m.CooperativeBusinessId) + m.RenewalPlatinumCount = 1 + case 5: + sql = "UPDATE cooperative_member_promotion_day SET renewal_black_gold_count=renewal_black_gold_count+1 " + + fmt.Sprintf("WHERE day_time='%s' AND cooperative_business_id=%d", dayString, m.CooperativeBusinessId) + m.RenewalBlackGoldCount = 1 + } + exist, err := QueryRecordExist(fmt.Sprintf( + "SELECT * FROM cooperative_member_promotion_day WHERE cooperative_business_id=%d AND day_time='%s'", + m.CooperativeBusinessId, dayString)) + if err != nil { + logger.Error("cooperative member promotion record exist err:", err) + return err + } + if exist { + err = gdb.Exec(sql).Error + if err != nil { + logger.Error("update cooperative member promotion day err:", err) + return err + } + } else { + err = gdb.Create(m).Error + if err != nil { + logger.Error("create cooperative member promotion day err:", err) + return err + } + } + return nil +} + +func (m *CooperativeMemberPromotionStoreDay) AddRenewal(gdb *gorm.DB, memberLevel int, storeId uint32) error { + dateString := utils.TodayZeroDateFormat() + if memberLevel < 0 { + return errors.New("member level err") + } + m.DayTime = dateString + m.StoreId = storeId + sql := "" + switch memberLevel { + case 2: + sql = "UPDATE cooperative_member_promotion_store_day SET renewal_gold_count=renewal_gold_count+1 " + + fmt.Sprintf("WHERE day_time='%s' AND cooperative_business_id=%d AND store_id=%d", + dateString, m.CooperativeBusinessId, storeId) + m.RenewalGoldCount = 1 + case 4: + sql = "UPDATE cooperative_member_promotion_store_day SET renewal_platinum_count=renewal_platinum_count+1 " + + fmt.Sprintf("WHERE day_time='%s' AND cooperative_business_id=%d AND store_id=%d", + dateString, m.CooperativeBusinessId, storeId) + m.RenewalPlatinumCount = 1 + case 5: + sql = "UPDATE cooperative_member_promotion_store_day SET renewal_black_gold_count=renewal_black_gold_count+1 " + + fmt.Sprintf("WHERE day_time='%s' AND cooperative_business_id=%d AND store_id=%d", + dateString, m.CooperativeBusinessId, storeId) + m.RenewalBlackGoldCount = 1 + } + exist, err := QueryRecordExist("SELECT * FROM cooperative_member_promotion_store_day " + + fmt.Sprintf("WHERE cooperative_business_id=%d AND day_time='%s' AND store_id=%d", + m.CooperativeBusinessId, dateString, storeId)) + if err != nil { + logger.Error("cooperative member promotion store day record exist err:", err) + return err + } + if exist { + err = gdb.Exec(sql).Error + if err != nil { + logger.Error("update cooperative member promotion store day err:", err) + return err + } + } else { + err = gdb.Create(m).Error + if err != nil { + logger.Error("create cooperative member promotion store day err:", err) + return err + } + } + return nil +} + +func (m *InviteMemberReport) AddRenewal(gdb *gorm.DB, memberLevel int) error { + dateString := utils.MonthDate() + if memberLevel < 0 { + return errors.New("member level err") + } + if gdb == nil { + gdb = DB + } + if m.StoreId == 0 { + return errors.New("store id is null") + } + if m.Uid == 0 { + return errors.New("uid is null") + } + m.Date = dateString + sql := "" + switch memberLevel { + case 2: + sql = "UPDATE invite_member_report SET renewal_gold_count=renewal_gold_count+1 " + + fmt.Sprintf("WHERE date='%s' AND cooperative_business_id=%d AND store_id=%d AND uid=%d", + dateString, m.CooperativeBusinessId, m.StoreId, m.Uid) + m.RenewalGoldCount = 1 + case 4: + sql = "UPDATE invite_member_report SET renewal_platinum_count=renewal_platinum_count+1 " + + fmt.Sprintf("WHERE date='%s' AND cooperative_business_id=%d AND store_id=%d AND uid=%d", + dateString, m.CooperativeBusinessId, m.StoreId, m.Uid) + m.RenewalPlatinumCount = 1 + case 5: + sql = "UPDATE invite_member_report SET renewal_black_gold_count=renewal_black_gold_count+1 " + + fmt.Sprintf("WHERE date='%s' AND cooperative_business_id=%d AND store_id=%d AND uid=%d", + dateString, m.CooperativeBusinessId, m.StoreId, m.Uid) + m.RenewalBlackGoldCount = 1 + } + + exist, err := QueryRecordExist(fmt.Sprintf( + "SELECT * FROM invite_member_report WHERE cooperative_business_id=%d AND date='%s' AND store_id=%d AND uid=%d", + m.CooperativeBusinessId, dateString, m.StoreId, m.Uid)) + if err != nil { + logger.Error("cooperative member promotion record exist err:", err) + return err + } + if exist { + err = gdb.Exec(sql).Error + if err != nil { + logger.Error("update cooperative member promotion err:", err) + return err + } + } else { + //m.State = PromotionStateUnSettlement + err = gdb.Create(m).Error + if err != nil { + logger.Error("create cooperative member promotion err:", err) + return err + } + } + return nil +} diff --git a/model/coupon.go b/model/coupon.go index e93dea9..b046852 100644 --- a/model/coupon.go +++ b/model/coupon.go @@ -5,9 +5,17 @@ import "time" const ( CouponTypeDeduction = "deduction" // 抵扣 ) -const ( - MemberRenewalExpiration = 7 -) + +//var MemberRenewalExpiration int +//var PopTrap int +//var CouponValidity int + +//func MemberRenewalActivityInit() { +// renewalConfig := GetActivityRenewalConfig() +// MemberRenewalExpiration = renewalConfig.ActivityContinuity +// PopTrap = renewalConfig.PopTrap +// CouponValidity = renewalConfig.CouponValidity +//} //go:generate goqueryset -in coupon.go // gen:qs diff --git a/model/game_card.go b/model/game_card.go index 0b3e61c..42f9915 100644 --- a/model/game_card.go +++ b/model/game_card.go @@ -36,6 +36,7 @@ type GameCard struct { RealPrice uint32 `json:"real_price"` // 真实价格 CooperativeBusinessId uint32 `json:"cooperative_business_id" gorm:"index"` // 合作商id CooperativeName string `json:"cooperative_name"` // 合作商名称 + VideoLink string `json:"video_link"` // 链接 } func (*GameCard) TableName() string { diff --git a/model/model_test.go b/model/model_test.go index 83172cb..7803944 100644 --- a/model/model_test.go +++ b/model/model_test.go @@ -116,16 +116,44 @@ func InitTestDB() { //&OperationLog{}, //&DeliverTask{}, //&DeliverTaskSub{}, - &User{}, + // 优惠券 - &GameCard{}, - &ActivityMemberRenewal{}, - &Activity{}, - &UserCoupon{}, - &Coupon{}, + //&GameCard{}, + //&ActivityMemberRenewal{}, + //&Activity{}, + //&UserCoupon{}, + //&Coupon{}, + //&UserOpenMemberRecord{}, + //&HomeCarousel{}, + //&UserRenewalLog{}, + + &User{}, &UserOpenMemberRecord{}, - &HomeCarousel{}, - &UserRenewalLog{}, + &CooperativeMemberDeduct{}, + &CooperativeAssistantMemberDeduct{}, + &UserMemberRecord{}, + &CooperativeDeductSettle{}, + &CooperativeMemberPromotionStore{}, + &CooperativeMemberPromotionDay{}, + &InviteMemberReport{}, + &MemberStatisticDaily{}, + &CooperativeMemberPromotion{}, + &GameCard{}, + &CooperativeMemberPromotionStoreDay{}, + + //&CooperativeMemberDeduct{}, + //&CooperativeAssistantMemberDeduct{}, + //&CooperativeDeductSettle{}, + //&CooperativeMemberPromotion{}, + //&CooperativeMemberPromotion{}, + //&CooperativeMemberPromotionDay{}, + &CooperativeMemberDeduct{}, + &CooperativeAssistantMemberDeduct{}, + &CooperativeMemberPromotion{}, + &CooperativeMemberPromotionStore{}, + &CooperativeMemberPromotionDay{}, + &CooperativeMemberPromotionStoreDay{}, + &CooperativeDeductSettle{}, ) fmt.Println("DB init success") @@ -221,14 +249,15 @@ func InitDBProd() { //&DeliverTaskSub{}, // 优惠券 + //&GameCard{}, + //&ActivityMemberRenewal{}, + //&Activity{}, + //&UserCoupon{}, + //&Coupon{}, + //&UserOpenMemberRecord{}, + //&HomeCarousel{}, + //&UserRenewalLog{}, &GameCard{}, - &ActivityMemberRenewal{}, - &Activity{}, - &UserCoupon{}, - &Coupon{}, - &UserOpenMemberRecord{}, - &HomeCarousel{}, - &UserRenewalLog{}, ) if err := DBProd.DB().Ping(); err != nil { @@ -1485,4 +1514,79 @@ func UserUpgradeMemberRecord() { func TestOrderUpdater_SetUserAddressId(t *testing.T) { //var users []User + InitTestDB() + DB = DBDev + + var games []GameCard + err := NewGameCardQuerySet(DBDev).All(&games) + if err != nil { + fmt.Println("err:", err) + } + + for _, game := range games { + exist, err := QueryRecordExist(fmt.Sprintf("SELECT * FROM game_card_goods_stock WHERE game_card_id = %d", game.ID)) + if err != nil { + fmt.Println("err:", err) + } + if exist { + continue + } + //if game.ID != 812 { + // continue + //} + goods := &GameCardGoods{ + GameCardId: uint64(game.ID), + SerialNumber: fmt.Sprintf("%d", game.ID) + "01", + Status: 1, + StoreId: 32, + Provider: "", + StockTime: time.Now(), + CardType: "common", + FunctionState: 2, + ShareProfitType: 1, + CooperativeBusinessId: 12, + CooperativeName: "代理商01", + } + + err = DBDev.Create(goods).Error + if err != nil { + fmt.Println("err:", err) + } + + goodsStock := &GameCardGoodsStock{ + StoreId: 32, + GameCardId: uint64(game.ID), + StoreStock: 1, + RentStock: 1, + UserHoldStock: 0, + OrderCount: 0, + TotalStock: 1, + CooperativeBusinessId: 12, + CooperativeName: "代理商01", + Name: game.Name, + CoverImg: game.CoverImg, + } + err = DBDev.Create(goodsStock).Error + if err != nil { + fmt.Println("err:", err) + } + err = NewGameCardQuerySet(DBDev).IDEq(game.ID).GetUpdater().SetStatus(1).Update() + if err != nil { + fmt.Println("err:", err) + } + } +} + +func TestActivityRenewalConfig(t *testing.T) { + config := ActivityRenewalConfig{ + CouponValidity: 7, + ActivityContinuity: 7, + PopTrap: 30, + } + + marshal, err := json.Marshal(&config) + if err != nil { + logger.Error("err:", err) + } + fmt.Println("marshal:", string(marshal)) } diff --git a/model/order.go b/model/order.go index 6ea0dc1..7180f1c 100644 --- a/model/order.go +++ b/model/order.go @@ -764,7 +764,9 @@ func IsCardGoodsStockEnough(cards []CardInfo, storeId uint32) (bool, error) { func GameCardGoodsInventoryReduction(cards []CardInfo, storeId uint32, gdb *gorm.DB) error { for i, _ := range cards { - sql := fmt.Sprintf("UPDATE game_card_goods_stock SET rent_stock= rent_stock-%d WHERE store_id=%d AND game_card_id=%d;", cards[i].Count, storeId, cards[i].GameCardId) + sql := fmt.Sprintf( + "UPDATE game_card_goods_stock SET rent_stock= rent_stock-%d WHERE store_id=%d AND game_card_id=%d;", + cards[i].Count, storeId, cards[i].GameCardId) fmt.Println("sql:", sql) err := gdb.Exec(sql).Error if err != nil { diff --git a/model/user.go b/model/user.go index 27e13a2..013f749 100644 --- a/model/user.go +++ b/model/user.go @@ -45,9 +45,13 @@ type User struct { CooperativeBusinessId uint32 `json:"cooperative_business_id" gorm:"index"` // 合作商id CooperativeName string `json:"cooperative_name"` // 合作商名称 ShopAssistantName string `json:"shop_assistant_name"` // 店员名称 - Version uint32 `json:"-"` // - UserVm *UserVm `json:"user_vm" gorm:"-"` // - InviteTime time.Time `json:"invite_time"` + //RenewalTime time.Time `json:"renewal_time"` + //RenewalMemberLevel uint32 `json:"renewal_member_level"` + OpenMemberLevel uint32 `json:"open_member_level"` + + Version uint32 `json:"-"` // + UserVm *UserVm `json:"user_vm" gorm:"-"` // + InviteTime time.Time `json:"invite_time"` //RoleId uint32 `json:"role_id"` // 角色id } @@ -257,14 +261,16 @@ func UserUpdate(user *User) error { type UserOpenMemberRecord struct { Model - Uid uint32 `json:"uid" gorm:"index"` - OpenNo string `json:"open_no" gorm:"index"` - OrderId uint32 `json:"order_id" gorm:"index"` - OrderType uint32 `json:"order_type"` - MemberLevel uint32 `json:"member_level"` - MemberExpire time.Time `json:"member_expire"` // 会员到期时间 - UserCouponId uint32 `json:"user_coupon_id" gorm:"index"` // 优惠券id - State uint32 `json:"state"` // 1-未处理 2-已处理 + Uid uint32 `json:"uid" gorm:"index"` + OpenNo string `json:"open_no" gorm:"index"` + OrderId uint32 `json:"order_id" gorm:"index"` + OrderType uint32 `json:"order_type"` + MemberLevel uint32 `json:"member_level"` + MemberExpire time.Time `json:"member_expire"` // 会员到期时间 + UserCouponId uint32 `json:"user_coupon_id" gorm:"index"` // 优惠券id + State uint32 `json:"state"` // 1-未处理 2-已处理 + DeductionDays uint32 `json:"deduction_days"` + DeductionFee uint32 `json:"deduction_fee"` Order *Order `json:"order" gorm:"-"` ShareCardRetrieve *ShareCardRetrieve `json:"share_card_retrieve" gorm:"-"` @@ -367,6 +373,9 @@ type InviteMemberReport struct { GoldDeduct uint32 `json:"gold_deduct"` // 黄金会员提成 PlatinumDeduct uint32 `json:"platinum_deduct"` // 白金会员提成 BlackGoldDeduct uint32 `json:"black_gold_deduct"` // 黑金会员提成 + RenewalGoldCount uint32 `json:"renewal_gold_count"` // 续费黄金会员数量 + RenewalPlatinumCount uint32 `json:"renewal_platinum_count"` // 续费白金会员数量 + RenewalBlackGoldCount uint32 `json:"renewal_black_gold_count"` // 续费黑金会员数量 // invite_member_report User *User `json:"user" gorm:"-"` } @@ -1017,3 +1026,16 @@ func UserInviteListSetToUser(list []UserInvite) { } } } + +// gen:qs +type MemberStatisticDaily struct { + Model + + MemberLevel uint32 `json:"member_level"` + Date string `json:"date"` + DateTime time.Time `json:"date_time"` + Increase uint32 `json:"increase"` + Expire uint32 `json:"expire"` + Net uint32 `json:"net"` + Accumulative uint32 `json:"accumulative"` +} diff --git a/pack/examine.sh b/pack/examine.sh new file mode 100644 index 0000000..17bc015 --- /dev/null +++ b/pack/examine.sh @@ -0,0 +1,13 @@ +#!/bin/bash +while : #循环,为了让脚本一直运行监控 +do + COUNT=`ps -ef | grep ./hm_server |wc -l` + if [ "$COUNT" -gt 1 ]; + then + echo "server service is ok" + else + echo "server servicie not exist" + nohup ./hm_server > server.log 2>&1 & + fi + sleep 60 +done