fix:
This commit is contained in:
parent
649d240561
commit
54189620be
|
@ -471,6 +471,7 @@ func PushWXPayNotice(c *gin.Context) {
|
|||
if !user.OpenMemberTime.IsZero() {
|
||||
spendType = 3
|
||||
}
|
||||
isShopAssistantCode := false
|
||||
expireTime := newTime.AddDate(1, 0, 0)
|
||||
if user.MemberExpire.After(newTime) {
|
||||
expireTime = user.MemberExpire.AddDate(1, 0, 0)
|
||||
|
@ -520,6 +521,7 @@ func PushWXPayNotice(c *gin.Context) {
|
|||
logger.Error("user coupon err:", err)
|
||||
} else {
|
||||
if userCoupon.Approach == 1 {
|
||||
isShopAssistantCode = true
|
||||
err = model.StorePromotion(userCoupon.PromotionalSales, userCoupon.Uid, nil, &user)
|
||||
if err != nil {
|
||||
logger.Error("store promotion err:", err)
|
||||
|
@ -566,6 +568,9 @@ func PushWXPayNotice(c *gin.Context) {
|
|||
//if user.MemberLevel != 2 {
|
||||
// qs = qs.SetMemberOpenTime(newTime).SetMemberLevel(record.MemberLevel)
|
||||
//}
|
||||
if isShopAssistantCode {
|
||||
qs = qs.SetInviteForm(1)
|
||||
}
|
||||
qs = qs.SetMemberOpenTime(newTime).SetMemberLevel(record.MemberLevel)
|
||||
_, err = qs.SetMemberType(2).SetMemberStatus(2).
|
||||
SetAction(2).SetSpendType(spendType).UpdateNum()
|
||||
|
@ -614,11 +619,13 @@ func PushWXPayNotice(c *gin.Context) {
|
|||
UserInviteRecordId: inviteRecordNew.ID,
|
||||
FirstInvite: 0,
|
||||
}
|
||||
if isShopAssistantCode {
|
||||
userInviteNew.InviteForm = 1
|
||||
}
|
||||
err = model.DB.Create(userInviteNew).Error
|
||||
if err != nil {
|
||||
logger.Error("create invite record err:", err)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if invite.FromUid != 0 {
|
||||
|
|
|
@ -8039,6 +8039,62 @@ func (qs UserInviteQuerySet) IDNotIn(ID ...uint32) UserInviteQuerySet {
|
|||
return qs.w(qs.db.Where("id NOT IN (?)", ID))
|
||||
}
|
||||
|
||||
// InviteFormEq is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs UserInviteQuerySet) InviteFormEq(inviteForm uint32) UserInviteQuerySet {
|
||||
return qs.w(qs.db.Where("invite_form = ?", inviteForm))
|
||||
}
|
||||
|
||||
// InviteFormGt is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs UserInviteQuerySet) InviteFormGt(inviteForm uint32) UserInviteQuerySet {
|
||||
return qs.w(qs.db.Where("invite_form > ?", inviteForm))
|
||||
}
|
||||
|
||||
// InviteFormGte is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs UserInviteQuerySet) InviteFormGte(inviteForm uint32) UserInviteQuerySet {
|
||||
return qs.w(qs.db.Where("invite_form >= ?", inviteForm))
|
||||
}
|
||||
|
||||
// InviteFormIn is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs UserInviteQuerySet) InviteFormIn(inviteForm ...uint32) UserInviteQuerySet {
|
||||
if len(inviteForm) == 0 {
|
||||
qs.db.AddError(errors.New("must at least pass one inviteForm in InviteFormIn"))
|
||||
return qs.w(qs.db)
|
||||
}
|
||||
return qs.w(qs.db.Where("invite_form IN (?)", inviteForm))
|
||||
}
|
||||
|
||||
// InviteFormLt is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs UserInviteQuerySet) InviteFormLt(inviteForm uint32) UserInviteQuerySet {
|
||||
return qs.w(qs.db.Where("invite_form < ?", inviteForm))
|
||||
}
|
||||
|
||||
// InviteFormLte is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs UserInviteQuerySet) InviteFormLte(inviteForm uint32) UserInviteQuerySet {
|
||||
return qs.w(qs.db.Where("invite_form <= ?", inviteForm))
|
||||
}
|
||||
|
||||
// InviteFormNe is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs UserInviteQuerySet) InviteFormNe(inviteForm uint32) UserInviteQuerySet {
|
||||
return qs.w(qs.db.Where("invite_form != ?", inviteForm))
|
||||
}
|
||||
|
||||
// InviteFormNotIn is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs UserInviteQuerySet) InviteFormNotIn(inviteForm ...uint32) UserInviteQuerySet {
|
||||
if len(inviteForm) == 0 {
|
||||
qs.db.AddError(errors.New("must at least pass one inviteForm in InviteFormNotIn"))
|
||||
return qs.w(qs.db)
|
||||
}
|
||||
return qs.w(qs.db.Where("invite_form NOT IN (?)", inviteForm))
|
||||
}
|
||||
|
||||
// Limit is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs UserInviteQuerySet) Limit(limit int) UserInviteQuerySet {
|
||||
|
@ -8297,6 +8353,12 @@ func (qs UserInviteQuerySet) OrderAscByID() UserInviteQuerySet {
|
|||
return qs.w(qs.db.Order("id ASC"))
|
||||
}
|
||||
|
||||
// OrderAscByInviteForm is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs UserInviteQuerySet) OrderAscByInviteForm() UserInviteQuerySet {
|
||||
return qs.w(qs.db.Order("invite_form ASC"))
|
||||
}
|
||||
|
||||
// OrderAscByMemberLevel is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs UserInviteQuerySet) OrderAscByMemberLevel() UserInviteQuerySet {
|
||||
|
@ -8405,6 +8467,12 @@ func (qs UserInviteQuerySet) OrderDescByID() UserInviteQuerySet {
|
|||
return qs.w(qs.db.Order("id DESC"))
|
||||
}
|
||||
|
||||
// OrderDescByInviteForm is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs UserInviteQuerySet) OrderDescByInviteForm() UserInviteQuerySet {
|
||||
return qs.w(qs.db.Order("invite_form DESC"))
|
||||
}
|
||||
|
||||
// OrderDescByMemberLevel is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs UserInviteQuerySet) OrderDescByMemberLevel() UserInviteQuerySet {
|
||||
|
@ -8947,6 +9015,13 @@ func (u UserInviteUpdater) SetID(ID uint32) UserInviteUpdater {
|
|||
return u
|
||||
}
|
||||
|
||||
// SetInviteForm is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (u UserInviteUpdater) SetInviteForm(inviteForm uint32) UserInviteUpdater {
|
||||
u.fields[string(UserInviteDBSchema.InviteForm)] = inviteForm
|
||||
return u
|
||||
}
|
||||
|
||||
// SetMemberLevel is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (u UserInviteUpdater) SetMemberLevel(memberLevel uint32) UserInviteUpdater {
|
||||
|
@ -9077,6 +9152,7 @@ var UserInviteDBSchema = struct {
|
|||
UserInviteRecordId UserInviteDBSchemaField
|
||||
FirstInvite UserInviteDBSchemaField
|
||||
Scan UserInviteDBSchemaField
|
||||
InviteForm UserInviteDBSchemaField
|
||||
}{
|
||||
|
||||
ID: UserInviteDBSchemaField("id"),
|
||||
|
@ -9097,6 +9173,7 @@ var UserInviteDBSchema = struct {
|
|||
UserInviteRecordId: UserInviteDBSchemaField("user_invite_record_id"),
|
||||
FirstInvite: UserInviteDBSchemaField("first_invite"),
|
||||
Scan: UserInviteDBSchemaField("scan"),
|
||||
InviteForm: UserInviteDBSchemaField("invite_form"),
|
||||
}
|
||||
|
||||
// Update updates UserInvite fields by primary key
|
||||
|
@ -9121,6 +9198,7 @@ func (o *UserInvite) Update(db *gorm.DB, fields ...UserInviteDBSchemaField) erro
|
|||
"user_invite_record_id": o.UserInviteRecordId,
|
||||
"first_invite": o.FirstInvite,
|
||||
"scan": o.Scan,
|
||||
"invite_form": o.InviteForm,
|
||||
}
|
||||
u := map[string]interface{}{}
|
||||
for _, f := range fields {
|
||||
|
|
|
@ -164,6 +164,7 @@ func InitTestDB() {
|
|||
&UserActionLog{},
|
||||
&UserCoupon{},
|
||||
&ShopperPromotionCode{},
|
||||
&UserInvite{},
|
||||
)
|
||||
|
||||
fmt.Println("DB init success")
|
||||
|
@ -211,6 +212,7 @@ func InitDBProd() {
|
|||
|
||||
&ShopperPromotionCode{},
|
||||
&UserCoupon{},
|
||||
&UserInvite{},
|
||||
)
|
||||
|
||||
if err := DBProd.DB().Ping(); err != nil {
|
||||
|
@ -2005,12 +2007,13 @@ func TestNameScanInvite(t *testing.T) {
|
|||
|
||||
}
|
||||
|
||||
// 模拟扫码邀请用户
|
||||
func TestNewUser(t *testing.T) {
|
||||
InitTestDB()
|
||||
DB = DBDev
|
||||
|
||||
InviteUid := uint32(63192613)
|
||||
Uid := uint32(45321263)
|
||||
InviteUid := uint32(87564738)
|
||||
Uid := uint32(17107418)
|
||||
user := GetUserByUid(Uid)
|
||||
nowTime := time.Now()
|
||||
|
||||
|
|
|
@ -96,11 +96,12 @@ type UserInvite struct {
|
|||
ToUid uint32 `json:"to_uid"` // 被邀请用户
|
||||
StoreType uint32 `json:"store_type"` // 门店类型 1-自有 2-合作商
|
||||
Action uint32 `json:"action"` // 1-未激活 2-激活邀请
|
||||
SpendType uint32 `json:"spend_type"` // 1-未开通 2-开通会员 3-续费 4-升级
|
||||
SpendType uint32 `json:"spend_type"` // 1-未开通 2-开通会员 3-续费 4-升级 5-店员推广续费
|
||||
MemberLevel uint32 `json:"member_level"` // 会员等级
|
||||
UserInviteRecordId uint32 `json:"user_invite_record_id"` // 邀请记录
|
||||
FirstInvite uint32 `json:"first_invite"` // 首次
|
||||
Scan uint32 `json:"scan"` // 扫码
|
||||
InviteForm uint32 `json:"invite_form"` // 邀请方式: 1-店员邀请码续费
|
||||
//InviteTime time.Time `json:"invite_time"` // 邀请时间
|
||||
ToUser *User `json:"to_user" gorm:"-"`
|
||||
|
||||
|
@ -586,6 +587,9 @@ func (m *UserInviteListReq) InviteUserList() (*UserInviteListResp, error) {
|
|||
if user.CooperativeBusinessId == 1 {
|
||||
if m.SpendType != 0 {
|
||||
qs = qs.SpendTypeEq(m.SpendType)
|
||||
if m.SpendType == 3 {
|
||||
qs = qs.InviteFormEq(1)
|
||||
}
|
||||
} else {
|
||||
qs = qs.SpendTypeIn([]uint32{2, 3}...)
|
||||
}
|
||||
|
@ -596,6 +600,9 @@ func (m *UserInviteListReq) InviteUserList() (*UserInviteListResp, error) {
|
|||
}
|
||||
if m.MemberType == 0 && m.SpendType != 0 {
|
||||
qs = qs.SpendTypeEq(m.SpendType)
|
||||
if m.SpendType == 3 {
|
||||
qs = qs.InviteFormEq(1)
|
||||
}
|
||||
}
|
||||
if m.StartTime != "" {
|
||||
parse, err := time.Parse(DateTimeFormat, m.StartTime)
|
||||
|
@ -1191,6 +1198,7 @@ func StorePromotion(inviteUid, uid uint32, inviteUser, user *User) error {
|
|||
UserInviteRecordId: inviteRecord.ID,
|
||||
FirstInvite: 0, // TODO
|
||||
Scan: 1,
|
||||
InviteForm: 1,
|
||||
}
|
||||
fmt.Println("创建邀请:", invite)
|
||||
if err := invite.Create(DB); err != nil {
|
||||
|
@ -1201,7 +1209,7 @@ func StorePromotion(inviteUid, uid uint32, inviteUser, user *User) error {
|
|||
|
||||
if inviteErr == nil {
|
||||
err = NewUserInviteQuerySet(DB).IDEq(inviteNew.ID).GetUpdater().SetCreatedAt(nowTime).
|
||||
SetUserInviteRecordId(inviteRecord.ID).Update()
|
||||
SetUserInviteRecordId(inviteRecord.ID).SetInviteForm(1).Update()
|
||||
if err != nil {
|
||||
logger.Error("from uid update user invite err:", err, inviteUid)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user