diff --git a/src/CMSMicroservice.Application/OtpTokenCQ/Commands/VerifyOtpToken/VerifyOtpTokenCommand.cs b/src/CMSMicroservice.Application/OtpTokenCQ/Commands/VerifyOtpToken/VerifyOtpTokenCommand.cs index 9d26463..83771f9 100644 --- a/src/CMSMicroservice.Application/OtpTokenCQ/Commands/VerifyOtpToken/VerifyOtpTokenCommand.cs +++ b/src/CMSMicroservice.Application/OtpTokenCQ/Commands/VerifyOtpToken/VerifyOtpTokenCommand.cs @@ -7,5 +7,7 @@ public record VerifyOtpTokenCommand : IRequest public string Purpose { get; init; } //کد public string Code { get; init; } + //کد معرف والد + public string? ParentReferralCode { get; init; } } \ No newline at end of file diff --git a/src/CMSMicroservice.Application/OtpTokenCQ/Commands/VerifyOtpToken/VerifyOtpTokenCommandHandler.cs b/src/CMSMicroservice.Application/OtpTokenCQ/Commands/VerifyOtpToken/VerifyOtpTokenCommandHandler.cs index 8f22183..9d2bc88 100644 --- a/src/CMSMicroservice.Application/OtpTokenCQ/Commands/VerifyOtpToken/VerifyOtpTokenCommandHandler.cs +++ b/src/CMSMicroservice.Application/OtpTokenCQ/Commands/VerifyOtpToken/VerifyOtpTokenCommandHandler.cs @@ -44,8 +44,16 @@ public class VerifyOtpTokenCommandHandler : IRequestHandler u.Mobile == mobile, cancellationToken); + if (user is null) { + if (request.ParentReferralCode == null) + return new VerifyOtpTokenResponseDto() { Success = false, Message = "کد معرف الزامی است." }; + + var parent = await _context.Users.FirstOrDefaultAsync(u => u.ReferralCode == request.ParentReferralCode, cancellationToken: cancellationToken); + if (parent == null) + return new VerifyOtpTokenResponseDto() { Success = false, Message = "والد وجود ندارد." }; + user = new User { Mobile = mobile, @@ -54,6 +62,7 @@ public class VerifyOtpTokenCommandHandler : IRequestHandlernet7.0 enable enable - 0.0.115 + 0.0.116 None False False diff --git a/src/CMSMicroservice.Protobuf/Protos/otptoken.proto b/src/CMSMicroservice.Protobuf/Protos/otptoken.proto index d02b1c9..0c787e1 100644 --- a/src/CMSMicroservice.Protobuf/Protos/otptoken.proto +++ b/src/CMSMicroservice.Protobuf/Protos/otptoken.proto @@ -50,6 +50,7 @@ message VerifyOtpTokenRequest string mobile = 1; string purpose = 2; string code = 3; + google.protobuf.StringValue parent_referral_code = 4; } message VerifyOtpTokenResponse {