修复特定情况下会重复创建邀请关系的问题

This commit is contained in:
徐俊杰 2023-04-13 14:14:11 +08:00
parent a3caa53b86
commit 5fe484ee49

View File

@ -192,16 +192,23 @@ func (a *ArtistInfoUserProvider) BindInviteInvitedAccount(ctx context.Context, i
fmt.Println("被邀请人userId:", invitedUser.ID) fmt.Println("被邀请人userId:", invitedUser.ID)
var data model.Invite var data model.Invite
// 受邀请者只能绑定一个邀请人 // 受邀请者只能绑定一个邀请人
if err = db.DB.Debug().Where("invite_code = ? AND invited_code = ?", in.InviteCode, in.InvitedCode).Find(&data).Error; err != nil { if err = db.DB.Debug().Where("invited_code = ?", in.InvitedCode).Find(&data).Error; err != nil {
return nil, err return nil, err
} }
data.UserId = int32(inviteUser.ID) if data.ID == 0 {
data.InvitedId = int32(invitedUser.ID) //数据不存在则创建
data.InvitedCode = invitedUser.InviteCode data.UserId = int32(inviteUser.ID)
data.InviteCode = inviteUser.InviteCode data.InvitedId = int32(invitedUser.ID)
//如果数据存更新刷新时间 data.InvitedCode = invitedUser.InviteCode
if err = db.DB.Debug().Save(&data).Error; err != nil { data.InviteCode = inviteUser.InviteCode
return nil, err if err = db.DB.Debug().Create(&data).Error; err != nil {
return nil, err
}
} else if data.InviteCode == in.InviteCode {
//如果数据存更新刷新时间
if err = db.DB.Debug().Save(&data).Error; err != nil {
return nil, err
}
} }
// 添加到次数统计 // 添加到次数统计