You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
344 lines
24 KiB
344 lines
24 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[JsonRx_Proc_UserRegistration_V2] Script Date: 6/21/2024 11:13:03 AM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[JsonRx_Proc_UserRegistration_V2](
|
|
@language VARCHAR(100) = 'en'
|
|
,@customerId VARCHAR(100) = NULL
|
|
,@username VARCHAR(100) = NULL
|
|
,@flag VARCHAR(100) = NULL
|
|
,@password VARCHAR(100) = NULL
|
|
,@txnPin VARCHAR(100) = NULL
|
|
,@idNumber VARCHAR(100) = NULL
|
|
,@clientId VARCHAR(100) = NULL
|
|
,@IMEI VARCHAR(100) = NULL
|
|
,@appVersion VARCHAR(100) = NULL
|
|
,@phoneBrand VARCHAR(100) = NULL
|
|
,@phoneOs VARCHAR(100) = NULL
|
|
,@osVersion VARCHAR(100) = NULL
|
|
,@deviceId VARCHAR(100) = NULL
|
|
,@dob VARCHAR(100) = NULL
|
|
,@uuid VARCHAR(100) = NULL
|
|
,@fcmId VARCHAR(250) = NULL
|
|
,@mobile VARCHAR(100) = NULL
|
|
,@nativeCountry VARCHAR(5) = NULL
|
|
,@referralCode VARCHAR(100) = NULL
|
|
,@referenceId BIGINT = NULL
|
|
,@fullName VARCHAR(50) = NULL
|
|
,@FirstName VARCHAR(100) = NULL
|
|
,@LastName VARCHAR(100) = NULL
|
|
,@MiddleName VARCHAR(100) = NULL
|
|
,@postalCode VARCHAR(100) = NULL
|
|
,@address1 NVARCHAR(200) = NULL
|
|
,@address2 NVARCHAR(200) = NULL
|
|
,@city VARCHAR(100) = NULL
|
|
,@gender VARCHAR(10) = NULL
|
|
)AS
|
|
---------------------------------------------------
|
|
-- #101 - Mobile Changes , #361 - Multi-Language
|
|
-- Remove customerAgreeDocumentTbl
|
|
-- SEt mobileUser='Y' for @flag='sign-up-v2-old-cust'
|
|
--#684 Referral code not working for Existing Customer
|
|
-- #11394 - Addition of DOB & Full name in New registration Page
|
|
-- #24439 - Addition of Duplicate Mobile Number Validation in @flag='sign-up-v2-old-cust' and @flag='sign-up-v2-new-cust'
|
|
---------------------------------------------------
|
|
|
|
BEGIN TRY
|
|
DECLARE @dobDB VARCHAR(200),@code VARCHAR(100),@_errorMsg VARCHAR(300),@verifiedDate DATETIME, @customerIdNo VARCHAR(50), @customerIdOld BIGINT = NULL,
|
|
@userNameRandom VARCHAR(100), @mobileNumberCompare VARCHAR(30)
|
|
|
|
IF @flag = 'sign-up-pre-old-cust'
|
|
BEGIN
|
|
SET @mobileNumberCompare = substring(@mobile, 4, len(@mobile)-3)
|
|
|
|
IF (SELECT COUNT(0)
|
|
FROM CUSTOMERMASTER (NOLOCK)
|
|
WHERE IDNUMBER = @idNumber
|
|
AND mobile LIKE '%' + @mobileNumberCompare
|
|
AND CAST(dob AS DATE) = @dob
|
|
AND ISNULL(isDeleted, 'N') = 'N'
|
|
AND ISNULL(ISACTIVE, 'Y') = 'Y') > 1
|
|
BEGIN
|
|
SELECT 1 ErrorCode,'Duplicate data found, please contact JME Support' Msg, NULL Id
|
|
RETURN
|
|
END
|
|
|
|
SELECT @customerIdOld = CUSTOMERID, @firstName = ISNULL(firstName, '')
|
|
FROM CUSTOMERMASTER (NOLOCK)
|
|
WHERE IDNUMBER = @idNumber
|
|
AND mobile LIKE '%' + @mobileNumberCompare
|
|
AND CAST(dob AS DATE) = @dob
|
|
AND ISNULL(isDeleted, 'N') = 'N'
|
|
AND ISNULL(ISACTIVE, 'Y') = 'Y'
|
|
AND isExistingCustomer = 1
|
|
AND USERNAME IS NULL
|
|
|
|
IF @customerIdOld IS NULL
|
|
BEGIN
|
|
SELECT 2 ErrorCode,'No records match with provided details, please contact JME Support' Msg, NULL Id
|
|
RETURN
|
|
END
|
|
|
|
--already registered
|
|
IF EXISTS(SELECT 'x' FROM dbo.mobile_userRegistration(NOLOCK) AS MUR WHERE customerId = @customerIdOld)
|
|
BEGIN
|
|
SELECT 3 ErrorCode,'You are already registered with JME!' Msg, NULL Id
|
|
RETURN
|
|
END
|
|
|
|
IF EXISTS (SELECT * FROM CustomerMasterTemp (NOLOCK) WHERE customerId = @customerIdOld AND createdBy IS NOT NULL)
|
|
BEGIN
|
|
SELECT 3 ErrorCode,'You are already registered with JME!' Msg, NULL Id
|
|
RETURN
|
|
END
|
|
IF EXISTS (SELECT * FROM CustomerMaster (NOLOCK) WHERE customerId = @customerIdOld AND username IS NOT NULL)
|
|
BEGIN
|
|
SELECT 3 ErrorCode,'You are already registered with JME!' Msg, NULL Id
|
|
RETURN
|
|
END
|
|
|
|
DELETE FROM dbo.CustomerMasterTemp WHERE OldCustomerId = @customerIdOld
|
|
|
|
SELECT @userNameRandom = DBO.GetRandomUsername(@firstName)
|
|
|
|
IF EXISTS(SELECT TOP 1 1 FROM CustomerMasterTemp (NOLOCK) WHERE USERNAME = @userNameRandom)
|
|
BEGIN
|
|
SET @userNameRandom = DBO.GetRandomUsername(@firstName)
|
|
END
|
|
|
|
INSERT INTO dbo.CustomerMasterTemp(
|
|
OldCustomerId,dob,mobile,isActive, idNumber
|
|
)
|
|
SELECT
|
|
@customerIdOld,@dob,@mobile,'N', @idNumber
|
|
|
|
SET @customerId=SCOPE_IDENTITY()
|
|
|
|
SELECT 0 ErrorCode, 'Success' Msg, @customerId Id, '' userName
|
|
END
|
|
ELSE IF @flag = 'sign-up-v2-old-cust'
|
|
BEGIN
|
|
IF ISNULL(@username, '') = ''
|
|
BEGIN
|
|
SELECT 1 ErrorCode,'Username can not be blank!' Msg, NULL Id
|
|
RETURN
|
|
END
|
|
--user already registered
|
|
IF EXISTS(SELECT 'x' FROM dbo.customerMaster AS CM(NOLOCK) WHERE CM.username = @username)
|
|
BEGIN
|
|
SELECT 2 ErrorCode,'Customer already registered, with this username!' Msg, NULL Id
|
|
RETURN
|
|
END
|
|
|
|
--email already registered
|
|
IF EXISTS(SELECT 'x' FROM dbo.customerMaster AS CM(NOLOCK) WHERE CM.email = @username)
|
|
BEGIN
|
|
SELECT 2 ErrorCode,'Customer already registered, with this email!' Msg, NULL Id
|
|
RETURN
|
|
END
|
|
|
|
-- duplicate mobile number
|
|
IF EXISTS (
|
|
SELECT 1
|
|
FROM customermaster
|
|
WHERE
|
|
(LEN(@mobile) = 10 AND (
|
|
mobile = @mobile OR
|
|
'+44' + mobile = @mobile
|
|
))
|
|
OR
|
|
(LEN(@mobile) = 13 AND (
|
|
mobile = @mobile OR
|
|
SUBSTRING(@mobile, 4, 10) = mobile
|
|
))
|
|
)
|
|
BEGIN
|
|
SELECT '1' AS ErrorCode
|
|
,'Mobile No. ''' + @mobile + ''' is already used' AS Msg
|
|
,@mobile AS id;
|
|
|
|
RETURN
|
|
END
|
|
|
|
--invalid referenceid
|
|
IF NOT EXISTS(SELECT 'x' FROM dbo.CustomerMasterTemp AS CM(NOLOCK) WHERE customerId = @referenceId)
|
|
BEGIN
|
|
SELECT 3 ErrorCode,'You can not modify email once created, please contact JME!' Msg, NULL Id
|
|
RETURN
|
|
END
|
|
|
|
--invalid referenceid
|
|
IF NOT EXISTS(SELECT 'x' FROM dbo.CustomerMasterTemp AS CM(NOLOCK) WHERE customerId = @referenceId AND createdBy IS NULL)
|
|
BEGIN
|
|
SELECT 4 ErrorCode,'Invalid data!' Msg, NULL Id
|
|
RETURN
|
|
END
|
|
|
|
--user already registered
|
|
IF EXISTS(SELECT 'x' FROM dbo.customerMasterTemp AS CM(NOLOCK) WHERE username = @username)
|
|
BEGIN
|
|
SELECT 5 ErrorCode,'User already registered!' Msg, NULL Id
|
|
RETURN
|
|
END
|
|
|
|
--Username already taken
|
|
IF EXISTS(SELECT 'x' FROM dbo.mobile_userRegistration(NOLOCK) AS MUR WHERE username = @username)
|
|
BEGIN
|
|
SELECT 6 ErrorCode,'Username already taken!' Msg, NULL Id
|
|
RETURN
|
|
END
|
|
|
|
BEGIN TRAN
|
|
SELECT @customerIdOld = OldCustomerId
|
|
FROM CustomerMasterTemp (NOLOCK)
|
|
WHERE customerId = @referenceId
|
|
|
|
UPDATE CustomerMaster SET username = @username, customerPassword = dbo.FNAEncryptString(@password)
|
|
,MODIFIEDBY = @username, MODIFIEDDate = GETDATE(), isActive = 'Y', txnPin = @txnPin
|
|
,email = @username, customerEmail = @username, createdFrom = 'C', mobileUser='Y', referelCode=@referralCode
|
|
WHERE customerId = @customerIdOld
|
|
|
|
INSERT INTO dbo.mobile_userRegistration(
|
|
clientId,username,createdDate,IMEI,appVersion,phoneBrand,phoneOs,osVersion,deviceId,customerId,cmRegistrationId
|
|
)
|
|
SELECT
|
|
@clientId,@username,GETDATE(),@IMEI,@appVersion,@phoneBrand,@phoneOs,@osVersion,@fcmId,@customerIdOld,@uuid
|
|
|
|
DELETE FROM CustomerMasterTemp WHERE customerId = @referenceId
|
|
COMMIT TRAN
|
|
|
|
IF @@TRANCOUNT=0
|
|
BEGIN
|
|
--successful registered
|
|
SELECT 0 ErrorCode,'Thank you for your registration. Please complete your profile or you can skip and start sending money using IME London.' Msg, NULL Id
|
|
--rowId, PdfName, AgreePdfPath, *
|
|
--FROM customerAgreeDocumentTbl
|
|
--WHERE targetObj = 'STAGING'
|
|
RETURN
|
|
END
|
|
|
|
END
|
|
IF @flag='sign-up-v2-new-cust'
|
|
BEGIN
|
|
DECLARE @COUNTRYID INT
|
|
--user already registered
|
|
IF EXISTS(SELECT 'x' FROM dbo.customerMaster AS CM(NOLOCK) WHERE CM.userName = @username )
|
|
BEGIN
|
|
SELECT 1 ErrorCode,'Customer already registered, with this username!' Msg, NULL Id
|
|
RETURN
|
|
END
|
|
|
|
IF EXISTS (
|
|
SELECT 1
|
|
FROM customermaster
|
|
WHERE
|
|
(LEN(@mobile) = 10 AND (
|
|
mobile = @mobile OR
|
|
'+44' + mobile = @mobile
|
|
))
|
|
OR
|
|
(LEN(@mobile) = 13 AND (
|
|
mobile = @mobile OR
|
|
SUBSTRING(@mobile, 4, 10) = mobile
|
|
))
|
|
)
|
|
BEGIN
|
|
SELECT '1' AS ErrorCode
|
|
,'Mobile No. ''' + @mobile + ''' is already used' AS Msg
|
|
,@mobile AS id;
|
|
|
|
RETURN
|
|
END
|
|
|
|
--user already registered
|
|
IF EXISTS(SELECT 'x' FROM dbo.customerMasterTemp AS CM(NOLOCK) WHERE username=@username)
|
|
BEGIN
|
|
SELECT 2 ErrorCode,'User already registered!' Msg, NULL Id
|
|
RETURN
|
|
END
|
|
|
|
--Username already taken
|
|
IF EXISTS(SELECT 'x' FROM dbo.mobile_userRegistration(NOLOCK) AS MUR WHERE username=@username)
|
|
BEGIN
|
|
SELECT 3 ErrorCode,'Username already taken!' Msg, NULL Id
|
|
RETURN
|
|
END
|
|
|
|
IF @referralCode IS NOT NULL
|
|
BEGIN
|
|
IF NOT EXISTS (SELECT 1 FROM dbo.customerMaster(NOLOCK) WHERE membershipId = @referralCode)
|
|
AND NOT EXISTS (SELECT 1 FROM dbo.REFERRAL_AGENT_WISE(NOLOCK) WHERE REFERRAL_CODE = @referralCode)
|
|
BEGIN
|
|
SELECT 8 ErrorCode,'Invalid Referral Code! Please enter valid referral code.' Msg, @referralCode Id
|
|
RETURN
|
|
END
|
|
END
|
|
|
|
|
|
SELECT @COUNTRYID = countryId
|
|
FROM countryMaster (NOLOCK)
|
|
WHERE COUNTRYCODE = @nativeCountry
|
|
|
|
if(@COUNTRYID IS NULL)
|
|
BEGIN
|
|
SET @COUNTRYID=@nativeCountry;
|
|
|
|
END
|
|
|
|
BEGIN TRAN
|
|
INSERT INTO dbo.CustomerMasterTemp(
|
|
username,customerPassword,createdBy,createdDate,isActive,nativeCountry, referelCode, idNumber, mobile , email, customerEmail, mobileUser , fullName, dob, firstName, middleName, lastName1
|
|
,city,address,gender, isEmailVerified,zipCode,ADDITIONALADDRESS
|
|
)
|
|
SELECT
|
|
@username,dbo.FNAEncryptString(@password),@username,GETDATE(),'Y', @COUNTRYID, @referralCode, @idNumber, @mobile, @username, @username , 'Y' , @fullName, @dob,@FirstName,@MiddleName, @LastName
|
|
,@city,@address1,@gender,'0',@postalCode,@address2
|
|
|
|
SET @customerId=SCOPE_IDENTITY()
|
|
|
|
INSERT INTO dbo.mobile_userRegistration(
|
|
clientId,username,createdDate,appVersion,phoneBrand,phoneOs,osVersion,deviceId,customerId, cmRegistrationId
|
|
)
|
|
SELECT
|
|
@clientId,@username,GETDATE(),@appVersion,@phoneBrand,@phoneOs,@osVersion,@fcmId,@customerId, @uuid
|
|
|
|
COMMIT TRAN
|
|
IF @@TRANCOUNT=0
|
|
BEGIN
|
|
--successful registered
|
|
SELECT 0 ErrorCode,'Thank you for your registration. Please complete your profile or you can skip and start sending money using IME London.' Msg, NULL Id
|
|
|
|
RETURN
|
|
END
|
|
END
|
|
IF @flag = 'chk-valid-referralCode'
|
|
BEGIN
|
|
IF NOT EXISTS (SELECT 1 FROM dbo.customerMaster(NOLOCK) WHERE membershipId = @referralCode)
|
|
AND NOT EXISTS (SELECT 1 FROM dbo.REFERRAL_AGENT_WISE(NOLOCK) WHERE REFERRAL_CODE = @referralCode)
|
|
BEGIN
|
|
SELECT 1 ErrorCode,'Invalid Referral Code!' Msg, @referralCode Id
|
|
RETURN
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SELECT 0 ErrorCode,'SUCCESS' Msg, @referralCode Id
|
|
END
|
|
END
|
|
END TRY
|
|
BEGIN CATCH
|
|
IF @@TRANCOUNT<>0
|
|
ROLLBACK TRAN
|
|
|
|
--Execption
|
|
SELECT 1 ErrorCode,dbo.GetMessage(@language,'9999')+CONVERT(VARCHAR,ERROR_LINE())+ERROR_MESSAGE() Msg, NULL Id
|
|
RETURN
|
|
END CATCH
|
|
|
|
|
|
|