fix:
This commit is contained in:
parent
0a881f3b03
commit
581633ebe6
|
@ -72,42 +72,80 @@ func AuthLogin(c *gin.Context) {
|
||||||
|
|
||||||
inviteUser := model.GetUserByUid(req.InviteUid)
|
inviteUser := model.GetUserByUid(req.InviteUid)
|
||||||
user.StoreId = inviteUser.StoreId
|
user.StoreId = inviteUser.StoreId
|
||||||
if inviteUser.UserType == 2 {
|
if user.StoreId == 0 {
|
||||||
//user.UserType = model.UserTypeConsumer
|
|
||||||
_, 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()
|
UpdateNum()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error(err)
|
logger.Error("update err:", 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: memberLevel,
|
|
||||||
MemberStatus: 1,
|
|
||||||
ToUid: user.Uid,
|
|
||||||
}
|
|
||||||
|
|
||||||
//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 inviteUser.UserType == 2 && user.Uid != 0 {
|
||||||
|
inviteRecord := &model.UserInviteRecord{
|
||||||
|
ToUid: user.Uid,
|
||||||
|
FromUid: req.InviteUid,
|
||||||
|
Action: 1,
|
||||||
|
SpendType: 1,
|
||||||
|
MemberLevel: 0,
|
||||||
|
First: 0,
|
||||||
|
Scan: 1,
|
||||||
|
ActionTime: now,
|
||||||
|
}
|
||||||
|
err = model.DB.Create(inviteRecord).Error
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("create user invite record err:", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
var inviteNew model.UserInvite
|
||||||
|
inviteErr := model.NewUserInviteQuerySet(model.DB).ToUidEq(user.Uid).FromUidEq(req.InviteUid).ActionEq(1).
|
||||||
|
SpendTypeEq(1).One(&inviteNew)
|
||||||
|
if inviteErr != nil && inviteErr != model.RecordNotFound {
|
||||||
|
logger.Error("user invite err:", err)
|
||||||
|
}
|
||||||
|
if inviteErr == model.RecordNotFound {
|
||||||
|
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: memberLevel,
|
||||||
|
MemberStatus: 1,
|
||||||
|
ToUid: user.Uid,
|
||||||
|
Action: 1,
|
||||||
|
SpendType: 1,
|
||||||
|
UserInviteRecordId: inviteRecord.ID,
|
||||||
|
FirstInvite: 1,
|
||||||
|
Scan: 1,
|
||||||
|
}
|
||||||
|
|
||||||
|
//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 inviteErr == nil {
|
||||||
|
err = model.NewUserInviteQuerySet(model.DB).IDEq(inviteNew.ID).GetUpdater().
|
||||||
|
SetFromUid(req.InviteUid).SetStoreId(inviteUser.StoreId).SetUserInviteRecordId(inviteRecord.ID).Update()
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("from uid update user invite err:", err, req.InviteUid)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if sqlErr == model.RecordNotFound {
|
if sqlErr == model.RecordNotFound {
|
||||||
user = model.User{
|
user = model.User{
|
||||||
|
@ -121,20 +159,53 @@ func AuthLogin(c *gin.Context) {
|
||||||
|
|
||||||
var eg errgroup.Group
|
var eg errgroup.Group
|
||||||
if req.InviteUid != 0 {
|
if req.InviteUid != 0 {
|
||||||
inviteUser := model.GetUserByUid(req.InviteUid)
|
inviteRecordFirst := &model.UserInviteRecord{
|
||||||
|
ToUid: user.Uid,
|
||||||
|
FromUid: req.InviteUid,
|
||||||
|
Action: 2,
|
||||||
|
SpendType: 1,
|
||||||
|
MemberLevel: 0,
|
||||||
|
First: 1,
|
||||||
|
Scan: 1,
|
||||||
|
ActionTime: now,
|
||||||
|
}
|
||||||
|
err = model.DB.Create(inviteRecordFirst).Error
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("create user invite record err:", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
inviteRecord := &model.UserInviteRecord{
|
||||||
|
ToUid: user.Uid,
|
||||||
|
FromUid: req.InviteUid,
|
||||||
|
Action: 1,
|
||||||
|
SpendType: 1,
|
||||||
|
MemberLevel: 0,
|
||||||
|
First: 0,
|
||||||
|
Scan: 1,
|
||||||
|
ActionTime: now,
|
||||||
|
}
|
||||||
|
err = model.DB.Create(inviteRecord).Error
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("create user invite record err:", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
inviteUser := model.GetUserByUid(req.InviteUid)
|
||||||
user.StoreId = inviteUser.StoreId
|
user.StoreId = inviteUser.StoreId
|
||||||
user.UserType = model.UserTypeConsumer
|
user.UserType = model.UserTypeConsumer
|
||||||
user.CooperativeBusinessId = inviteUser.CooperativeBusinessId
|
user.CooperativeBusinessId = inviteUser.CooperativeBusinessId
|
||||||
user.CooperativeName = inviteUser.CooperativeName
|
user.CooperativeName = inviteUser.CooperativeName
|
||||||
|
|
||||||
invite := &model.UserInvite{
|
invite := &model.UserInvite{
|
||||||
FromUid: req.InviteUid,
|
FromUid: req.InviteUid,
|
||||||
UserType: inviteUser.UserType,
|
UserType: inviteUser.UserType,
|
||||||
StoreId: inviteUser.StoreId,
|
StoreId: inviteUser.StoreId,
|
||||||
MemberType: model.MemberTypeConsumer,
|
MemberType: model.MemberTypeConsumer,
|
||||||
ToUid: user.Uid,
|
ToUid: user.Uid,
|
||||||
MemberStatus: 1,
|
MemberStatus: 1,
|
||||||
|
Action: 1,
|
||||||
|
SpendType: 1,
|
||||||
|
UserInviteRecordId: inviteRecord.ID,
|
||||||
|
Scan: 1,
|
||||||
}
|
}
|
||||||
eg.Go(func() error {
|
eg.Go(func() error {
|
||||||
if err := invite.Create(model.DB); err != nil {
|
if err := invite.Create(model.DB); err != nil {
|
||||||
|
|
|
@ -519,7 +519,7 @@ func AssistantMemberPromotionDetail(c *gin.Context) {
|
||||||
var list []model.UserInvite
|
var list []model.UserInvite
|
||||||
qs := model.NewUserInviteQuerySet(model.DB).FromUidEq(req.AssistantUid).
|
qs := model.NewUserInviteQuerySet(model.DB).FromUidEq(req.AssistantUid).
|
||||||
MemberOpenTimeGte(dateTime).MemberOpenTimeLte(dateTime.AddDate(0, 1, 0))
|
MemberOpenTimeGte(dateTime).MemberOpenTimeLte(dateTime.AddDate(0, 1, 0))
|
||||||
|
qs = qs.SpendTypeEq(2)
|
||||||
count, err := qs.Count()
|
count, err := qs.Count()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
|
|
|
@ -475,7 +475,6 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
} else {
|
} else {
|
||||||
memberRecord.Type = model.GetUserMemberRecordType(record.MemberLevel, 2)
|
memberRecord.Type = model.GetUserMemberRecordType(record.MemberLevel, 2)
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err = userUpdateQs.UpdateNum()
|
_, err = userUpdateQs.UpdateNum()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
|
@ -505,6 +504,8 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
ToUid: record.Uid,
|
ToUid: record.Uid,
|
||||||
MemberStatus: 2,
|
MemberStatus: 2,
|
||||||
MemberLevel: record.MemberLevel,
|
MemberLevel: record.MemberLevel,
|
||||||
|
Action: 1,
|
||||||
|
SpendType: 1,
|
||||||
}
|
}
|
||||||
err := userInvite.Create(model.DB)
|
err := userInvite.Create(model.DB)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -514,17 +515,71 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("send user vm err:", err)
|
logger.Error("send user vm err:", err)
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
qs := model.NewUserInviteQuerySet(model.DB).ToUidEq(record.Uid).GetUpdater()
|
|
||||||
if user.MemberLevel != 2 {
|
if err == nil {
|
||||||
qs = qs.SetMemberOpenTime(newTime).SetMemberLevel(record.MemberLevel)
|
spendType := uint32(2)
|
||||||
|
if !user.OpenMemberTime.IsZero() {
|
||||||
|
spendType = 3
|
||||||
}
|
}
|
||||||
num, err := qs.SetMemberType(2).SetMemberStatus(2).UpdateNum()
|
|
||||||
if err != nil {
|
//qs := model.NewUserInviteQuerySet(model.DB).ToUidEq(record.Uid).GetUpdater()
|
||||||
logger.Error("err:", err)
|
if invite.Action != 2 {
|
||||||
}
|
qs := model.NewUserInviteQuerySet(model.DB).IDEq(invite.ID).GetUpdater()
|
||||||
if num == 0 {
|
if user.MemberLevel != 2 {
|
||||||
logger.Error("更新错误")
|
qs = qs.SetMemberOpenTime(newTime).SetMemberLevel(record.MemberLevel)
|
||||||
|
}
|
||||||
|
_, err = qs.SetMemberType(2).SetMemberStatus(2).
|
||||||
|
SetAction(2).SetSpendType(spendType).UpdateNum()
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("update user invite action spend type err:", err)
|
||||||
|
}
|
||||||
|
if invite.UserInviteRecordId != 0 {
|
||||||
|
go func() {
|
||||||
|
err = model.NewUserInviteRecordQuerySet(model.DB).IDEq(invite.UserInviteRecordId).GetUpdater().
|
||||||
|
SetAction(2).SetSpendType(spendType).SetMemberLevel(record.MemberLevel).
|
||||||
|
SetActionTime(newTime).Update()
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("update user invite record err:", err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
inviteRecordNew := &model.UserInviteRecord{
|
||||||
|
ToUid: invite.ToUid,
|
||||||
|
FromUid: invite.FromUid,
|
||||||
|
Action: 2,
|
||||||
|
SpendType: spendType,
|
||||||
|
MemberLevel: record.MemberLevel,
|
||||||
|
First: 0,
|
||||||
|
Scan: 0,
|
||||||
|
ActionTime: newTime,
|
||||||
|
}
|
||||||
|
err = model.DB.Create(inviteRecordNew).Error
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("create invite record err:", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
userInviteNew := &model.UserInvite{
|
||||||
|
FromUid: invite.FromUid,
|
||||||
|
UserType: invite.UserType,
|
||||||
|
StoreId: invite.StoreId,
|
||||||
|
MemberOpenTime: invite.MemberOpenTime,
|
||||||
|
MemberType: 2,
|
||||||
|
MemberStatus: 2,
|
||||||
|
ToUid: invite.ToUid,
|
||||||
|
StoreType: invite.StoreType,
|
||||||
|
Action: 2,
|
||||||
|
SpendType: spendType,
|
||||||
|
MemberLevel: record.MemberLevel,
|
||||||
|
UserInviteRecordId: inviteRecordNew.ID,
|
||||||
|
FirstInvite: 0,
|
||||||
|
}
|
||||||
|
err = model.DB.Create(userInviteNew).Error
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("create invite record err:", err)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if invite.FromUid != 0 {
|
if invite.FromUid != 0 {
|
||||||
|
|
|
@ -391,12 +391,18 @@ func UpgradeMember(c *gin.Context) {
|
||||||
if deductionTime > 0 {
|
if deductionTime > 0 {
|
||||||
deductionDays = deductionTime / int64(24*3600)
|
deductionDays = deductionTime / int64(24*3600)
|
||||||
}
|
}
|
||||||
memberYare := deductionDays/365 + 1
|
memberYare := 0
|
||||||
|
memberMendFee := int64(0)
|
||||||
// 抵扣金
|
// 抵扣金
|
||||||
deductionFee := (((int64(memberFee) * deductionDays) / 365) / 100) * 100
|
deductionFee := (((int64(memberFee) * deductionDays) / 365) / 100) * 100
|
||||||
|
if deductionDays < 365 {
|
||||||
// 补会员费
|
memberYare = 1
|
||||||
memberMendFee := int64(memberConfig.MemberFee*uint32(memberYare)) - deductionFee
|
// 补会员费
|
||||||
|
memberMendFee = int64(memberConfig.MemberFee*uint32(memberYare)) - deductionFee
|
||||||
|
} else {
|
||||||
|
// 补会员费
|
||||||
|
memberMendFee = int64((int64(memberConfig.MemberFee)*deductionDays)/365) - deductionFee
|
||||||
|
}
|
||||||
|
|
||||||
totalFee := int64(depositMendFee) + memberMendFee
|
totalFee := int64(depositMendFee) + memberMendFee
|
||||||
//if memberMendFee < 0 {
|
//if memberMendFee < 0 {
|
||||||
|
@ -419,6 +425,7 @@ func UpgradeMember(c *gin.Context) {
|
||||||
RespJson(c, status.InternalServerError, nil)
|
RespJson(c, status.InternalServerError, nil)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
totalFee = (totalFee / 100) * 100
|
||||||
|
|
||||||
if user.IsMember() && req.UserCouponId != 0 {
|
if user.IsMember() && req.UserCouponId != 0 {
|
||||||
var coupon model.UserCoupon
|
var coupon model.UserCoupon
|
||||||
|
@ -465,7 +472,12 @@ func UpgradeMember(c *gin.Context) {
|
||||||
// return
|
// return
|
||||||
//}
|
//}
|
||||||
//orderSn := utils.GetSerialNo32HEXString()
|
//orderSn := utils.GetSerialNo32HEXString()
|
||||||
memberExpire := time.Now().AddDate(1*int(memberYare), 0, count*30)
|
memberExpire := time.Time{}
|
||||||
|
if deductionDays < 365 {
|
||||||
|
memberExpire = time.Now().AddDate(1*int(memberYare), 0, count*30)
|
||||||
|
} else {
|
||||||
|
memberExpire = time.Now().AddDate(0, 0, count*30+int(deductionDays))
|
||||||
|
}
|
||||||
orderSn := model.GetOrderSn()
|
orderSn := model.GetOrderSn()
|
||||||
err = model.UserOpenMemberRecord{Uid: uc.Uid, OpenNo: orderSn,
|
err = model.UserOpenMemberRecord{Uid: uc.Uid, OpenNo: orderSn,
|
||||||
MemberLevel: req.MemberLevel, OrderType: 9, MemberExpire: memberExpire,
|
MemberLevel: req.MemberLevel, OrderType: 9, MemberExpire: memberExpire,
|
||||||
|
@ -565,12 +577,25 @@ func UpgradeMemberInfo(c *gin.Context) {
|
||||||
if deductionTime > 0 {
|
if deductionTime > 0 {
|
||||||
deductionDays = deductionTime / int64(24*3600)
|
deductionDays = deductionTime / int64(24*3600)
|
||||||
}
|
}
|
||||||
memberYare := deductionDays/365 + 1
|
//memberYare := deductionDays/365 + 1
|
||||||
|
//// 抵扣金
|
||||||
|
//deductionFee := (((int64(memberFee) * deductionDays) / 365) / 100) * 100
|
||||||
|
//
|
||||||
|
//// 补会员费
|
||||||
|
//memberMendFee := int64(memberConfig.MemberFee*uint32(memberYare)) - deductionFee
|
||||||
|
|
||||||
|
memberYare := 0
|
||||||
|
memberMendFee := int64(0)
|
||||||
// 抵扣金
|
// 抵扣金
|
||||||
deductionFee := (((int64(memberFee) * deductionDays) / 365) / 100) * 100
|
deductionFee := (((int64(memberFee) * deductionDays) / 365) / 100) * 100
|
||||||
|
if deductionDays < 365 {
|
||||||
// 补会员费
|
memberYare = 1
|
||||||
memberMendFee := int64(memberConfig.MemberFee*uint32(memberYare)) - deductionFee
|
// 补会员费
|
||||||
|
memberMendFee = int64(memberConfig.MemberFee*uint32(memberYare)) - deductionFee
|
||||||
|
} else {
|
||||||
|
// 补会员费
|
||||||
|
memberMendFee = int64((int64(memberConfig.MemberFee)*deductionDays)/365) - deductionFee
|
||||||
|
}
|
||||||
|
|
||||||
totalFee := int64(depositMendFee) + memberMendFee
|
totalFee := int64(depositMendFee) + memberMendFee
|
||||||
//if memberMendFee < 0 {
|
//if memberMendFee < 0 {
|
||||||
|
@ -583,6 +608,7 @@ func UpgradeMemberInfo(c *gin.Context) {
|
||||||
RespJson(c, status.InternalServerError, nil)
|
RespJson(c, status.InternalServerError, nil)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
totalFee = (totalFee / 100) * 100
|
||||||
//fmt.Println("MemberLevel:", req.MemberLevel)
|
//fmt.Println("MemberLevel:", req.MemberLevel)
|
||||||
//fmt.Println("UserCouponId:", req.UserCouponId)
|
//fmt.Println("UserCouponId:", req.UserCouponId)
|
||||||
//fmt.Println("totalFee:", totalFee)
|
//fmt.Println("totalFee:", totalFee)
|
||||||
|
|
1963
model/autogenerated_invite.go
Normal file
1963
model/autogenerated_invite.go
Normal file
File diff suppressed because it is too large
Load Diff
|
@ -6923,6 +6923,62 @@ func (o *UserInvite) Delete(db *gorm.DB) error {
|
||||||
return db.Delete(o).Error
|
return db.Delete(o).Error
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ActionEq is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) ActionEq(action uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("action = ?", action))
|
||||||
|
}
|
||||||
|
|
||||||
|
// ActionGt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) ActionGt(action uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("action > ?", action))
|
||||||
|
}
|
||||||
|
|
||||||
|
// ActionGte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) ActionGte(action uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("action >= ?", action))
|
||||||
|
}
|
||||||
|
|
||||||
|
// ActionIn is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) ActionIn(action ...uint32) UserInviteQuerySet {
|
||||||
|
if len(action) == 0 {
|
||||||
|
qs.db.AddError(errors.New("must at least pass one action in ActionIn"))
|
||||||
|
return qs.w(qs.db)
|
||||||
|
}
|
||||||
|
return qs.w(qs.db.Where("action IN (?)", action))
|
||||||
|
}
|
||||||
|
|
||||||
|
// ActionLt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) ActionLt(action uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("action < ?", action))
|
||||||
|
}
|
||||||
|
|
||||||
|
// ActionLte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) ActionLte(action uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("action <= ?", action))
|
||||||
|
}
|
||||||
|
|
||||||
|
// ActionNe is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) ActionNe(action uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("action != ?", action))
|
||||||
|
}
|
||||||
|
|
||||||
|
// ActionNotIn is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) ActionNotIn(action ...uint32) UserInviteQuerySet {
|
||||||
|
if len(action) == 0 {
|
||||||
|
qs.db.AddError(errors.New("must at least pass one action in ActionNotIn"))
|
||||||
|
return qs.w(qs.db)
|
||||||
|
}
|
||||||
|
return qs.w(qs.db.Where("action NOT IN (?)", action))
|
||||||
|
}
|
||||||
|
|
||||||
// All is an autogenerated method
|
// All is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserInviteQuerySet) All(ret *[]UserInvite) error {
|
func (qs UserInviteQuerySet) All(ret *[]UserInvite) error {
|
||||||
|
@ -7387,6 +7443,12 @@ func (qs UserInviteQuerySet) One(ret *UserInvite) error {
|
||||||
return qs.db.First(ret).Error
|
return qs.db.First(ret).Error
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OrderAscByAction is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) OrderAscByAction() UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Order("action ASC"))
|
||||||
|
}
|
||||||
|
|
||||||
// OrderAscByCreatedAt is an autogenerated method
|
// OrderAscByCreatedAt is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserInviteQuerySet) OrderAscByCreatedAt() UserInviteQuerySet {
|
func (qs UserInviteQuerySet) OrderAscByCreatedAt() UserInviteQuerySet {
|
||||||
|
@ -7435,6 +7497,12 @@ func (qs UserInviteQuerySet) OrderAscByMemberType() UserInviteQuerySet {
|
||||||
return qs.w(qs.db.Order("member_type ASC"))
|
return qs.w(qs.db.Order("member_type ASC"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OrderAscBySpendType is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) OrderAscBySpendType() UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Order("spend_type ASC"))
|
||||||
|
}
|
||||||
|
|
||||||
// OrderAscByStoreId is an autogenerated method
|
// OrderAscByStoreId is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserInviteQuerySet) OrderAscByStoreId() UserInviteQuerySet {
|
func (qs UserInviteQuerySet) OrderAscByStoreId() UserInviteQuerySet {
|
||||||
|
@ -7459,12 +7527,24 @@ func (qs UserInviteQuerySet) OrderAscByUpdatedAt() UserInviteQuerySet {
|
||||||
return qs.w(qs.db.Order("updated_at ASC"))
|
return qs.w(qs.db.Order("updated_at ASC"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OrderAscByUserInviteRecordId is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) OrderAscByUserInviteRecordId() UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Order("user_invite_record_id ASC"))
|
||||||
|
}
|
||||||
|
|
||||||
// OrderAscByUserType is an autogenerated method
|
// OrderAscByUserType is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserInviteQuerySet) OrderAscByUserType() UserInviteQuerySet {
|
func (qs UserInviteQuerySet) OrderAscByUserType() UserInviteQuerySet {
|
||||||
return qs.w(qs.db.Order("user_type ASC"))
|
return qs.w(qs.db.Order("user_type ASC"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OrderDescByAction is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) OrderDescByAction() UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Order("action DESC"))
|
||||||
|
}
|
||||||
|
|
||||||
// OrderDescByCreatedAt is an autogenerated method
|
// OrderDescByCreatedAt is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserInviteQuerySet) OrderDescByCreatedAt() UserInviteQuerySet {
|
func (qs UserInviteQuerySet) OrderDescByCreatedAt() UserInviteQuerySet {
|
||||||
|
@ -7513,6 +7593,12 @@ func (qs UserInviteQuerySet) OrderDescByMemberType() UserInviteQuerySet {
|
||||||
return qs.w(qs.db.Order("member_type DESC"))
|
return qs.w(qs.db.Order("member_type DESC"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OrderDescBySpendType is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) OrderDescBySpendType() UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Order("spend_type DESC"))
|
||||||
|
}
|
||||||
|
|
||||||
// OrderDescByStoreId is an autogenerated method
|
// OrderDescByStoreId is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserInviteQuerySet) OrderDescByStoreId() UserInviteQuerySet {
|
func (qs UserInviteQuerySet) OrderDescByStoreId() UserInviteQuerySet {
|
||||||
|
@ -7537,6 +7623,12 @@ func (qs UserInviteQuerySet) OrderDescByUpdatedAt() UserInviteQuerySet {
|
||||||
return qs.w(qs.db.Order("updated_at DESC"))
|
return qs.w(qs.db.Order("updated_at DESC"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OrderDescByUserInviteRecordId is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) OrderDescByUserInviteRecordId() UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Order("user_invite_record_id DESC"))
|
||||||
|
}
|
||||||
|
|
||||||
// OrderDescByUserType is an autogenerated method
|
// OrderDescByUserType is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserInviteQuerySet) OrderDescByUserType() UserInviteQuerySet {
|
func (qs UserInviteQuerySet) OrderDescByUserType() UserInviteQuerySet {
|
||||||
|
@ -7549,6 +7641,62 @@ func (qs UserInviteQuerySet) PreloadToUser() UserInviteQuerySet {
|
||||||
return qs.w(qs.db.Preload("ToUser"))
|
return qs.w(qs.db.Preload("ToUser"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SpendTypeEq is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) SpendTypeEq(spendType uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("spend_type = ?", spendType))
|
||||||
|
}
|
||||||
|
|
||||||
|
// SpendTypeGt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) SpendTypeGt(spendType uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("spend_type > ?", spendType))
|
||||||
|
}
|
||||||
|
|
||||||
|
// SpendTypeGte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) SpendTypeGte(spendType uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("spend_type >= ?", spendType))
|
||||||
|
}
|
||||||
|
|
||||||
|
// SpendTypeIn is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) SpendTypeIn(spendType ...uint32) UserInviteQuerySet {
|
||||||
|
if len(spendType) == 0 {
|
||||||
|
qs.db.AddError(errors.New("must at least pass one spendType in SpendTypeIn"))
|
||||||
|
return qs.w(qs.db)
|
||||||
|
}
|
||||||
|
return qs.w(qs.db.Where("spend_type IN (?)", spendType))
|
||||||
|
}
|
||||||
|
|
||||||
|
// SpendTypeLt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) SpendTypeLt(spendType uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("spend_type < ?", spendType))
|
||||||
|
}
|
||||||
|
|
||||||
|
// SpendTypeLte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) SpendTypeLte(spendType uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("spend_type <= ?", spendType))
|
||||||
|
}
|
||||||
|
|
||||||
|
// SpendTypeNe is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) SpendTypeNe(spendType uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("spend_type != ?", spendType))
|
||||||
|
}
|
||||||
|
|
||||||
|
// SpendTypeNotIn is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) SpendTypeNotIn(spendType ...uint32) UserInviteQuerySet {
|
||||||
|
if len(spendType) == 0 {
|
||||||
|
qs.db.AddError(errors.New("must at least pass one spendType in SpendTypeNotIn"))
|
||||||
|
return qs.w(qs.db)
|
||||||
|
}
|
||||||
|
return qs.w(qs.db.Where("spend_type NOT IN (?)", spendType))
|
||||||
|
}
|
||||||
|
|
||||||
// StoreIdEq is an autogenerated method
|
// StoreIdEq is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserInviteQuerySet) StoreIdEq(storeId uint64) UserInviteQuerySet {
|
func (qs UserInviteQuerySet) StoreIdEq(storeId uint64) UserInviteQuerySet {
|
||||||
|
@ -7765,6 +7913,62 @@ func (qs UserInviteQuerySet) UpdatedAtNe(updatedAt time.Time) UserInviteQuerySet
|
||||||
return qs.w(qs.db.Where("updated_at != ?", updatedAt))
|
return qs.w(qs.db.Where("updated_at != ?", updatedAt))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UserInviteRecordIdEq is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) UserInviteRecordIdEq(userInviteRecordId uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("user_invite_record_id = ?", userInviteRecordId))
|
||||||
|
}
|
||||||
|
|
||||||
|
// UserInviteRecordIdGt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) UserInviteRecordIdGt(userInviteRecordId uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("user_invite_record_id > ?", userInviteRecordId))
|
||||||
|
}
|
||||||
|
|
||||||
|
// UserInviteRecordIdGte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) UserInviteRecordIdGte(userInviteRecordId uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("user_invite_record_id >= ?", userInviteRecordId))
|
||||||
|
}
|
||||||
|
|
||||||
|
// UserInviteRecordIdIn is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) UserInviteRecordIdIn(userInviteRecordId ...uint32) UserInviteQuerySet {
|
||||||
|
if len(userInviteRecordId) == 0 {
|
||||||
|
qs.db.AddError(errors.New("must at least pass one userInviteRecordId in UserInviteRecordIdIn"))
|
||||||
|
return qs.w(qs.db)
|
||||||
|
}
|
||||||
|
return qs.w(qs.db.Where("user_invite_record_id IN (?)", userInviteRecordId))
|
||||||
|
}
|
||||||
|
|
||||||
|
// UserInviteRecordIdLt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) UserInviteRecordIdLt(userInviteRecordId uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("user_invite_record_id < ?", userInviteRecordId))
|
||||||
|
}
|
||||||
|
|
||||||
|
// UserInviteRecordIdLte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) UserInviteRecordIdLte(userInviteRecordId uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("user_invite_record_id <= ?", userInviteRecordId))
|
||||||
|
}
|
||||||
|
|
||||||
|
// UserInviteRecordIdNe is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) UserInviteRecordIdNe(userInviteRecordId uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("user_invite_record_id != ?", userInviteRecordId))
|
||||||
|
}
|
||||||
|
|
||||||
|
// UserInviteRecordIdNotIn is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) UserInviteRecordIdNotIn(userInviteRecordId ...uint32) UserInviteQuerySet {
|
||||||
|
if len(userInviteRecordId) == 0 {
|
||||||
|
qs.db.AddError(errors.New("must at least pass one userInviteRecordId in UserInviteRecordIdNotIn"))
|
||||||
|
return qs.w(qs.db)
|
||||||
|
}
|
||||||
|
return qs.w(qs.db.Where("user_invite_record_id NOT IN (?)", userInviteRecordId))
|
||||||
|
}
|
||||||
|
|
||||||
// UserTypeEq is an autogenerated method
|
// UserTypeEq is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserInviteQuerySet) UserTypeEq(userType uint32) UserInviteQuerySet {
|
func (qs UserInviteQuerySet) UserTypeEq(userType uint32) UserInviteQuerySet {
|
||||||
|
@ -7821,6 +8025,13 @@ func (qs UserInviteQuerySet) UserTypeNotIn(userType ...uint32) UserInviteQuerySe
|
||||||
return qs.w(qs.db.Where("user_type NOT IN (?)", userType))
|
return qs.w(qs.db.Where("user_type NOT IN (?)", userType))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetAction is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (u UserInviteUpdater) SetAction(action uint32) UserInviteUpdater {
|
||||||
|
u.fields[string(UserInviteDBSchema.Action)] = action
|
||||||
|
return u
|
||||||
|
}
|
||||||
|
|
||||||
// SetCreatedAt is an autogenerated method
|
// SetCreatedAt is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (u UserInviteUpdater) SetCreatedAt(createdAt time.Time) UserInviteUpdater {
|
func (u UserInviteUpdater) SetCreatedAt(createdAt time.Time) UserInviteUpdater {
|
||||||
|
@ -7877,6 +8088,13 @@ func (u UserInviteUpdater) SetMemberType(memberType uint32) UserInviteUpdater {
|
||||||
return u
|
return u
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetSpendType is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (u UserInviteUpdater) SetSpendType(spendType uint32) UserInviteUpdater {
|
||||||
|
u.fields[string(UserInviteDBSchema.SpendType)] = spendType
|
||||||
|
return u
|
||||||
|
}
|
||||||
|
|
||||||
// SetStoreId is an autogenerated method
|
// SetStoreId is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (u UserInviteUpdater) SetStoreId(storeId uint64) UserInviteUpdater {
|
func (u UserInviteUpdater) SetStoreId(storeId uint64) UserInviteUpdater {
|
||||||
|
@ -7905,6 +8123,13 @@ func (u UserInviteUpdater) SetUpdatedAt(updatedAt time.Time) UserInviteUpdater {
|
||||||
return u
|
return u
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetUserInviteRecordId is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (u UserInviteUpdater) SetUserInviteRecordId(userInviteRecordId uint32) UserInviteUpdater {
|
||||||
|
u.fields[string(UserInviteDBSchema.UserInviteRecordId)] = userInviteRecordId
|
||||||
|
return u
|
||||||
|
}
|
||||||
|
|
||||||
// SetUserType is an autogenerated method
|
// SetUserType is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (u UserInviteUpdater) SetUserType(userType uint32) UserInviteUpdater {
|
func (u UserInviteUpdater) SetUserType(userType uint32) UserInviteUpdater {
|
||||||
|
@ -7940,56 +8165,65 @@ func (f UserInviteDBSchemaField) String() string {
|
||||||
|
|
||||||
// UserInviteDBSchema stores db field names of UserInvite
|
// UserInviteDBSchema stores db field names of UserInvite
|
||||||
var UserInviteDBSchema = struct {
|
var UserInviteDBSchema = struct {
|
||||||
ID UserInviteDBSchemaField
|
ID UserInviteDBSchemaField
|
||||||
CreatedAt UserInviteDBSchemaField
|
CreatedAt UserInviteDBSchemaField
|
||||||
UpdatedAt UserInviteDBSchemaField
|
UpdatedAt UserInviteDBSchemaField
|
||||||
DeletedAt UserInviteDBSchemaField
|
DeletedAt UserInviteDBSchemaField
|
||||||
FromUid UserInviteDBSchemaField
|
FromUid UserInviteDBSchemaField
|
||||||
UserType UserInviteDBSchemaField
|
UserType UserInviteDBSchemaField
|
||||||
StoreId UserInviteDBSchemaField
|
StoreId UserInviteDBSchemaField
|
||||||
MemberOpenTime UserInviteDBSchemaField
|
MemberOpenTime UserInviteDBSchemaField
|
||||||
MemberType UserInviteDBSchemaField
|
MemberType UserInviteDBSchemaField
|
||||||
MemberStatus UserInviteDBSchemaField
|
MemberStatus UserInviteDBSchemaField
|
||||||
ToUid UserInviteDBSchemaField
|
ToUid UserInviteDBSchemaField
|
||||||
StoreType UserInviteDBSchemaField
|
StoreType UserInviteDBSchemaField
|
||||||
MemberLevel UserInviteDBSchemaField
|
Action UserInviteDBSchemaField
|
||||||
ToUser UserInviteDBSchemaField
|
SpendType UserInviteDBSchemaField
|
||||||
|
MemberLevel UserInviteDBSchemaField
|
||||||
|
UserInviteRecordId UserInviteDBSchemaField
|
||||||
|
ToUser UserInviteDBSchemaField
|
||||||
}{
|
}{
|
||||||
|
|
||||||
ID: UserInviteDBSchemaField("id"),
|
ID: UserInviteDBSchemaField("id"),
|
||||||
CreatedAt: UserInviteDBSchemaField("created_at"),
|
CreatedAt: UserInviteDBSchemaField("created_at"),
|
||||||
UpdatedAt: UserInviteDBSchemaField("updated_at"),
|
UpdatedAt: UserInviteDBSchemaField("updated_at"),
|
||||||
DeletedAt: UserInviteDBSchemaField("deleted_at"),
|
DeletedAt: UserInviteDBSchemaField("deleted_at"),
|
||||||
FromUid: UserInviteDBSchemaField("from_uid"),
|
FromUid: UserInviteDBSchemaField("from_uid"),
|
||||||
UserType: UserInviteDBSchemaField("user_type"),
|
UserType: UserInviteDBSchemaField("user_type"),
|
||||||
StoreId: UserInviteDBSchemaField("store_id"),
|
StoreId: UserInviteDBSchemaField("store_id"),
|
||||||
MemberOpenTime: UserInviteDBSchemaField("member_open_time"),
|
MemberOpenTime: UserInviteDBSchemaField("member_open_time"),
|
||||||
MemberType: UserInviteDBSchemaField("member_type"),
|
MemberType: UserInviteDBSchemaField("member_type"),
|
||||||
MemberStatus: UserInviteDBSchemaField("member_status"),
|
MemberStatus: UserInviteDBSchemaField("member_status"),
|
||||||
ToUid: UserInviteDBSchemaField("to_uid"),
|
ToUid: UserInviteDBSchemaField("to_uid"),
|
||||||
StoreType: UserInviteDBSchemaField("store_type"),
|
StoreType: UserInviteDBSchemaField("store_type"),
|
||||||
MemberLevel: UserInviteDBSchemaField("member_level"),
|
Action: UserInviteDBSchemaField("action"),
|
||||||
ToUser: UserInviteDBSchemaField("to_user"),
|
SpendType: UserInviteDBSchemaField("spend_type"),
|
||||||
|
MemberLevel: UserInviteDBSchemaField("member_level"),
|
||||||
|
UserInviteRecordId: UserInviteDBSchemaField("user_invite_record_id"),
|
||||||
|
ToUser: UserInviteDBSchemaField("to_user"),
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update updates UserInvite fields by primary key
|
// Update updates UserInvite fields by primary key
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (o *UserInvite) Update(db *gorm.DB, fields ...UserInviteDBSchemaField) error {
|
func (o *UserInvite) Update(db *gorm.DB, fields ...UserInviteDBSchemaField) error {
|
||||||
dbNameToFieldName := map[string]interface{}{
|
dbNameToFieldName := map[string]interface{}{
|
||||||
"id": o.ID,
|
"id": o.ID,
|
||||||
"created_at": o.CreatedAt,
|
"created_at": o.CreatedAt,
|
||||||
"updated_at": o.UpdatedAt,
|
"updated_at": o.UpdatedAt,
|
||||||
"deleted_at": o.DeletedAt,
|
"deleted_at": o.DeletedAt,
|
||||||
"from_uid": o.FromUid,
|
"from_uid": o.FromUid,
|
||||||
"user_type": o.UserType,
|
"user_type": o.UserType,
|
||||||
"store_id": o.StoreId,
|
"store_id": o.StoreId,
|
||||||
"member_open_time": o.MemberOpenTime,
|
"member_open_time": o.MemberOpenTime,
|
||||||
"member_type": o.MemberType,
|
"member_type": o.MemberType,
|
||||||
"member_status": o.MemberStatus,
|
"member_status": o.MemberStatus,
|
||||||
"to_uid": o.ToUid,
|
"to_uid": o.ToUid,
|
||||||
"store_type": o.StoreType,
|
"store_type": o.StoreType,
|
||||||
"member_level": o.MemberLevel,
|
"action": o.Action,
|
||||||
"to_user": o.ToUser,
|
"spend_type": o.SpendType,
|
||||||
|
"member_level": o.MemberLevel,
|
||||||
|
"user_invite_record_id": o.UserInviteRecordId,
|
||||||
|
"to_user": o.ToUser,
|
||||||
}
|
}
|
||||||
u := map[string]interface{}{}
|
u := map[string]interface{}{}
|
||||||
for _, f := range fields {
|
for _, f := range fields {
|
||||||
|
|
|
@ -74,16 +74,16 @@ const (
|
||||||
type CooperativeMemberPromotion struct {
|
type CooperativeMemberPromotion struct {
|
||||||
Model
|
Model
|
||||||
CooperativeBusinessId uint32 `json:"cooperative_business_id" gorm:"index"`
|
CooperativeBusinessId uint32 `json:"cooperative_business_id" gorm:"index"`
|
||||||
CooperativeName string `json:"cooperative_name"` // 合作商名称
|
CooperativeName string `json:"cooperative_name"` // 合作商名称
|
||||||
GoldCount uint32 `json:"gold_count"` // 黄金会员数量
|
GoldCount uint32 `json:"gold_count" gorm:"default:0"` // 黄金会员数量
|
||||||
PlatinumCount uint32 `json:"platinum_count"` // 白金会员数量
|
PlatinumCount uint32 `json:"platinum_count" gorm:"default:0"` // 白金会员数量
|
||||||
BlackGoldCount uint32 `json:"black_gold_count"` // 黑金会员数量
|
BlackGoldCount uint32 `json:"black_gold_count" gorm:"default:0"` // 黑金会员数量
|
||||||
Date string `json:"date" gorm:"index"` //
|
Date string `json:"date" gorm:"index"` //
|
||||||
State string `json:"state"` // 待发起结算 待财务打款 已结算
|
State string `json:"state"` // 待发起结算 待财务打款 已结算
|
||||||
|
|
||||||
RenewalGoldCount uint32 `json:"renewal_gold_count"` // 续费黄金会员数量
|
RenewalGoldCount uint32 `json:"renewal_gold_count" gorm:"default:0"` // 续费黄金会员数量
|
||||||
RenewalPlatinumCount uint32 `json:"renewal_platinum_count"` // 续费白金会员数量
|
RenewalPlatinumCount uint32 `json:"renewal_platinum_count" gorm:"default:0"` // 续费白金会员数量
|
||||||
RenewalBlackGoldCount uint32 `json:"renewal_black_gold_count"` // 续费黑金会员数量
|
RenewalBlackGoldCount uint32 `json:"renewal_black_gold_count" gorm:"default:0"` // 续费黑金会员数量
|
||||||
|
|
||||||
// cooperative_member_promotion
|
// cooperative_member_promotion
|
||||||
}
|
}
|
||||||
|
@ -93,15 +93,15 @@ type CooperativeMemberPromotion struct {
|
||||||
type CooperativeMemberPromotionStore struct {
|
type CooperativeMemberPromotionStore struct {
|
||||||
Model
|
Model
|
||||||
CooperativeBusinessId uint32 `json:"cooperative_business_id" gorm:"index"`
|
CooperativeBusinessId uint32 `json:"cooperative_business_id" gorm:"index"`
|
||||||
CooperativeName string `json:"cooperative_name"` // 合作商名称
|
CooperativeName string `json:"cooperative_name"` // 合作商名称
|
||||||
StoreId uint32 `json:"store_id" gorm:"index"` // 门店id
|
StoreId uint32 `json:"store_id" gorm:"index"` // 门店id
|
||||||
GoldCount uint32 `json:"gold_count"` // 黄金会员数量
|
GoldCount uint32 `json:"gold_count" gorm:"default:0"` // 黄金会员数量
|
||||||
PlatinumCount uint32 `json:"platinum_count"` // 白金会员数量
|
PlatinumCount uint32 `json:"platinum_count" gorm:"default:0"` // 白金会员数量
|
||||||
BlackGoldCount uint32 `json:"black_gold_count"` // 黑金会员数量
|
BlackGoldCount uint32 `json:"black_gold_count" gorm:"default:0"` // 黑金会员数量
|
||||||
Date string `json:"date" gorm:"index"` //
|
Date string `json:"date" gorm:"index"` //
|
||||||
RenewalGoldCount uint32 `json:"renewal_gold_count"` // 续费黄金会员数量
|
RenewalGoldCount uint32 `json:"renewal_gold_count" gorm:"default:0"` // 续费黄金会员数量
|
||||||
RenewalPlatinumCount uint32 `json:"renewal_platinum_count"` // 续费白金会员数量
|
RenewalPlatinumCount uint32 `json:"renewal_platinum_count" gorm:"default:0"` // 续费白金会员数量
|
||||||
RenewalBlackGoldCount uint32 `json:"renewal_black_gold_count"` // 续费黑金会员数量
|
RenewalBlackGoldCount uint32 `json:"renewal_black_gold_count" gorm:"default:0"` // 续费黑金会员数量
|
||||||
// cooperative_member_promotion_store
|
// cooperative_member_promotion_store
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -110,14 +110,14 @@ type CooperativeMemberPromotionStore struct {
|
||||||
type CooperativeMemberPromotionDay struct {
|
type CooperativeMemberPromotionDay struct {
|
||||||
Model
|
Model
|
||||||
CooperativeBusinessId uint32 `json:"cooperative_business_id" gorm:"index"`
|
CooperativeBusinessId uint32 `json:"cooperative_business_id" gorm:"index"`
|
||||||
CooperativeName string `json:"cooperative_name"` // 合作商名称
|
CooperativeName string `json:"cooperative_name"` // 合作商名称
|
||||||
GoldCount uint32 `json:"gold_count"` // 黄金会员数量
|
GoldCount uint32 `json:"gold_count" gorm:"default:0"` // 黄金会员数量
|
||||||
PlatinumCount uint32 `json:"platinum_count"` // 白金会员数量
|
PlatinumCount uint32 `json:"platinum_count" gorm:"default:0"` // 白金会员数量
|
||||||
BlackGoldCount uint32 `json:"black_gold_count"` // 黑金会员数量
|
BlackGoldCount uint32 `json:"black_gold_count" gorm:"default:0"` // 黑金会员数量
|
||||||
DayTime string `json:"day_time" gorm:"index"` //
|
DayTime string `json:"day_time" gorm:"index"` //
|
||||||
RenewalGoldCount uint32 `json:"renewal_gold_count"` // 续费黄金会员数量
|
RenewalGoldCount uint32 `json:"renewal_gold_count" gorm:"default:0"` // 续费黄金会员数量
|
||||||
RenewalPlatinumCount uint32 `json:"renewal_platinum_count"` // 续费白金会员数量
|
RenewalPlatinumCount uint32 `json:"renewal_platinum_count" gorm:"default:0"` // 续费白金会员数量
|
||||||
RenewalBlackGoldCount uint32 `json:"renewal_black_gold_count"` // 续费黑金会员数量
|
RenewalBlackGoldCount uint32 `json:"renewal_black_gold_count" gorm:"default:0"` // 续费黑金会员数量
|
||||||
// cooperative_member_promotion_day
|
// cooperative_member_promotion_day
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -126,15 +126,15 @@ type CooperativeMemberPromotionDay struct {
|
||||||
type CooperativeMemberPromotionStoreDay struct {
|
type CooperativeMemberPromotionStoreDay struct {
|
||||||
Model
|
Model
|
||||||
CooperativeBusinessId uint32 `json:"cooperative_business_id" gorm:"index"`
|
CooperativeBusinessId uint32 `json:"cooperative_business_id" gorm:"index"`
|
||||||
CooperativeName string `json:"cooperative_name"` // 合作商名称
|
CooperativeName string `json:"cooperative_name"` // 合作商名称
|
||||||
StoreId uint32 `json:"store_id" gorm:"index"` // 门店id
|
StoreId uint32 `json:"store_id" gorm:"index"` // 门店id
|
||||||
GoldCount uint32 `json:"gold_count"` // 黄金会员数量
|
GoldCount uint32 `json:"gold_count" gorm:"default:0"` // 黄金会员数量
|
||||||
PlatinumCount uint32 `json:"platinum_count"` // 白金会员数量
|
PlatinumCount uint32 `json:"platinum_count" gorm:"default:0"` // 白金会员数量
|
||||||
BlackGoldCount uint32 `json:"black_gold_count"` // 黑金会员数量
|
BlackGoldCount uint32 `json:"black_gold_count" gorm:"default:0"` // 黑金会员数量
|
||||||
DayTime string `json:"day_time" gorm:"index"` //
|
DayTime string `json:"day_time" gorm:"index"` //
|
||||||
RenewalGoldCount uint32 `json:"renewal_gold_count"` // 续费黄金会员数量
|
RenewalGoldCount uint32 `json:"renewal_gold_count" gorm:"default:0"` // 续费黄金会员数量
|
||||||
RenewalPlatinumCount uint32 `json:"renewal_platinum_count"` // 续费白金会员数量
|
RenewalPlatinumCount uint32 `json:"renewal_platinum_count" gorm:"default:0"` // 续费白金会员数量
|
||||||
RenewalBlackGoldCount uint32 `json:"renewal_black_gold_count"` // 续费黑金会员数量
|
RenewalBlackGoldCount uint32 `json:"renewal_black_gold_count" gorm:"default:0"` // 续费黑金会员数量
|
||||||
// cooperative_member_promotion_store_day
|
// cooperative_member_promotion_store_day
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -143,21 +143,21 @@ type CooperativeDeductSettle struct {
|
||||||
Model
|
Model
|
||||||
CooperativeMemberPromotionId uint32 `json:"cooperative_member_promotion_id" gorm:"index"`
|
CooperativeMemberPromotionId uint32 `json:"cooperative_member_promotion_id" gorm:"index"`
|
||||||
CooperativeBusinessId uint32 `json:"cooperative_business_id" gorm:"index"`
|
CooperativeBusinessId uint32 `json:"cooperative_business_id" gorm:"index"`
|
||||||
CooperativeName string `json:"cooperative_name"` // 合作商名称
|
CooperativeName string `json:"cooperative_name"` // 合作商名称
|
||||||
DeductAmount uint32 `json:"deduct_amount"` // 提成金额
|
DeductAmount uint32 `json:"deduct_amount"` // 提成金额
|
||||||
Date string `json:"date" gorm:"index"` //
|
Date string `json:"date" gorm:"index"` //
|
||||||
State string `json:"state"` // 待财务打款 已结算
|
State string `json:"state"` // 待财务打款 已结算
|
||||||
GoldCount uint32 `json:"gold_count"` // 黄金会员数量
|
GoldCount uint32 `json:"gold_count" gorm:"default:0"` // 黄金会员数量
|
||||||
PlatinumCount uint32 `json:"platinum_count"` // 白金会员数量
|
PlatinumCount uint32 `json:"platinum_count" gorm:"default:0"` // 白金会员数量
|
||||||
BlackGoldCount uint32 `json:"black_gold_count"` // 黑金会员数量
|
BlackGoldCount uint32 `json:"black_gold_count" gorm:"default:0"` // 黑金会员数量
|
||||||
|
|
||||||
GoldDeduct uint32 `json:"gold_deduct"` // 黄金会员提成配置
|
GoldDeduct uint32 `json:"gold_deduct"` // 黄金会员提成配置
|
||||||
PlatinumDeduct uint32 `json:"platinum_deduct"` // 白金会员提成配置
|
PlatinumDeduct uint32 `json:"platinum_deduct"` // 白金会员提成配置
|
||||||
BlackGoldDeduct uint32 `json:"black_gold_deduct"` // 黑金会员提成配置
|
BlackGoldDeduct uint32 `json:"black_gold_deduct"` // 黑金会员提成配置
|
||||||
|
|
||||||
RenewalGoldCount uint32 `json:"renewal_gold_count"` // 续费黄金会员数量
|
RenewalGoldCount uint32 `json:"renewal_gold_count" gorm:"default:0"` // 续费黄金会员数量
|
||||||
RenewalPlatinumCount uint32 `json:"renewal_platinum_count"` // 续费白金会员数量
|
RenewalPlatinumCount uint32 `json:"renewal_platinum_count" gorm:"default:0"` // 续费白金会员数量
|
||||||
RenewalBlackGoldCount uint32 `json:"renewal_black_gold_count"` // 续费黑金会员数量
|
RenewalBlackGoldCount uint32 `json:"renewal_black_gold_count" gorm:"default:0"` // 续费黑金会员数量
|
||||||
|
|
||||||
RenewalGoldDeduct uint32 `json:"renewal_gold_deduct"` // 续费黄金会员提成
|
RenewalGoldDeduct uint32 `json:"renewal_gold_deduct"` // 续费黄金会员提成
|
||||||
RenewalPlatinumDeduct uint32 `json:"renewal_platinum_deduct"` // 续费白金会员提成
|
RenewalPlatinumDeduct uint32 `json:"renewal_platinum_deduct"` // 续费白金会员提成
|
||||||
|
@ -600,6 +600,7 @@ func (m *CooperativeMemberPromotion) AddRenewal(gdb *gorm.DB, memberLevel int) e
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
m.State = PromotionStateUnSettlement
|
m.State = PromotionStateUnSettlement
|
||||||
err = gdb.Create(m).Error
|
err = gdb.Create(m).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -649,6 +650,7 @@ func (m *CooperativeMemberPromotionStore) AddRenewal(gdb *gorm.DB, memberLevel i
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
err = gdb.Create(m).Error
|
err = gdb.Create(m).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("create cooperative member promotion err:", err)
|
logger.Error("create cooperative member promotion err:", err)
|
||||||
|
@ -693,6 +695,7 @@ func (m *CooperativeMemberPromotionDay) AddRenewal(gdb *gorm.DB, memberLevel int
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
err = gdb.Create(m).Error
|
err = gdb.Create(m).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("create cooperative member promotion day err:", err)
|
logger.Error("create cooperative member promotion day err:", err)
|
||||||
|
@ -741,6 +744,7 @@ func (m *CooperativeMemberPromotionStoreDay) AddRenewal(gdb *gorm.DB, memberLeve
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
err = gdb.Create(m).Error
|
err = gdb.Create(m).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("create cooperative member promotion store day err:", err)
|
logger.Error("create cooperative member promotion store day err:", err)
|
||||||
|
@ -765,6 +769,7 @@ func (m *InviteMemberReport) AddRenewal(gdb *gorm.DB, memberLevel int) error {
|
||||||
return errors.New("uid is null")
|
return errors.New("uid is null")
|
||||||
}
|
}
|
||||||
m.Date = dateString
|
m.Date = dateString
|
||||||
|
|
||||||
sql := ""
|
sql := ""
|
||||||
switch memberLevel {
|
switch memberLevel {
|
||||||
case 2:
|
case 2:
|
||||||
|
@ -798,6 +803,7 @@ func (m *InviteMemberReport) AddRenewal(gdb *gorm.DB, memberLevel int) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
//m.State = PromotionStateUnSettlement
|
//m.State = PromotionStateUnSettlement
|
||||||
err = gdb.Create(m).Error
|
err = gdb.Create(m).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -111,8 +111,9 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
|
||||||
switch sortType {
|
switch sortType {
|
||||||
case 1:
|
case 1:
|
||||||
// 排序类型 1-默认
|
// 排序类型 1-默认
|
||||||
qs = qs.OrderDescByCreatedAt()
|
//qs = qs.OrderDescByCreatedAt()
|
||||||
//qs = qs.OrderAscByStockState()
|
//qs = qs.OrderAscByStockState()
|
||||||
|
qs = qs.OrderAscByID()
|
||||||
case 2:
|
case 2:
|
||||||
// 排序类型 2-新品
|
// 排序类型 2-新品
|
||||||
qs = qs.NewProductsEq(1)
|
qs = qs.NewProductsEq(1)
|
||||||
|
@ -146,6 +147,10 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
|
||||||
var user *User
|
var user *User
|
||||||
if uid != 0 {
|
if uid != 0 {
|
||||||
user = GetUserByUid(uid)
|
user = GetUserByUid(uid)
|
||||||
|
if user == nil {
|
||||||
|
logger.Error("get user err:", err)
|
||||||
|
return cards, 0, err
|
||||||
|
}
|
||||||
if user.MemberExpire.After(time.Now()) &&
|
if user.MemberExpire.After(time.Now()) &&
|
||||||
user.MemberExpire.AddDate(0, 0, -14).Before(time.Now()) {
|
user.MemberExpire.AddDate(0, 0, -14).Before(time.Now()) {
|
||||||
qs = qs.RealPriceLte(hideGamePrice)
|
qs = qs.RealPriceLte(hideGamePrice)
|
||||||
|
@ -254,9 +259,6 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//if count == 0 {
|
|
||||||
//
|
|
||||||
//}
|
|
||||||
count, err = qs.Count()
|
count, err = qs.Count()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("count err:", err)
|
logger.Error("count err:", err)
|
||||||
|
@ -275,7 +277,8 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
|
||||||
|
|
||||||
GameCardListSetStockState(cards, storeId)
|
GameCardListSetStockState(cards, storeId)
|
||||||
} else {
|
} else {
|
||||||
err = qs.All(&cards)
|
err = qs.OrderDescByID().All(&cards)
|
||||||
|
//err = qs.OrderAscByID().All(&cards)
|
||||||
if err != nil && err != RecordNotFound {
|
if err != nil && err != RecordNotFound {
|
||||||
logger.Error("list err:", err)
|
logger.Error("list err:", err)
|
||||||
return cards, 0, err
|
return cards, 0, err
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
package model
|
package model
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
// 邀请关系
|
// 邀请关系
|
||||||
//go:generate goqueryset -in user_invite_level.go
|
//go:generate goqueryset -in invite.go
|
||||||
// gen:qs
|
// gen:qs
|
||||||
type UserInviteLevel struct {
|
type UserInviteLevel struct {
|
||||||
Model
|
Model
|
||||||
|
@ -19,6 +21,13 @@ type UserInviteLevel struct {
|
||||||
type UserInviteRecord struct {
|
type UserInviteRecord struct {
|
||||||
Model
|
Model
|
||||||
|
|
||||||
ToUid uint32 `json:"to_uid"` // 用户ID
|
ToUid uint32 `json:"to_uid"` // 用户ID
|
||||||
FromUid uint32 `json:"from_uid"` // 邀请人ID
|
FromUid uint32 `json:"from_uid"` // 邀请人ID
|
||||||
|
Action uint32 `json:"action"` // 1-未激活 2-激活邀请
|
||||||
|
SpendType uint32 `json:"spend_type"` // 1-未开通 2-开通会员 3-续费 4-升级
|
||||||
|
MemberLevel uint32 `json:"member_level"` // 会员等级
|
||||||
|
First uint32 `json:"first"` // 首次
|
||||||
|
Scan uint32 `json:"scan"` // 扫码
|
||||||
|
ActionTime time.Time `json:"action_time"` // 激活时间
|
||||||
|
// user_invite_record
|
||||||
}
|
}
|
||||||
|
|
|
@ -147,13 +147,16 @@ func InitTestDB() {
|
||||||
//&CooperativeMemberPromotion{},
|
//&CooperativeMemberPromotion{},
|
||||||
//&CooperativeMemberPromotion{},
|
//&CooperativeMemberPromotion{},
|
||||||
//&CooperativeMemberPromotionDay{},
|
//&CooperativeMemberPromotionDay{},
|
||||||
&CooperativeMemberDeduct{},
|
//&CooperativeMemberDeduct{},
|
||||||
&CooperativeAssistantMemberDeduct{},
|
//&CooperativeAssistantMemberDeduct{},
|
||||||
&CooperativeMemberPromotion{},
|
//&CooperativeMemberPromotion{},
|
||||||
|
//&CooperativeMemberPromotionStore{},
|
||||||
|
//&CooperativeMemberPromotionDay{},
|
||||||
|
//&CooperativeMemberPromotionStoreDay{},
|
||||||
|
//&CooperativeDeductSettle{},
|
||||||
|
&UserInvite{},
|
||||||
|
&UserInviteRecord{},
|
||||||
&CooperativeMemberPromotionStore{},
|
&CooperativeMemberPromotionStore{},
|
||||||
&CooperativeMemberPromotionDay{},
|
|
||||||
&CooperativeMemberPromotionStoreDay{},
|
|
||||||
&CooperativeDeductSettle{},
|
|
||||||
)
|
)
|
||||||
|
|
||||||
fmt.Println("DB init success")
|
fmt.Println("DB init success")
|
||||||
|
@ -258,6 +261,10 @@ func InitDBProd() {
|
||||||
//&HomeCarousel{},
|
//&HomeCarousel{},
|
||||||
//&UserRenewalLog{},
|
//&UserRenewalLog{},
|
||||||
&GameCard{},
|
&GameCard{},
|
||||||
|
&CooperativeMemberPromotion{},
|
||||||
|
&CooperativeMemberPromotionStore{},
|
||||||
|
&CooperativeMemberPromotionDay{},
|
||||||
|
&CooperativeMemberPromotionStoreDay{},
|
||||||
)
|
)
|
||||||
|
|
||||||
if err := DBProd.DB().Ping(); err != nil {
|
if err := DBProd.DB().Ping(); err != nil {
|
||||||
|
@ -772,28 +779,28 @@ func TestMemberUserList(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func MemberUserList() {
|
func MemberUserList() {
|
||||||
InitDBProd()
|
//InitDBProd()
|
||||||
var users []User
|
//var users []User
|
||||||
err := NewUserQuerySet(DBProd).MemberLevelEq(2).OrderAscByID().All(&users)
|
//err := NewUserQuerySet(DBProd).MemberLevelEq(2).OrderAscByID().All(&users)
|
||||||
//err := NewUserQuerySet(DBProd).MemberLevelNe(2).OrderAscByID().All(&users)
|
////err := NewUserQuerySet(DBProd).MemberLevelNe(2).OrderAscByID().All(&users)
|
||||||
//err := NewUserQuerySet(DBProd).StoreTypeEq(1).OrderAscByID().All(&users)
|
////err := NewUserQuerySet(DBProd).StoreTypeEq(1).OrderAscByID().All(&users)
|
||||||
if err != nil {
|
//if err != nil {
|
||||||
fmt.Println("users err:", err)
|
// fmt.Println("users err:", err)
|
||||||
return
|
// return
|
||||||
}
|
//}
|
||||||
endTime, _ := time.Parse("2006-01-02", "2022-02-13")
|
//endTime, _ := time.Parse("2006-01-02", "2022-02-13")
|
||||||
startTime, _ := time.Parse("2006-01-02", "2021-07-30")
|
//startTime, _ := time.Parse("2006-01-02", "2021-07-30")
|
||||||
|
//
|
||||||
for _, user := range users {
|
//for _, user := range users {
|
||||||
count, err := NewUserInviteQuerySet(DBProd).ToUidEq(user.Uid).MemberTypeEq(2).MemberOpenTimeGt(startTime).MemberOpenTimeLt(endTime).Count()
|
// count, err := NewUserInviteQuerySet(DBProd).ToUidEq(user.Uid).MemberTypeEq(2).MemberOpenTimeGt(startTime).MemberOpenTimeLt(endTime).Count()
|
||||||
//count, err := NewUserInviteQuerySet(DBProd).ToUidEq(user.Uid).MemberTypeEq(2).MemberOpenTimeGt(startTime).MemberOpenTimeLt(endTime).Count()
|
// //count, err := NewUserInviteQuerySet(DBProd).ToUidEq(user.Uid).MemberTypeEq(2).MemberOpenTimeGt(startTime).MemberOpenTimeLt(endTime).Count()
|
||||||
if err != nil {
|
// if err != nil {
|
||||||
fmt.Println("err:", err)
|
// fmt.Println("err:", err)
|
||||||
}
|
// }
|
||||||
if count == 0 {
|
// if count == 0 {
|
||||||
fmt.Println("user :", user.Uid)
|
// fmt.Println("user :", user.Uid)
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -802,34 +809,34 @@ func TestOpenMemberTimeUserList(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func OpenMemberTimeUserList() {
|
func OpenMemberTimeUserList() {
|
||||||
InitDBProd()
|
//InitDBProd()
|
||||||
var users []User
|
//var users []User
|
||||||
err := NewUserQuerySet(DBProd).MemberLevelEq(2).All(&users)
|
//err := NewUserQuerySet(DBProd).MemberLevelEq(2).All(&users)
|
||||||
if err != nil {
|
//if err != nil {
|
||||||
fmt.Println("err:", err)
|
// fmt.Println("err:", err)
|
||||||
}
|
//}
|
||||||
userMap := make(map[uint32]User, 0)
|
//userMap := make(map[uint32]User, 0)
|
||||||
for i, _ := range users {
|
//for i, _ := range users {
|
||||||
userMap[users[i].Uid] = users[i]
|
// userMap[users[i].Uid] = users[i]
|
||||||
}
|
//}
|
||||||
|
//
|
||||||
var userInvites []UserInvite
|
//var userInvites []UserInvite
|
||||||
err = NewUserInviteQuerySet(DBProd).MemberTypeEq(2).All(&userInvites)
|
//err = NewUserInviteQuerySet(DBProd).MemberTypeEq(2).All(&userInvites)
|
||||||
if err != nil {
|
//if err != nil {
|
||||||
fmt.Println("err:", err)
|
// fmt.Println("err:", err)
|
||||||
}
|
//}
|
||||||
|
//
|
||||||
for i, _ := range userInvites {
|
//for i, _ := range userInvites {
|
||||||
user, ok := userMap[userInvites[i].ToUid]
|
// user, ok := userMap[userInvites[i].ToUid]
|
||||||
if ok {
|
// if ok {
|
||||||
if user.OpenMemberTime.IsZero() {
|
// if user.OpenMemberTime.IsZero() {
|
||||||
fmt.Println("", user.OpenMemberTime, user.Uid, user.MemberLevel)
|
// fmt.Println("", user.OpenMemberTime, user.Uid, user.MemberLevel)
|
||||||
fmt.Println("", userInvites[i].MemberOpenTime, userInvites[i].MemberType, userInvites[i].ToUid)
|
// fmt.Println("", userInvites[i].MemberOpenTime, userInvites[i].MemberType, userInvites[i].ToUid)
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
}
|
//}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -882,29 +889,29 @@ func TestSyncUserOpenMemberTime(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func SyncUserOpenMemberTime() {
|
func SyncUserOpenMemberTime() {
|
||||||
InitDBProd()
|
//InitDBProd()
|
||||||
var userInvites []UserInvite
|
//var userInvites []UserInvite
|
||||||
err := NewUserInviteQuerySet(DBProd).MemberTypeEq(2).All(&userInvites)
|
//err := NewUserInviteQuerySet(DBProd).MemberTypeEq(2).All(&userInvites)
|
||||||
if err != nil {
|
//if err != nil {
|
||||||
logger.Error("err:", err)
|
// logger.Error("err:", err)
|
||||||
}
|
//}
|
||||||
count := 0
|
//count := 0
|
||||||
for _, userInvite := range userInvites {
|
//for _, userInvite := range userInvites {
|
||||||
fmt.Println("user:", userInvite.MemberLevel, userInvite.MemberOpenTime)
|
// fmt.Println("user:", userInvite.MemberLevel, userInvite.MemberOpenTime)
|
||||||
//err = NewUserInviteQuerySet(DBProd).IDEq(userInvite.ID).GetUpdater().SetMemberLevel(2).Update()
|
// //err = NewUserInviteQuerySet(DBProd).IDEq(userInvite.ID).GetUpdater().SetMemberLevel(2).Update()
|
||||||
//if err != nil {
|
// //if err != nil {
|
||||||
// logger.Error("err:", err)
|
// // logger.Error("err:", err)
|
||||||
//}
|
// //}
|
||||||
|
//
|
||||||
err = NewUserQuerySet(DBProd).UidEq(userInvite.ToUid).GetUpdater().
|
// err = NewUserQuerySet(DBProd).UidEq(userInvite.ToUid).GetUpdater().
|
||||||
SetOpenMemberTime(userInvite.MemberOpenTime).Update()
|
// SetOpenMemberTime(userInvite.MemberOpenTime).Update()
|
||||||
if err != nil {
|
// if err != nil {
|
||||||
logger.Error("err:", err)
|
// logger.Error("err:", err)
|
||||||
}
|
// }
|
||||||
count++
|
// count++
|
||||||
}
|
//}
|
||||||
|
//
|
||||||
fmt.Println("count:", count)
|
//fmt.Println("count:", count)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSyncUserOrder(t *testing.T) {
|
func TestSyncUserOrder(t *testing.T) {
|
||||||
|
|
144
model/user.go
144
model/user.go
|
@ -87,16 +87,23 @@ const (
|
||||||
type UserInvite struct {
|
type UserInvite struct {
|
||||||
Model
|
Model
|
||||||
|
|
||||||
FromUid uint32 `json:"from_uid"` // 邀请用户id
|
FromUid uint32 `json:"from_uid"` // 邀请用户id
|
||||||
UserType uint32 `json:"user_type"` // 用户类型
|
UserType uint32 `json:"user_type"` // 用户类型 1-普通用户
|
||||||
StoreId uint64 `json:"store_id"` // 门店id
|
StoreId uint64 `json:"store_id"` // 门店id
|
||||||
MemberOpenTime time.Time `json:"member_open_time"` // 开通会员
|
MemberOpenTime time.Time `json:"member_open_time"` // 开通会员
|
||||||
MemberType uint32 `json:"member_type"` // 被邀请用户 1-普通用户 2-会员
|
MemberType uint32 `json:"member_type"` // 被邀请用户 1-普通用户 2-会员
|
||||||
MemberStatus uint8 `json:"member_status"` // 被邀请用户 1-未开通 2-已开通 3-已取消会员
|
MemberStatus uint8 `json:"member_status"` // 被邀请用户 1-未开通 2-已开通 3-已取消会员
|
||||||
ToUid uint32 `json:"to_uid"` // 被邀请用户
|
ToUid uint32 `json:"to_uid"` // 被邀请用户
|
||||||
StoreType uint32 `json:"store_type"` // 门店类型
|
StoreType uint32 `json:"store_type"` // 门店类型 1-自有 2-合作商
|
||||||
MemberLevel uint32 `json:"member_level"` // 会员等级
|
Action uint32 `json:"action"` // 1-未激活 2-激活邀请
|
||||||
ToUser *UserLess `json:"to_user"` //
|
SpendType uint32 `json:"spend_type"` // 1-未开通 2-开通会员 3-续费 4-升级
|
||||||
|
MemberLevel uint32 `json:"member_level"` // 会员等级
|
||||||
|
UserInviteRecordId uint32 `json:"user_invite_record_id"` // 邀请记录
|
||||||
|
FirstInvite uint32 `json:"first_invite"` // 首次
|
||||||
|
Scan uint32 `json:"scan"` // 扫码
|
||||||
|
ToUser *User `json:"to_user" gorm:"-"`
|
||||||
|
|
||||||
|
//ToUser *UserLess `json:"to_user" gorm:"-"` //
|
||||||
}
|
}
|
||||||
|
|
||||||
type UserLess struct {
|
type UserLess struct {
|
||||||
|
@ -128,13 +135,6 @@ type DepositRefundRecord struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
//FundTypeMemberGold = "member_gold" // 黄金会员
|
|
||||||
//FundTypeMemberPlatinum = "member_platinum" // 白金会员
|
|
||||||
//FundTypeMemberBlackGold = "member_black_gold" // 黑金会员
|
|
||||||
//FundTypeMemberGoldDeposit = "member_gold_deposit" // 黄金会员押金
|
|
||||||
//FundTypeMemberPlatinumDeposit = "member_platinum_deposit" // 白金会员押金
|
|
||||||
//FundTypeMemberBlackGoldDeposit = "member_black_gold_platinum" // 黑金会员押金
|
|
||||||
|
|
||||||
FundTypeMemberFee = "member_fee" // 会员费
|
FundTypeMemberFee = "member_fee" // 会员费
|
||||||
FundTypeMemberDeposit = "member_deposit" // 押金
|
FundTypeMemberDeposit = "member_deposit" // 押金
|
||||||
FundTypeExpressFee = "express_fee" // 邮费
|
FundTypeExpressFee = "express_fee" // 邮费
|
||||||
|
@ -522,22 +522,23 @@ type UserInviteListReq struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type UserInviteListResp struct {
|
type UserInviteListResp struct {
|
||||||
Page int `json:"page"`
|
Page int `json:"page"`
|
||||||
TotalPage int `json:"total_page"`
|
TotalPage int `json:"total_page"`
|
||||||
List []UserInviteList `json:"list"`
|
//List []UserInviteList `json:"list"`
|
||||||
Count int `json:"count"`
|
List []UserInvite `json:"list"`
|
||||||
|
Count int `json:"count"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type UserInviteList struct {
|
//type UserInviteList struct {
|
||||||
User User `json:"user"`
|
// User User `json:"user"`
|
||||||
UserInvite UserInvite `json:"user_invite"`
|
// UserInvite UserInvite `json:"user_invite"`
|
||||||
}
|
//}
|
||||||
|
|
||||||
func (m *UserInviteListReq) InviteUserList() (*UserInviteListResp, error) {
|
func (m *UserInviteListReq) InviteUserList() (*UserInviteListResp, error) {
|
||||||
list := make([]User, 0)
|
list := make([]User, 0)
|
||||||
resp := &UserInviteListResp{
|
resp := &UserInviteListResp{
|
||||||
Page: m.Page,
|
Page: m.Page,
|
||||||
List: make([]UserInviteList, 0),
|
List: make([]UserInvite, 0),
|
||||||
}
|
}
|
||||||
page := m.Page - 1
|
page := m.Page - 1
|
||||||
if page < 0 {
|
if page < 0 {
|
||||||
|
@ -587,19 +588,25 @@ func (m *UserInviteListReq) InviteUserList() (*UserInviteListResp, error) {
|
||||||
|
|
||||||
var invites []UserInvite
|
var invites []UserInvite
|
||||||
//err = qs.Offset(page * m.PageSize).Limit(m.PageSize).OrderDescByID().All(&invites)
|
//err = qs.Offset(page * m.PageSize).Limit(m.PageSize).OrderDescByID().All(&invites)
|
||||||
err = qs.Offset(page * m.PageSize).Limit(m.PageSize).OrderDescByMemberOpenTime().All(&invites)
|
err = qs.OrderDescByID().Offset(page * m.PageSize).Limit(m.PageSize).OrderDescByMemberOpenTime().All(&invites)
|
||||||
if err != nil && err != RecordNotFound {
|
if err != nil && err != RecordNotFound {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
return resp, err
|
return resp, err
|
||||||
}
|
}
|
||||||
if len(invites) == 0 {
|
//if len(invites) == 0 {
|
||||||
return resp, nil
|
// return resp, nil
|
||||||
}
|
//}
|
||||||
uids := make([]uint32, 0)
|
uids := make([]uint32, 0)
|
||||||
inviteMap := make(map[uint32]UserInvite, 0)
|
//inviteMap := make(map[uint32]UserInvite, 0)
|
||||||
for i, _ := range invites {
|
for i, _ := range invites {
|
||||||
uids = append(uids, invites[i].ToUid)
|
uids = append(uids, invites[i].ToUid)
|
||||||
inviteMap[invites[i].ToUid] = invites[i]
|
//inviteMap[invites[i].ToUid] = invites[i]
|
||||||
|
if invites[i].MemberStatus != 1 {
|
||||||
|
invites[i].CreatedAt = invites[i].MemberOpenTime
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if len(uids) == 0 {
|
||||||
|
return resp, nil
|
||||||
}
|
}
|
||||||
err = NewUserQuerySet(DB).UidIn(uids...).All(&list)
|
err = NewUserQuerySet(DB).UidIn(uids...).All(&list)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -611,22 +618,27 @@ func (m *UserInviteListReq) InviteUserList() (*UserInviteListResp, error) {
|
||||||
for i, _ := range list {
|
for i, _ := range list {
|
||||||
userMap[list[i].Uid] = list[i]
|
userMap[list[i].Uid] = list[i]
|
||||||
}
|
}
|
||||||
//users := make([]User, 0)
|
for i, _ := range invites {
|
||||||
users := make([]UserInviteList, 0)
|
|
||||||
for i, _ := range uids {
|
|
||||||
user, ok1 := userMap[uids[i]]
|
user, ok1 := userMap[uids[i]]
|
||||||
invite, ok2 := inviteMap[uids[i]]
|
if ok1 {
|
||||||
if !ok1 || !ok2 {
|
invites[i].ToUser = &user
|
||||||
continue
|
|
||||||
}
|
}
|
||||||
userInvite := UserInviteList{
|
|
||||||
User: user,
|
|
||||||
UserInvite: invite,
|
|
||||||
}
|
|
||||||
|
|
||||||
users = append(users, userInvite)
|
|
||||||
}
|
}
|
||||||
resp.List = users
|
//users := make([]User, 0)
|
||||||
|
//users := make([]UserInviteList, 0)
|
||||||
|
//for i, _ := range uids {
|
||||||
|
// user, ok1 := userMap[uids[i]]
|
||||||
|
// invite, ok2 := inviteMap[uids[i]]
|
||||||
|
// if !ok1 || !ok2 {
|
||||||
|
// continue
|
||||||
|
// }
|
||||||
|
// userInvite := UserInviteList{
|
||||||
|
// User: user,
|
||||||
|
// UserInvite: invite,
|
||||||
|
// }
|
||||||
|
// users = append(users, userInvite)
|
||||||
|
//}
|
||||||
|
resp.List = invites
|
||||||
|
|
||||||
return resp, nil
|
return resp, nil
|
||||||
}
|
}
|
||||||
|
@ -1003,28 +1015,28 @@ func (u *User) SetVm() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func UserInviteListSetToUser(list []UserInvite) {
|
func UserInviteListSetToUser(list []UserInvite) {
|
||||||
ids := make([]uint32, 0, len(list))
|
//ids := make([]uint32, 0, len(list))
|
||||||
for i, _ := range list {
|
//for i, _ := range list {
|
||||||
ids = append(ids, list[i].ToUid)
|
// ids = append(ids, list[i].ToUid)
|
||||||
}
|
//}
|
||||||
|
//
|
||||||
|
//userMap, err := GetUserMap(ids)
|
||||||
|
//if err != nil {
|
||||||
|
// logger.Error("user map err:", err)
|
||||||
|
// return
|
||||||
|
//}
|
||||||
|
|
||||||
userMap, err := GetUserMap(ids)
|
//for i, _ := range list {
|
||||||
if err != nil {
|
// v, ok := userMap[list[i].ToUid]
|
||||||
logger.Error("user map err:", err)
|
// if ok {
|
||||||
return
|
//
|
||||||
}
|
// list[i].ToUser = &UserLess{
|
||||||
|
// Uid: v.Uid,
|
||||||
for i, _ := range list {
|
// MemberOpenTime: v.OpenMemberTime,
|
||||||
v, ok := userMap[list[i].ToUid]
|
// MemberLevel: v.MemberLevel,
|
||||||
if ok {
|
// }
|
||||||
|
// }
|
||||||
list[i].ToUser = &UserLess{
|
//}
|
||||||
Uid: v.Uid,
|
|
||||||
MemberOpenTime: v.OpenMemberTime,
|
|
||||||
MemberLevel: v.MemberLevel,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// gen:qs
|
// gen:qs
|
||||||
|
|
Loading…
Reference in New Issue
Block a user