Merge branch 'dev_hm_pay_original' into dev_erp_retail_01
This commit is contained in:
commit
484d1f301e
|
@ -473,6 +473,7 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
if !user.OpenMemberTime.IsZero() {
|
if !user.OpenMemberTime.IsZero() {
|
||||||
spendType = 3
|
spendType = 3
|
||||||
}
|
}
|
||||||
|
isShopAssistantCode := false
|
||||||
expireTime := newTime.AddDate(1, 0, 0)
|
expireTime := newTime.AddDate(1, 0, 0)
|
||||||
if user.MemberExpire.After(newTime) {
|
if user.MemberExpire.After(newTime) {
|
||||||
expireTime = user.MemberExpire.AddDate(1, 0, 0)
|
expireTime = user.MemberExpire.AddDate(1, 0, 0)
|
||||||
|
@ -522,6 +523,7 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
logger.Error("user coupon err:", err)
|
logger.Error("user coupon err:", err)
|
||||||
} else {
|
} else {
|
||||||
if userCoupon.Approach == 1 {
|
if userCoupon.Approach == 1 {
|
||||||
|
isShopAssistantCode = true
|
||||||
err = model.StorePromotion(userCoupon.PromotionalSales, userCoupon.Uid, nil, &user)
|
err = model.StorePromotion(userCoupon.PromotionalSales, userCoupon.Uid, nil, &user)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("store promotion err:", err)
|
logger.Error("store promotion err:", err)
|
||||||
|
@ -568,6 +570,9 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
//if user.MemberLevel != 2 {
|
//if user.MemberLevel != 2 {
|
||||||
// qs = qs.SetMemberOpenTime(newTime).SetMemberLevel(record.MemberLevel)
|
// qs = qs.SetMemberOpenTime(newTime).SetMemberLevel(record.MemberLevel)
|
||||||
//}
|
//}
|
||||||
|
if isShopAssistantCode {
|
||||||
|
qs = qs.SetInviteForm(1)
|
||||||
|
}
|
||||||
qs = qs.SetMemberOpenTime(newTime).SetMemberLevel(record.MemberLevel)
|
qs = qs.SetMemberOpenTime(newTime).SetMemberLevel(record.MemberLevel)
|
||||||
_, err = qs.SetMemberType(2).SetMemberStatus(2).
|
_, err = qs.SetMemberType(2).SetMemberStatus(2).
|
||||||
SetAction(2).SetSpendType(spendType).UpdateNum()
|
SetAction(2).SetSpendType(spendType).UpdateNum()
|
||||||
|
@ -616,11 +621,13 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
UserInviteRecordId: inviteRecordNew.ID,
|
UserInviteRecordId: inviteRecordNew.ID,
|
||||||
FirstInvite: 0,
|
FirstInvite: 0,
|
||||||
}
|
}
|
||||||
|
if isShopAssistantCode {
|
||||||
|
userInviteNew.InviteForm = 1
|
||||||
|
}
|
||||||
err = model.DB.Create(userInviteNew).Error
|
err = model.DB.Create(userInviteNew).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("create invite record err:", err)
|
logger.Error("create invite record err:", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if invite.FromUid != 0 {
|
if invite.FromUid != 0 {
|
||||||
|
|
|
@ -761,6 +761,11 @@ func RefundDeposit(c *gin.Context) {
|
||||||
RespJson(c, status.InternalServerError, nil)
|
RespJson(c, status.InternalServerError, nil)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if user.DepositType == 3 {
|
||||||
|
logger.Error("deposit restraint")
|
||||||
|
RespJson(c, status.DepositRestraint, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
unreturnedOrders, err := model.IsUserHaveUnreturnedOrder(user.Uid)
|
unreturnedOrders, err := model.IsUserHaveUnreturnedOrder(user.Uid)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
|
|
|
@ -107,6 +107,7 @@ const (
|
||||||
UserNotMember = 500524 // 仅开通过会员的用户可兑换
|
UserNotMember = 500524 // 仅开通过会员的用户可兑换
|
||||||
CouponReceived = 500525 // 你已兑换过该券
|
CouponReceived = 500525 // 你已兑换过该券
|
||||||
CouponPromotionalUnused = 500526 // 您有未使用的专属续费券
|
CouponPromotionalUnused = 500526 // 您有未使用的专属续费券
|
||||||
|
DepositRestraint = 500527 // 押金受限
|
||||||
ToastErr = 600 // 报错
|
ToastErr = 600 // 报错
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -179,9 +180,9 @@ var statusDesc = map[int]string{
|
||||||
UserNotMember: "仅开通过会员的用户可兑换",
|
UserNotMember: "仅开通过会员的用户可兑换",
|
||||||
CouponReceived: "你已兑换过该券",
|
CouponReceived: "你已兑换过该券",
|
||||||
CouponPromotionalUnused: "您有未使用的专属续费券",
|
CouponPromotionalUnused: "您有未使用的专属续费券",
|
||||||
|
DepositRestraint: "押金受限",
|
||||||
NotMember: "非会员",
|
NotMember: "非会员",
|
||||||
HadReceiveReward: "已经领取过了",
|
HadReceiveReward: "已经领取过了",
|
||||||
}
|
}
|
||||||
|
|
||||||
var statusMsg = map[int]string{
|
var statusMsg = map[int]string{
|
||||||
|
@ -253,6 +254,7 @@ var statusMsg = map[int]string{
|
||||||
UserNotMember: "仅开通过会员的用户可兑换",
|
UserNotMember: "仅开通过会员的用户可兑换",
|
||||||
CouponReceived: "你已兑换过该券",
|
CouponReceived: "你已兑换过该券",
|
||||||
CouponPromotionalUnused: "您有未使用的专属续费券",
|
CouponPromotionalUnused: "您有未使用的专属续费券",
|
||||||
|
DepositRestraint: "押金受限",
|
||||||
|
|
||||||
AwardOffShelves: "奖品已下架",
|
AwardOffShelves: "奖品已下架",
|
||||||
AwardExchangeOut: "奖品已兑完",
|
AwardExchangeOut: "奖品已兑完",
|
||||||
|
|
|
@ -8039,6 +8039,62 @@ func (qs UserInviteQuerySet) IDNotIn(ID ...uint32) UserInviteQuerySet {
|
||||||
return qs.w(qs.db.Where("id NOT IN (?)", ID))
|
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
|
// Limit is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserInviteQuerySet) Limit(limit int) UserInviteQuerySet {
|
func (qs UserInviteQuerySet) Limit(limit int) UserInviteQuerySet {
|
||||||
|
@ -8297,6 +8353,12 @@ func (qs UserInviteQuerySet) OrderAscByID() UserInviteQuerySet {
|
||||||
return qs.w(qs.db.Order("id ASC"))
|
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
|
// OrderAscByMemberLevel is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserInviteQuerySet) OrderAscByMemberLevel() UserInviteQuerySet {
|
func (qs UserInviteQuerySet) OrderAscByMemberLevel() UserInviteQuerySet {
|
||||||
|
@ -8405,6 +8467,12 @@ func (qs UserInviteQuerySet) OrderDescByID() UserInviteQuerySet {
|
||||||
return qs.w(qs.db.Order("id DESC"))
|
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
|
// OrderDescByMemberLevel is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserInviteQuerySet) OrderDescByMemberLevel() UserInviteQuerySet {
|
func (qs UserInviteQuerySet) OrderDescByMemberLevel() UserInviteQuerySet {
|
||||||
|
@ -8947,6 +9015,13 @@ func (u UserInviteUpdater) SetID(ID uint32) UserInviteUpdater {
|
||||||
return u
|
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
|
// SetMemberLevel is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (u UserInviteUpdater) SetMemberLevel(memberLevel uint32) UserInviteUpdater {
|
func (u UserInviteUpdater) SetMemberLevel(memberLevel uint32) UserInviteUpdater {
|
||||||
|
@ -9077,6 +9152,7 @@ var UserInviteDBSchema = struct {
|
||||||
UserInviteRecordId UserInviteDBSchemaField
|
UserInviteRecordId UserInviteDBSchemaField
|
||||||
FirstInvite UserInviteDBSchemaField
|
FirstInvite UserInviteDBSchemaField
|
||||||
Scan UserInviteDBSchemaField
|
Scan UserInviteDBSchemaField
|
||||||
|
InviteForm UserInviteDBSchemaField
|
||||||
}{
|
}{
|
||||||
|
|
||||||
ID: UserInviteDBSchemaField("id"),
|
ID: UserInviteDBSchemaField("id"),
|
||||||
|
@ -9097,6 +9173,7 @@ var UserInviteDBSchema = struct {
|
||||||
UserInviteRecordId: UserInviteDBSchemaField("user_invite_record_id"),
|
UserInviteRecordId: UserInviteDBSchemaField("user_invite_record_id"),
|
||||||
FirstInvite: UserInviteDBSchemaField("first_invite"),
|
FirstInvite: UserInviteDBSchemaField("first_invite"),
|
||||||
Scan: UserInviteDBSchemaField("scan"),
|
Scan: UserInviteDBSchemaField("scan"),
|
||||||
|
InviteForm: UserInviteDBSchemaField("invite_form"),
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update updates UserInvite fields by primary key
|
// 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,
|
"user_invite_record_id": o.UserInviteRecordId,
|
||||||
"first_invite": o.FirstInvite,
|
"first_invite": o.FirstInvite,
|
||||||
"scan": o.Scan,
|
"scan": o.Scan,
|
||||||
|
"invite_form": o.InviteForm,
|
||||||
}
|
}
|
||||||
u := map[string]interface{}{}
|
u := map[string]interface{}{}
|
||||||
for _, f := range fields {
|
for _, f := range fields {
|
||||||
|
@ -12599,6 +12677,62 @@ func (qs UserQuerySet) DepositNotIn(deposit ...uint32) UserQuerySet {
|
||||||
return qs.w(qs.db.Where("deposit NOT IN (?)", deposit))
|
return qs.w(qs.db.Where("deposit NOT IN (?)", deposit))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DepositTypeEq is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) DepositTypeEq(depositType uint32) UserQuerySet {
|
||||||
|
return qs.w(qs.db.Where("deposit_type = ?", depositType))
|
||||||
|
}
|
||||||
|
|
||||||
|
// DepositTypeGt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) DepositTypeGt(depositType uint32) UserQuerySet {
|
||||||
|
return qs.w(qs.db.Where("deposit_type > ?", depositType))
|
||||||
|
}
|
||||||
|
|
||||||
|
// DepositTypeGte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) DepositTypeGte(depositType uint32) UserQuerySet {
|
||||||
|
return qs.w(qs.db.Where("deposit_type >= ?", depositType))
|
||||||
|
}
|
||||||
|
|
||||||
|
// DepositTypeIn is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) DepositTypeIn(depositType ...uint32) UserQuerySet {
|
||||||
|
if len(depositType) == 0 {
|
||||||
|
qs.db.AddError(errors.New("must at least pass one depositType in DepositTypeIn"))
|
||||||
|
return qs.w(qs.db)
|
||||||
|
}
|
||||||
|
return qs.w(qs.db.Where("deposit_type IN (?)", depositType))
|
||||||
|
}
|
||||||
|
|
||||||
|
// DepositTypeLt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) DepositTypeLt(depositType uint32) UserQuerySet {
|
||||||
|
return qs.w(qs.db.Where("deposit_type < ?", depositType))
|
||||||
|
}
|
||||||
|
|
||||||
|
// DepositTypeLte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) DepositTypeLte(depositType uint32) UserQuerySet {
|
||||||
|
return qs.w(qs.db.Where("deposit_type <= ?", depositType))
|
||||||
|
}
|
||||||
|
|
||||||
|
// DepositTypeNe is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) DepositTypeNe(depositType uint32) UserQuerySet {
|
||||||
|
return qs.w(qs.db.Where("deposit_type != ?", depositType))
|
||||||
|
}
|
||||||
|
|
||||||
|
// DepositTypeNotIn is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) DepositTypeNotIn(depositType ...uint32) UserQuerySet {
|
||||||
|
if len(depositType) == 0 {
|
||||||
|
qs.db.AddError(errors.New("must at least pass one depositType in DepositTypeNotIn"))
|
||||||
|
return qs.w(qs.db)
|
||||||
|
}
|
||||||
|
return qs.w(qs.db.Where("deposit_type NOT IN (?)", depositType))
|
||||||
|
}
|
||||||
|
|
||||||
// GenderEq is an autogenerated method
|
// GenderEq is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserQuerySet) GenderEq(gender uint8) UserQuerySet {
|
func (qs UserQuerySet) GenderEq(gender uint8) UserQuerySet {
|
||||||
|
@ -13287,6 +13421,12 @@ func (qs UserQuerySet) OrderAscByDeposit() UserQuerySet {
|
||||||
return qs.w(qs.db.Order("deposit ASC"))
|
return qs.w(qs.db.Order("deposit ASC"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OrderAscByDepositType is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) OrderAscByDepositType() UserQuerySet {
|
||||||
|
return qs.w(qs.db.Order("deposit_type ASC"))
|
||||||
|
}
|
||||||
|
|
||||||
// OrderAscByGender is an autogenerated method
|
// OrderAscByGender is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserQuerySet) OrderAscByGender() UserQuerySet {
|
func (qs UserQuerySet) OrderAscByGender() UserQuerySet {
|
||||||
|
@ -13497,6 +13637,12 @@ func (qs UserQuerySet) OrderDescByDeposit() UserQuerySet {
|
||||||
return qs.w(qs.db.Order("deposit DESC"))
|
return qs.w(qs.db.Order("deposit DESC"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OrderDescByDepositType is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) OrderDescByDepositType() UserQuerySet {
|
||||||
|
return qs.w(qs.db.Order("deposit_type DESC"))
|
||||||
|
}
|
||||||
|
|
||||||
// OrderDescByGender is an autogenerated method
|
// OrderDescByGender is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserQuerySet) OrderDescByGender() UserQuerySet {
|
func (qs UserQuerySet) OrderDescByGender() UserQuerySet {
|
||||||
|
@ -14564,6 +14710,13 @@ func (u UserUpdater) SetDeposit(deposit uint32) UserUpdater {
|
||||||
return u
|
return u
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetDepositType is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (u UserUpdater) SetDepositType(depositType uint32) UserUpdater {
|
||||||
|
u.fields[string(UserDBSchema.DepositType)] = depositType
|
||||||
|
return u
|
||||||
|
}
|
||||||
|
|
||||||
// SetGender is an autogenerated method
|
// SetGender is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (u UserUpdater) SetGender(gender uint8) UserUpdater {
|
func (u UserUpdater) SetGender(gender uint8) UserUpdater {
|
||||||
|
@ -14809,6 +14962,7 @@ var UserDBSchema = struct {
|
||||||
OpenMemberLevel UserDBSchemaField
|
OpenMemberLevel UserDBSchemaField
|
||||||
Version UserDBSchemaField
|
Version UserDBSchemaField
|
||||||
InviteTime UserDBSchemaField
|
InviteTime UserDBSchemaField
|
||||||
|
DepositType UserDBSchemaField
|
||||||
}{
|
}{
|
||||||
|
|
||||||
ID: UserDBSchemaField("id"),
|
ID: UserDBSchemaField("id"),
|
||||||
|
@ -14846,6 +15000,7 @@ var UserDBSchema = struct {
|
||||||
OpenMemberLevel: UserDBSchemaField("open_member_level"),
|
OpenMemberLevel: UserDBSchemaField("open_member_level"),
|
||||||
Version: UserDBSchemaField("version"),
|
Version: UserDBSchemaField("version"),
|
||||||
InviteTime: UserDBSchemaField("invite_time"),
|
InviteTime: UserDBSchemaField("invite_time"),
|
||||||
|
DepositType: UserDBSchemaField("deposit_type"),
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update updates User fields by primary key
|
// Update updates User fields by primary key
|
||||||
|
@ -14887,6 +15042,7 @@ func (o *User) Update(db *gorm.DB, fields ...UserDBSchemaField) error {
|
||||||
"open_member_level": o.OpenMemberLevel,
|
"open_member_level": o.OpenMemberLevel,
|
||||||
"version": o.Version,
|
"version": o.Version,
|
||||||
"invite_time": o.InviteTime,
|
"invite_time": o.InviteTime,
|
||||||
|
"deposit_type": o.DepositType,
|
||||||
}
|
}
|
||||||
u := map[string]interface{}{}
|
u := map[string]interface{}{}
|
||||||
for _, f := range fields {
|
for _, f := range fields {
|
||||||
|
|
|
@ -165,6 +165,8 @@ func InitTestDB() {
|
||||||
&UserCoupon{},
|
&UserCoupon{},
|
||||||
&ShopperPromotionCode{},
|
&ShopperPromotionCode{},
|
||||||
&UserOpenMemberRecord{},
|
&UserOpenMemberRecord{},
|
||||||
|
&UserInvite{},
|
||||||
|
&User{},
|
||||||
)
|
)
|
||||||
|
|
||||||
fmt.Println("DB init success")
|
fmt.Println("DB init success")
|
||||||
|
@ -213,6 +215,8 @@ func InitDBProd() {
|
||||||
&ShopperPromotionCode{},
|
&ShopperPromotionCode{},
|
||||||
&UserCoupon{},
|
&UserCoupon{},
|
||||||
&UserOpenMemberRecord{},
|
&UserOpenMemberRecord{},
|
||||||
|
&UserInvite{},
|
||||||
|
&User{},
|
||||||
)
|
)
|
||||||
|
|
||||||
if err := DBProd.DB().Ping(); err != nil {
|
if err := DBProd.DB().Ping(); err != nil {
|
||||||
|
@ -2010,13 +2014,14 @@ func TestNameScanInvite(t *testing.T) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 模拟邀请数据
|
// 模拟扫码邀请用户
|
||||||
func TestNewUser(t *testing.T) {
|
func TestNewUser(t *testing.T) {
|
||||||
InitTestDB()
|
InitTestDB()
|
||||||
DB = DBDev
|
DB = DBDev
|
||||||
|
|
||||||
InviteUid := uint32(63192613)
|
InviteUid := uint32(63192613)
|
||||||
Uid := uint32(41186164)
|
Uid := uint32(41186164)
|
||||||
|
|
||||||
user := GetUserByUid(Uid)
|
user := GetUserByUid(Uid)
|
||||||
nowTime := time.Now()
|
nowTime := time.Now()
|
||||||
|
|
||||||
|
|
|
@ -51,9 +51,10 @@ type User struct {
|
||||||
FirstRetailOrder time.Time `json:"first_retail_order"`
|
FirstRetailOrder time.Time `json:"first_retail_order"`
|
||||||
//MemberLevelString string `json:"member_level_string" gorm:"-"` // 会员类型
|
//MemberLevelString string `json:"member_level_string" gorm:"-"` // 会员类型
|
||||||
|
|
||||||
Version uint32 `json:"-"` //
|
Version uint32 `json:"-"` //
|
||||||
UserVm *UserVm `json:"user_vm" gorm:"-"` //
|
UserVm *UserVm `json:"user_vm" gorm:"-"` //
|
||||||
InviteTime time.Time `json:"invite_time"`
|
InviteTime time.Time `json:"invite_time"`
|
||||||
|
DepositType uint32 `json:"deposit_type"` // 押金类型: 3-未充值
|
||||||
//RoleId uint32 `json:"role_id"` // 角色id
|
//RoleId uint32 `json:"role_id"` // 角色id
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -98,11 +99,12 @@ type UserInvite struct {
|
||||||
ToUid uint32 `json:"to_uid"` // 被邀请用户
|
ToUid uint32 `json:"to_uid"` // 被邀请用户
|
||||||
StoreType uint32 `json:"store_type"` // 门店类型 1-自有 2-合作商
|
StoreType uint32 `json:"store_type"` // 门店类型 1-自有 2-合作商
|
||||||
Action uint32 `json:"action"` // 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"` // 会员等级
|
MemberLevel uint32 `json:"member_level"` // 会员等级
|
||||||
UserInviteRecordId uint32 `json:"user_invite_record_id"` // 邀请记录
|
UserInviteRecordId uint32 `json:"user_invite_record_id"` // 邀请记录
|
||||||
FirstInvite uint32 `json:"first_invite"` // 首次
|
FirstInvite uint32 `json:"first_invite"` // 首次
|
||||||
Scan uint32 `json:"scan"` // 扫码
|
Scan uint32 `json:"scan"` // 扫码
|
||||||
|
InviteForm uint32 `json:"invite_form"` // 邀请方式: 1-店员邀请码续费
|
||||||
//InviteTime time.Time `json:"invite_time"` // 邀请时间
|
//InviteTime time.Time `json:"invite_time"` // 邀请时间
|
||||||
ToUser *User `json:"to_user" gorm:"-"`
|
ToUser *User `json:"to_user" gorm:"-"`
|
||||||
|
|
||||||
|
@ -594,6 +596,9 @@ func (m *UserInviteListReq) InviteUserList() (*UserInviteListResp, error) {
|
||||||
if user.CooperativeBusinessId == 1 {
|
if user.CooperativeBusinessId == 1 {
|
||||||
if m.SpendType != 0 {
|
if m.SpendType != 0 {
|
||||||
qs = qs.SpendTypeEq(m.SpendType)
|
qs = qs.SpendTypeEq(m.SpendType)
|
||||||
|
if m.SpendType == 3 {
|
||||||
|
qs = qs.InviteFormEq(1)
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
qs = qs.SpendTypeIn([]uint32{2, 3}...)
|
qs = qs.SpendTypeIn([]uint32{2, 3}...)
|
||||||
}
|
}
|
||||||
|
@ -604,6 +609,9 @@ func (m *UserInviteListReq) InviteUserList() (*UserInviteListResp, error) {
|
||||||
}
|
}
|
||||||
if m.MemberType == 0 && m.SpendType != 0 {
|
if m.MemberType == 0 && m.SpendType != 0 {
|
||||||
qs = qs.SpendTypeEq(m.SpendType)
|
qs = qs.SpendTypeEq(m.SpendType)
|
||||||
|
if m.SpendType == 3 {
|
||||||
|
qs = qs.InviteFormEq(1)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if m.StartTime != "" {
|
if m.StartTime != "" {
|
||||||
parse, err := time.Parse(DateTimeFormat, m.StartTime)
|
parse, err := time.Parse(DateTimeFormat, m.StartTime)
|
||||||
|
@ -1199,6 +1207,7 @@ func StorePromotion(inviteUid, uid uint32, inviteUser, user *User) error {
|
||||||
UserInviteRecordId: inviteRecord.ID,
|
UserInviteRecordId: inviteRecord.ID,
|
||||||
FirstInvite: 0, // TODO
|
FirstInvite: 0, // TODO
|
||||||
Scan: 1,
|
Scan: 1,
|
||||||
|
InviteForm: 1,
|
||||||
}
|
}
|
||||||
fmt.Println("创建邀请:", invite)
|
fmt.Println("创建邀请:", invite)
|
||||||
if err := invite.Create(DB); err != nil {
|
if err := invite.Create(DB); err != nil {
|
||||||
|
@ -1209,7 +1218,7 @@ func StorePromotion(inviteUid, uid uint32, inviteUser, user *User) error {
|
||||||
|
|
||||||
if inviteErr == nil {
|
if inviteErr == nil {
|
||||||
err = NewUserInviteQuerySet(DB).IDEq(inviteNew.ID).GetUpdater().SetCreatedAt(nowTime).
|
err = NewUserInviteQuerySet(DB).IDEq(inviteNew.ID).GetUpdater().SetCreatedAt(nowTime).
|
||||||
SetUserInviteRecordId(inviteRecord.ID).Update()
|
SetUserInviteRecordId(inviteRecord.ID).SetInviteForm(1).Update()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("from uid update user invite err:", err, inviteUid)
|
logger.Error("from uid update user invite err:", err, inviteUid)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user