diff --git a/cmd/internal/controller/artistInfo_user.go b/cmd/internal/controller/artistInfo_user.go index dcf29a3..c109e2d 100644 --- a/cmd/internal/controller/artistInfo_user.go +++ b/cmd/internal/controller/artistInfo_user.go @@ -192,16 +192,23 @@ func (a *ArtistInfoUserProvider) BindInviteInvitedAccount(ctx context.Context, i fmt.Println("被邀请人userId:", invitedUser.ID) 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 } - data.UserId = int32(inviteUser.ID) - data.InvitedId = int32(invitedUser.ID) - data.InvitedCode = invitedUser.InviteCode - data.InviteCode = inviteUser.InviteCode - //如果数据存更新刷新时间 - if err = db.DB.Debug().Save(&data).Error; err != nil { - return nil, err + if data.ID == 0 { + //数据不存在则创建 + data.UserId = int32(inviteUser.ID) + data.InvitedId = int32(invitedUser.ID) + data.InvitedCode = invitedUser.InviteCode + data.InviteCode = inviteUser.InviteCode + 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 + } } // 添加到次数统计