fix:多次邀请 数据统计
This commit is contained in:
parent
581633ebe6
commit
77fa2be613
|
@ -64,7 +64,7 @@ func AuthLogin(c *gin.Context) {
|
||||||
//}
|
//}
|
||||||
fmt.Println("InviteUid:", req.InviteUid)
|
fmt.Println("InviteUid:", req.InviteUid)
|
||||||
|
|
||||||
now := time.Now()
|
nowTime := time.Now()
|
||||||
// 不存在则创建 新用户
|
// 不存在则创建 新用户
|
||||||
//var invite *model.UserInvite
|
//var invite *model.UserInvite
|
||||||
//if req.InviteUid != 0 && req.InviteUid != user.Uid && user.StoreId == 0 {
|
//if req.InviteUid != 0 && req.InviteUid != user.Uid && user.StoreId == 0 {
|
||||||
|
@ -81,6 +81,31 @@ func AuthLogin(c *gin.Context) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if inviteUser.UserType == 2 && user.Uid != 0 {
|
if inviteUser.UserType == 2 && user.Uid != 0 {
|
||||||
|
exist, err := model.QueryRecordExist(
|
||||||
|
fmt.Sprintf("SELECT * FROM user_invite_record WHERE to_uid = %d AND from_uid = %d ",
|
||||||
|
user.Uid, req.InviteUid))
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("query err:", err)
|
||||||
|
RespJson(c, status.InternalServerError, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if !exist {
|
||||||
|
firstInviteRecord := &model.UserInviteRecord{
|
||||||
|
ToUid: user.Uid,
|
||||||
|
FromUid: req.InviteUid,
|
||||||
|
Action: 2,
|
||||||
|
SpendType: 1,
|
||||||
|
MemberLevel: 0,
|
||||||
|
First: 1,
|
||||||
|
Scan: 1,
|
||||||
|
ActionTime: nowTime,
|
||||||
|
}
|
||||||
|
err = model.DB.Create(firstInviteRecord).Error
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("create user invite record err:", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
inviteRecord := &model.UserInviteRecord{
|
inviteRecord := &model.UserInviteRecord{
|
||||||
ToUid: user.Uid,
|
ToUid: user.Uid,
|
||||||
FromUid: req.InviteUid,
|
FromUid: req.InviteUid,
|
||||||
|
@ -89,7 +114,7 @@ func AuthLogin(c *gin.Context) {
|
||||||
MemberLevel: 0,
|
MemberLevel: 0,
|
||||||
First: 0,
|
First: 0,
|
||||||
Scan: 1,
|
Scan: 1,
|
||||||
ActionTime: now,
|
ActionTime: nowTime,
|
||||||
}
|
}
|
||||||
err = model.DB.Create(inviteRecord).Error
|
err = model.DB.Create(inviteRecord).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -102,6 +127,8 @@ func AuthLogin(c *gin.Context) {
|
||||||
if inviteErr != nil && inviteErr != model.RecordNotFound {
|
if inviteErr != nil && inviteErr != model.RecordNotFound {
|
||||||
logger.Error("user invite err:", err)
|
logger.Error("user invite err:", err)
|
||||||
}
|
}
|
||||||
|
fmt.Println("inviteErr:", inviteErr)
|
||||||
|
fmt.Printf("inviteNew:%#v \n", inviteNew)
|
||||||
if inviteErr == model.RecordNotFound {
|
if inviteErr == model.RecordNotFound {
|
||||||
memberLevel := user.MemberLevel
|
memberLevel := user.MemberLevel
|
||||||
if memberLevel == 0 {
|
if memberLevel == 0 {
|
||||||
|
@ -118,10 +145,10 @@ func AuthLogin(c *gin.Context) {
|
||||||
Action: 1,
|
Action: 1,
|
||||||
SpendType: 1,
|
SpendType: 1,
|
||||||
UserInviteRecordId: inviteRecord.ID,
|
UserInviteRecordId: inviteRecord.ID,
|
||||||
FirstInvite: 1,
|
FirstInvite: 0, // TODO
|
||||||
Scan: 1,
|
Scan: 1,
|
||||||
}
|
}
|
||||||
|
fmt.Println("创建邀请:", invite)
|
||||||
//count, err := model.NewUserInviteQuerySet(model.DB).FromUidEq(req.InviteUid).ToUidEq(user.Uid).Count()
|
//count, err := model.NewUserInviteQuerySet(model.DB).FromUidEq(req.InviteUid).ToUidEq(user.Uid).Count()
|
||||||
//if err != nil {
|
//if err != nil {
|
||||||
// logger.Error(err)
|
// logger.Error(err)
|
||||||
|
@ -138,8 +165,10 @@ func AuthLogin(c *gin.Context) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if inviteErr == nil {
|
if inviteErr == nil {
|
||||||
err = model.NewUserInviteQuerySet(model.DB).IDEq(inviteNew.ID).GetUpdater().
|
//err = model.NewUserInviteQuerySet(model.DB).IDEq(inviteNew.ID).GetUpdater().
|
||||||
SetFromUid(req.InviteUid).SetStoreId(inviteUser.StoreId).SetUserInviteRecordId(inviteRecord.ID).Update()
|
// SetFromUid(req.InviteUid).SetStoreId(inviteUser.StoreId).SetUserInviteRecordId(inviteRecord.ID).Update()
|
||||||
|
err = model.NewUserInviteQuerySet(model.DB).IDEq(inviteNew.ID).GetUpdater().SetCreatedAt(nowTime).
|
||||||
|
SetUserInviteRecordId(inviteRecord.ID).Update()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("from uid update user invite err:", err, req.InviteUid)
|
logger.Error("from uid update user invite err:", err, req.InviteUid)
|
||||||
}
|
}
|
||||||
|
@ -151,7 +180,7 @@ func AuthLogin(c *gin.Context) {
|
||||||
user = model.User{
|
user = model.User{
|
||||||
WxOpenID: resp.OpenID,
|
WxOpenID: resp.OpenID,
|
||||||
WxUnionID: resp.UnionID,
|
WxUnionID: resp.UnionID,
|
||||||
LastLoginAt: now,
|
LastLoginAt: nowTime,
|
||||||
MemberLevel: 1,
|
MemberLevel: 1,
|
||||||
//Notify: common.Yes,
|
//Notify: common.Yes,
|
||||||
}
|
}
|
||||||
|
@ -167,7 +196,7 @@ func AuthLogin(c *gin.Context) {
|
||||||
MemberLevel: 0,
|
MemberLevel: 0,
|
||||||
First: 1,
|
First: 1,
|
||||||
Scan: 1,
|
Scan: 1,
|
||||||
ActionTime: now,
|
ActionTime: nowTime,
|
||||||
}
|
}
|
||||||
err = model.DB.Create(inviteRecordFirst).Error
|
err = model.DB.Create(inviteRecordFirst).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -182,7 +211,7 @@ func AuthLogin(c *gin.Context) {
|
||||||
MemberLevel: 0,
|
MemberLevel: 0,
|
||||||
First: 0,
|
First: 0,
|
||||||
Scan: 1,
|
Scan: 1,
|
||||||
ActionTime: now,
|
ActionTime: nowTime,
|
||||||
}
|
}
|
||||||
err = model.DB.Create(inviteRecord).Error
|
err = model.DB.Create(inviteRecord).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -265,7 +294,7 @@ func AuthLogin(c *gin.Context) {
|
||||||
"refresh_token": refreshToken.Token,
|
"refresh_token": refreshToken.Token,
|
||||||
"refresh_expire": config.AppConfig.JwtUserRefreshExpire,
|
"refresh_expire": config.AppConfig.JwtUserRefreshExpire,
|
||||||
"uid": user.Uid,
|
"uid": user.Uid,
|
||||||
"access_created_at": now,
|
"access_created_at": nowTime,
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -327,7 +356,7 @@ func AuthLogin(c *gin.Context) {
|
||||||
"refresh_token": refreshToken.Token,
|
"refresh_token": refreshToken.Token,
|
||||||
"refresh_expire": config.AppConfig.JwtUserRefreshExpire,
|
"refresh_expire": config.AppConfig.JwtUserRefreshExpire,
|
||||||
"uid": user.Uid,
|
"uid": user.Uid,
|
||||||
"access_created_at": now,
|
"access_created_at": nowTime,
|
||||||
//"is_new": isNew,
|
//"is_new": isNew,
|
||||||
//"invite_from_code": inviteCode,
|
//"invite_from_code": inviteCode,
|
||||||
})
|
})
|
||||||
|
|
|
@ -490,7 +490,8 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var invite model.UserInvite
|
var invite model.UserInvite
|
||||||
err = model.NewUserInviteQuerySet(model.DB).ToUidEq(record.Uid).OrderDescByID().Limit(1).One(&invite)
|
//err = model.NewUserInviteQuerySet(model.DB).ToUidEq(record.Uid).OrderDescByID().Limit(1).One(&invite)
|
||||||
|
err = model.NewUserInviteQuerySet(model.DB).ToUidEq(record.Uid).OrderDescByCreatedAt().Limit(1).One(&invite)
|
||||||
if err != nil && err != model.RecordNotFound {
|
if err != nil && err != model.RecordNotFound {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -609,6 +609,7 @@ func UpgradeMemberInfo(c *gin.Context) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
totalFee = (totalFee / 100) * 100
|
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)
|
||||||
|
|
|
@ -7097,6 +7097,62 @@ func (qs UserInviteQuerySet) DeletedAtNe(deletedAt time.Time) UserInviteQuerySet
|
||||||
return qs.w(qs.db.Where("deleted_at != ?", deletedAt))
|
return qs.w(qs.db.Where("deleted_at != ?", deletedAt))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FirstInviteEq is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) FirstInviteEq(firstInvite uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("first_invite = ?", firstInvite))
|
||||||
|
}
|
||||||
|
|
||||||
|
// FirstInviteGt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) FirstInviteGt(firstInvite uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("first_invite > ?", firstInvite))
|
||||||
|
}
|
||||||
|
|
||||||
|
// FirstInviteGte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) FirstInviteGte(firstInvite uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("first_invite >= ?", firstInvite))
|
||||||
|
}
|
||||||
|
|
||||||
|
// FirstInviteIn is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) FirstInviteIn(firstInvite ...uint32) UserInviteQuerySet {
|
||||||
|
if len(firstInvite) == 0 {
|
||||||
|
qs.db.AddError(errors.New("must at least pass one firstInvite in FirstInviteIn"))
|
||||||
|
return qs.w(qs.db)
|
||||||
|
}
|
||||||
|
return qs.w(qs.db.Where("first_invite IN (?)", firstInvite))
|
||||||
|
}
|
||||||
|
|
||||||
|
// FirstInviteLt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) FirstInviteLt(firstInvite uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("first_invite < ?", firstInvite))
|
||||||
|
}
|
||||||
|
|
||||||
|
// FirstInviteLte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) FirstInviteLte(firstInvite uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("first_invite <= ?", firstInvite))
|
||||||
|
}
|
||||||
|
|
||||||
|
// FirstInviteNe is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) FirstInviteNe(firstInvite uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("first_invite != ?", firstInvite))
|
||||||
|
}
|
||||||
|
|
||||||
|
// FirstInviteNotIn is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) FirstInviteNotIn(firstInvite ...uint32) UserInviteQuerySet {
|
||||||
|
if len(firstInvite) == 0 {
|
||||||
|
qs.db.AddError(errors.New("must at least pass one firstInvite in FirstInviteNotIn"))
|
||||||
|
return qs.w(qs.db)
|
||||||
|
}
|
||||||
|
return qs.w(qs.db.Where("first_invite NOT IN (?)", firstInvite))
|
||||||
|
}
|
||||||
|
|
||||||
// FromUidEq is an autogenerated method
|
// FromUidEq is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserInviteQuerySet) FromUidEq(fromUid uint32) UserInviteQuerySet {
|
func (qs UserInviteQuerySet) FromUidEq(fromUid uint32) UserInviteQuerySet {
|
||||||
|
@ -7461,6 +7517,12 @@ func (qs UserInviteQuerySet) OrderAscByDeletedAt() UserInviteQuerySet {
|
||||||
return qs.w(qs.db.Order("deleted_at ASC"))
|
return qs.w(qs.db.Order("deleted_at ASC"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OrderAscByFirstInvite is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) OrderAscByFirstInvite() UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Order("first_invite ASC"))
|
||||||
|
}
|
||||||
|
|
||||||
// OrderAscByFromUid is an autogenerated method
|
// OrderAscByFromUid is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserInviteQuerySet) OrderAscByFromUid() UserInviteQuerySet {
|
func (qs UserInviteQuerySet) OrderAscByFromUid() UserInviteQuerySet {
|
||||||
|
@ -7497,6 +7559,12 @@ func (qs UserInviteQuerySet) OrderAscByMemberType() UserInviteQuerySet {
|
||||||
return qs.w(qs.db.Order("member_type ASC"))
|
return qs.w(qs.db.Order("member_type ASC"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OrderAscByScan is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) OrderAscByScan() UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Order("scan ASC"))
|
||||||
|
}
|
||||||
|
|
||||||
// OrderAscBySpendType is an autogenerated method
|
// OrderAscBySpendType is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserInviteQuerySet) OrderAscBySpendType() UserInviteQuerySet {
|
func (qs UserInviteQuerySet) OrderAscBySpendType() UserInviteQuerySet {
|
||||||
|
@ -7557,6 +7625,12 @@ func (qs UserInviteQuerySet) OrderDescByDeletedAt() UserInviteQuerySet {
|
||||||
return qs.w(qs.db.Order("deleted_at DESC"))
|
return qs.w(qs.db.Order("deleted_at DESC"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OrderDescByFirstInvite is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) OrderDescByFirstInvite() UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Order("first_invite DESC"))
|
||||||
|
}
|
||||||
|
|
||||||
// OrderDescByFromUid is an autogenerated method
|
// OrderDescByFromUid is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserInviteQuerySet) OrderDescByFromUid() UserInviteQuerySet {
|
func (qs UserInviteQuerySet) OrderDescByFromUid() UserInviteQuerySet {
|
||||||
|
@ -7593,6 +7667,12 @@ func (qs UserInviteQuerySet) OrderDescByMemberType() UserInviteQuerySet {
|
||||||
return qs.w(qs.db.Order("member_type DESC"))
|
return qs.w(qs.db.Order("member_type DESC"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OrderDescByScan is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) OrderDescByScan() UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Order("scan DESC"))
|
||||||
|
}
|
||||||
|
|
||||||
// OrderDescBySpendType is an autogenerated method
|
// OrderDescBySpendType is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserInviteQuerySet) OrderDescBySpendType() UserInviteQuerySet {
|
func (qs UserInviteQuerySet) OrderDescBySpendType() UserInviteQuerySet {
|
||||||
|
@ -7635,10 +7715,60 @@ func (qs UserInviteQuerySet) OrderDescByUserType() UserInviteQuerySet {
|
||||||
return qs.w(qs.db.Order("user_type DESC"))
|
return qs.w(qs.db.Order("user_type DESC"))
|
||||||
}
|
}
|
||||||
|
|
||||||
// PreloadToUser is an autogenerated method
|
// ScanEq is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserInviteQuerySet) PreloadToUser() UserInviteQuerySet {
|
func (qs UserInviteQuerySet) ScanEq(scan uint32) UserInviteQuerySet {
|
||||||
return qs.w(qs.db.Preload("ToUser"))
|
return qs.w(qs.db.Where("scan = ?", scan))
|
||||||
|
}
|
||||||
|
|
||||||
|
// ScanGt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) ScanGt(scan uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("scan > ?", scan))
|
||||||
|
}
|
||||||
|
|
||||||
|
// ScanGte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) ScanGte(scan uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("scan >= ?", scan))
|
||||||
|
}
|
||||||
|
|
||||||
|
// ScanIn is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) ScanIn(scan ...uint32) UserInviteQuerySet {
|
||||||
|
if len(scan) == 0 {
|
||||||
|
qs.db.AddError(errors.New("must at least pass one scan in ScanIn"))
|
||||||
|
return qs.w(qs.db)
|
||||||
|
}
|
||||||
|
return qs.w(qs.db.Where("scan IN (?)", scan))
|
||||||
|
}
|
||||||
|
|
||||||
|
// ScanLt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) ScanLt(scan uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("scan < ?", scan))
|
||||||
|
}
|
||||||
|
|
||||||
|
// ScanLte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) ScanLte(scan uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("scan <= ?", scan))
|
||||||
|
}
|
||||||
|
|
||||||
|
// ScanNe is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) ScanNe(scan uint32) UserInviteQuerySet {
|
||||||
|
return qs.w(qs.db.Where("scan != ?", scan))
|
||||||
|
}
|
||||||
|
|
||||||
|
// ScanNotIn is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserInviteQuerySet) ScanNotIn(scan ...uint32) UserInviteQuerySet {
|
||||||
|
if len(scan) == 0 {
|
||||||
|
qs.db.AddError(errors.New("must at least pass one scan in ScanNotIn"))
|
||||||
|
return qs.w(qs.db)
|
||||||
|
}
|
||||||
|
return qs.w(qs.db.Where("scan NOT IN (?)", scan))
|
||||||
}
|
}
|
||||||
|
|
||||||
// SpendTypeEq is an autogenerated method
|
// SpendTypeEq is an autogenerated method
|
||||||
|
@ -7865,18 +7995,6 @@ func (qs UserInviteQuerySet) ToUidNotIn(toUid ...uint32) UserInviteQuerySet {
|
||||||
return qs.w(qs.db.Where("to_uid NOT IN (?)", toUid))
|
return qs.w(qs.db.Where("to_uid NOT IN (?)", toUid))
|
||||||
}
|
}
|
||||||
|
|
||||||
// ToUserIsNotNull is an autogenerated method
|
|
||||||
// nolint: dupl
|
|
||||||
func (qs UserInviteQuerySet) ToUserIsNotNull() UserInviteQuerySet {
|
|
||||||
return qs.w(qs.db.Where("to_user IS NOT NULL"))
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToUserIsNull is an autogenerated method
|
|
||||||
// nolint: dupl
|
|
||||||
func (qs UserInviteQuerySet) ToUserIsNull() UserInviteQuerySet {
|
|
||||||
return qs.w(qs.db.Where("to_user IS NULL"))
|
|
||||||
}
|
|
||||||
|
|
||||||
// UpdatedAtEq is an autogenerated method
|
// UpdatedAtEq is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserInviteQuerySet) UpdatedAtEq(updatedAt time.Time) UserInviteQuerySet {
|
func (qs UserInviteQuerySet) UpdatedAtEq(updatedAt time.Time) UserInviteQuerySet {
|
||||||
|
@ -8046,6 +8164,13 @@ func (u UserInviteUpdater) SetDeletedAt(deletedAt *time.Time) UserInviteUpdater
|
||||||
return u
|
return u
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetFirstInvite is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (u UserInviteUpdater) SetFirstInvite(firstInvite uint32) UserInviteUpdater {
|
||||||
|
u.fields[string(UserInviteDBSchema.FirstInvite)] = firstInvite
|
||||||
|
return u
|
||||||
|
}
|
||||||
|
|
||||||
// SetFromUid is an autogenerated method
|
// SetFromUid is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (u UserInviteUpdater) SetFromUid(fromUid uint32) UserInviteUpdater {
|
func (u UserInviteUpdater) SetFromUid(fromUid uint32) UserInviteUpdater {
|
||||||
|
@ -8088,6 +8213,13 @@ func (u UserInviteUpdater) SetMemberType(memberType uint32) UserInviteUpdater {
|
||||||
return u
|
return u
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetScan is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (u UserInviteUpdater) SetScan(scan uint32) UserInviteUpdater {
|
||||||
|
u.fields[string(UserInviteDBSchema.Scan)] = scan
|
||||||
|
return u
|
||||||
|
}
|
||||||
|
|
||||||
// SetSpendType is an autogenerated method
|
// SetSpendType is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (u UserInviteUpdater) SetSpendType(spendType uint32) UserInviteUpdater {
|
func (u UserInviteUpdater) SetSpendType(spendType uint32) UserInviteUpdater {
|
||||||
|
@ -8181,7 +8313,8 @@ var UserInviteDBSchema = struct {
|
||||||
SpendType UserInviteDBSchemaField
|
SpendType UserInviteDBSchemaField
|
||||||
MemberLevel UserInviteDBSchemaField
|
MemberLevel UserInviteDBSchemaField
|
||||||
UserInviteRecordId UserInviteDBSchemaField
|
UserInviteRecordId UserInviteDBSchemaField
|
||||||
ToUser UserInviteDBSchemaField
|
FirstInvite UserInviteDBSchemaField
|
||||||
|
Scan UserInviteDBSchemaField
|
||||||
}{
|
}{
|
||||||
|
|
||||||
ID: UserInviteDBSchemaField("id"),
|
ID: UserInviteDBSchemaField("id"),
|
||||||
|
@ -8200,7 +8333,8 @@ var UserInviteDBSchema = struct {
|
||||||
SpendType: UserInviteDBSchemaField("spend_type"),
|
SpendType: UserInviteDBSchemaField("spend_type"),
|
||||||
MemberLevel: UserInviteDBSchemaField("member_level"),
|
MemberLevel: UserInviteDBSchemaField("member_level"),
|
||||||
UserInviteRecordId: UserInviteDBSchemaField("user_invite_record_id"),
|
UserInviteRecordId: UserInviteDBSchemaField("user_invite_record_id"),
|
||||||
ToUser: UserInviteDBSchemaField("to_user"),
|
FirstInvite: UserInviteDBSchemaField("first_invite"),
|
||||||
|
Scan: UserInviteDBSchemaField("scan"),
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update updates UserInvite fields by primary key
|
// Update updates UserInvite fields by primary key
|
||||||
|
@ -8223,7 +8357,8 @@ func (o *UserInvite) Update(db *gorm.DB, fields ...UserInviteDBSchemaField) erro
|
||||||
"spend_type": o.SpendType,
|
"spend_type": o.SpendType,
|
||||||
"member_level": o.MemberLevel,
|
"member_level": o.MemberLevel,
|
||||||
"user_invite_record_id": o.UserInviteRecordId,
|
"user_invite_record_id": o.UserInviteRecordId,
|
||||||
"to_user": o.ToUser,
|
"first_invite": o.FirstInvite,
|
||||||
|
"scan": o.Scan,
|
||||||
}
|
}
|
||||||
u := map[string]interface{}{}
|
u := map[string]interface{}{}
|
||||||
for _, f := range fields {
|
for _, f := range fields {
|
||||||
|
|
|
@ -178,8 +178,11 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
|
||||||
//qs = qs.IDIn(gameIds...)
|
//qs = qs.IDIn(gameIds...)
|
||||||
|
|
||||||
var cardStocks []GameCardGoodsStock
|
var cardStocks []GameCardGoodsStock
|
||||||
err := NewGameCardGoodsStockQuerySet(DB).StoreIdEq(uint64(storeId)).RentStockGt(0).
|
//err := NewGameCardGoodsStockQuerySet(DB).StoreIdEq(uint64(storeId)).RentStockGt(0).
|
||||||
OrderDescByRentStock().All(&cardStocks)
|
// OrderDescByRentStock().All(&cardStocks)
|
||||||
|
//DB.Table("game_card_goods_stock").Joins("")
|
||||||
|
cardStockSql1 := fmt.Sprintf("SELECT a.* FROM game_card_goods_stock a LEFT JOIN game_card b ON a.game_card_id=b.id WHERE a.store_id=%d AND a.rent_stock>0 ORDER BY b.id DESC;", storeId)
|
||||||
|
err = DB.Raw(cardStockSql1).Scan(&cardStocks).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("GetGameIdByType err:", err)
|
logger.Error("GetGameIdByType err:", err)
|
||||||
return cards, 0, err
|
return cards, 0, err
|
||||||
|
@ -193,8 +196,10 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
|
||||||
}
|
}
|
||||||
|
|
||||||
cardStocks = []GameCardGoodsStock{}
|
cardStocks = []GameCardGoodsStock{}
|
||||||
err = NewGameCardGoodsStockQuerySet(DB).StoreIdNe(uint64(storeId)).RentStockGt(0).
|
//err = NewGameCardGoodsStockQuerySet(DB).StoreIdNe(uint64(storeId)).RentStockGt(0).
|
||||||
OrderDescByRentStock().All(&cardStocks)
|
// OrderDescByRentStock().All(&cardStocks)
|
||||||
|
cardStockSql2 := fmt.Sprintf("SELECT a.* FROM game_card_goods_stock a LEFT JOIN game_card b ON a.game_card_id=b.id WHERE a.store_id!=%d AND a.rent_stock>0 ORDER BY b.id DESC;", storeId)
|
||||||
|
err = DB.Raw(cardStockSql2).Scan(&cardStocks).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("GetGameIdByType err:", err)
|
logger.Error("GetGameIdByType err:", err)
|
||||||
return cards, 0, err
|
return cards, 0, err
|
||||||
|
@ -208,7 +213,9 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
|
||||||
}
|
}
|
||||||
|
|
||||||
cardStocks = []GameCardGoodsStock{}
|
cardStocks = []GameCardGoodsStock{}
|
||||||
err = NewGameCardGoodsStockQuerySet(DB).RentStockEq(0).All(&cardStocks)
|
//err = NewGameCardGoodsStockQuerySet(DB).RentStockEq(0).All(&cardStocks)
|
||||||
|
cardStockSql3 := fmt.Sprintf("SELECT a.* FROM game_card_goods_stock a LEFT JOIN game_card b ON a.game_card_id=b.id WHERE a.rent_stock=0 ORDER BY b.id DESC;")
|
||||||
|
err = DB.Raw(cardStockSql3).Scan(&cardStocks).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("GetGameIdByType err:", err)
|
logger.Error("GetGameIdByType err:", err)
|
||||||
return cards, 0, err
|
return cards, 0, err
|
||||||
|
@ -226,8 +233,10 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
var cardStocks []GameCardGoodsStock
|
var cardStocks []GameCardGoodsStock
|
||||||
err := NewGameCardGoodsStockQuerySet(DB).RentStockGt(0).
|
//err := NewGameCardGoodsStockQuerySet(DB).RentStockGt(0).
|
||||||
OrderDescByRentStock().All(&cardStocks)
|
// OrderDescByRentStock().All(&cardStocks)
|
||||||
|
cardStockSql1 := fmt.Sprintf("SELECT a.* FROM game_card_goods_stock a LEFT JOIN game_card b ON a.game_card_id=b.id WHERE a.rent_stock>0 ORDER BY b.id DESC;")
|
||||||
|
err = DB.Raw(cardStockSql1).Scan(&cardStocks).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("GetGameIdByType err:", err)
|
logger.Error("GetGameIdByType err:", err)
|
||||||
return cards, 0, err
|
return cards, 0, err
|
||||||
|
@ -241,7 +250,9 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
|
||||||
}
|
}
|
||||||
|
|
||||||
cardStocks = []GameCardGoodsStock{}
|
cardStocks = []GameCardGoodsStock{}
|
||||||
err = NewGameCardGoodsStockQuerySet(DB).RentStockEq(0).All(&cardStocks)
|
//err = NewGameCardGoodsStockQuerySet(DB).RentStockEq(0).All(&cardStocks)
|
||||||
|
cardStockSql2 := fmt.Sprintf("SELECT a.* FROM game_card_goods_stock a LEFT JOIN game_card b ON a.game_card_id=b.id WHERE a.rent_stock=0 ORDER BY b.id DESC;")
|
||||||
|
err = DB.Raw(cardStockSql2).Scan(&cardStocks).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("GetGameIdByType err:", err)
|
logger.Error("GetGameIdByType err:", err)
|
||||||
return cards, 0, err
|
return cards, 0, err
|
||||||
|
|
|
@ -141,19 +141,6 @@ func InitTestDB() {
|
||||||
&GameCard{},
|
&GameCard{},
|
||||||
&CooperativeMemberPromotionStoreDay{},
|
&CooperativeMemberPromotionStoreDay{},
|
||||||
|
|
||||||
//&CooperativeMemberDeduct{},
|
|
||||||
//&CooperativeAssistantMemberDeduct{},
|
|
||||||
//&CooperativeDeductSettle{},
|
|
||||||
//&CooperativeMemberPromotion{},
|
|
||||||
//&CooperativeMemberPromotion{},
|
|
||||||
//&CooperativeMemberPromotionDay{},
|
|
||||||
//&CooperativeMemberDeduct{},
|
|
||||||
//&CooperativeAssistantMemberDeduct{},
|
|
||||||
//&CooperativeMemberPromotion{},
|
|
||||||
//&CooperativeMemberPromotionStore{},
|
|
||||||
//&CooperativeMemberPromotionDay{},
|
|
||||||
//&CooperativeMemberPromotionStoreDay{},
|
|
||||||
//&CooperativeDeductSettle{},
|
|
||||||
&UserInvite{},
|
&UserInvite{},
|
||||||
&UserInviteRecord{},
|
&UserInviteRecord{},
|
||||||
&CooperativeMemberPromotionStore{},
|
&CooperativeMemberPromotionStore{},
|
||||||
|
@ -260,11 +247,29 @@ func InitDBProd() {
|
||||||
//&UserOpenMemberRecord{},
|
//&UserOpenMemberRecord{},
|
||||||
//&HomeCarousel{},
|
//&HomeCarousel{},
|
||||||
//&UserRenewalLog{},
|
//&UserRenewalLog{},
|
||||||
&GameCard{},
|
//&GameCard{},
|
||||||
&CooperativeMemberPromotion{},
|
//&CooperativeMemberPromotion{},
|
||||||
|
//&CooperativeMemberPromotionStore{},
|
||||||
|
//&CooperativeMemberPromotionDay{},
|
||||||
|
//&CooperativeMemberPromotionStoreDay{},
|
||||||
|
|
||||||
|
&User{},
|
||||||
|
&UserOpenMemberRecord{},
|
||||||
|
&CooperativeMemberDeduct{},
|
||||||
|
&CooperativeAssistantMemberDeduct{},
|
||||||
|
&UserMemberRecord{},
|
||||||
|
&CooperativeDeductSettle{},
|
||||||
&CooperativeMemberPromotionStore{},
|
&CooperativeMemberPromotionStore{},
|
||||||
&CooperativeMemberPromotionDay{},
|
&CooperativeMemberPromotionDay{},
|
||||||
|
&InviteMemberReport{},
|
||||||
|
&MemberStatisticDaily{},
|
||||||
|
&CooperativeMemberPromotion{},
|
||||||
|
&GameCard{},
|
||||||
&CooperativeMemberPromotionStoreDay{},
|
&CooperativeMemberPromotionStoreDay{},
|
||||||
|
|
||||||
|
&UserInvite{},
|
||||||
|
&UserInviteRecord{},
|
||||||
|
&CooperativeMemberPromotionStore{},
|
||||||
)
|
)
|
||||||
|
|
||||||
if err := DBProd.DB().Ping(); err != nil {
|
if err := DBProd.DB().Ping(); err != nil {
|
||||||
|
|
|
@ -88,8 +88,8 @@ type UserInvite struct {
|
||||||
Model
|
Model
|
||||||
|
|
||||||
FromUid uint32 `json:"from_uid"` // 邀请用户id
|
FromUid uint32 `json:"from_uid"` // 邀请用户id
|
||||||
UserType uint32 `json:"user_type"` // 用户类型 1-普通用户
|
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-已取消会员
|
||||||
|
@ -101,7 +101,8 @@ type UserInvite struct {
|
||||||
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"` // 扫码
|
||||||
ToUser *User `json:"to_user" gorm:"-"`
|
//InviteTime time.Time `json:"invite_time"` // 邀请时间
|
||||||
|
ToUser *User `json:"to_user" gorm:"-"`
|
||||||
|
|
||||||
//ToUser *UserLess `json:"to_user" gorm:"-"` //
|
//ToUser *UserLess `json:"to_user" gorm:"-"` //
|
||||||
}
|
}
|
||||||
|
@ -552,6 +553,11 @@ func (m *UserInviteListReq) InviteUserList() (*UserInviteListResp, error) {
|
||||||
qs := NewUserInviteQuerySet(DB).FromUidEq(m.Uid)
|
qs := NewUserInviteQuerySet(DB).FromUidEq(m.Uid)
|
||||||
if m.MemberType != 0 {
|
if m.MemberType != 0 {
|
||||||
qs = qs.MemberTypeEq(uint32(m.MemberType))
|
qs = qs.MemberTypeEq(uint32(m.MemberType))
|
||||||
|
if m.MemberType == 2 {
|
||||||
|
//qs = qs.FirstInviteNe(1).SpendTypeEq(2)
|
||||||
|
//qs = qs.SpendTypeEq(2)
|
||||||
|
qs = qs.SpendTypeNotIn([]uint32{3, 4}...)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if m.StartTime != "" {
|
if m.StartTime != "" {
|
||||||
parse, err := time.Parse(DateTimeFormat, m.StartTime)
|
parse, err := time.Parse(DateTimeFormat, m.StartTime)
|
||||||
|
@ -588,7 +594,7 @@ 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.OrderDescByID().Offset(page * m.PageSize).Limit(m.PageSize).OrderDescByMemberOpenTime().All(&invites)
|
err = qs.OrderDescByCreatedAt().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
|
||||||
|
|
|
@ -154,7 +154,6 @@ func ConfigAppRouter(r gin.IRouter) {
|
||||||
article.POST("collect/add", controller.ArticleCollectAdd) //
|
article.POST("collect/add", controller.ArticleCollectAdd) //
|
||||||
article.POST("collect/cancel", controller.ArticleCollectCancel) //
|
article.POST("collect/cancel", controller.ArticleCollectCancel) //
|
||||||
article.POST("collect/list", controller.ArticleCollectList) //
|
article.POST("collect/list", controller.ArticleCollectList) //
|
||||||
|
|
||||||
}
|
}
|
||||||
activity := api.Group("activity")
|
activity := api.Group("activity")
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue
Block a user