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.
 
 
 

761 lines
59 KiB

ALTER PROCEDURE [dbo].[mobile_proc_customerMaster]
@flag VARCHAR(30)
,@userName VARCHAR(100) = NULL
,@firstName VARCHAR(50) = NULL
,@middleName VARCHAR(50) = NULL
,@lastName VARCHAR(50) = NULL
,@nickName VARCHAR(100) = NULL
,@mobileNumber VARCHAR(30) = NULL
,@email VARCHAR(100) = NULL
,@gender VARCHAR(15) = NULL
,@dateOfBirth DATETIME = NULL
,@nativeCountry VARCHAR(100) = NULL
,@country VARCHAR(100) = NULL
,@address VARCHAR(150) = NULL
,@city VARCHAR(50) = NULL
,@province VARCHAR(50) = NULL
,@occupation VARCHAR(100) = NULL
,@primaryBankName VARCHAR(200) = NULL
,@primaryAccountNumber VARCHAR(100) = NULL
,@verificationIdType VARCHAR(50) = NULL
,@verificationIdNumber VARCHAR(50) = NULL
,@issueDate DATETIME = NULL
,@expiryDate DATETIME = NULL
,@regIdcardFrontUrl VARCHAR(200) = NULL
,@regIdcardBackUrl VARCHAR(200) = NULL
,@passbookUrl VARCHAR(200) = NULL
,@passportUrl VARCHAR(200) = NULL
,@selfieUrl VARCHAR(300) = NULL
-- CDD parameters
,@cddCode VARCHAR(100) = NULL
,@sourceOfFund VARCHAR(500) = NULL
,@referralCode VARCHAR(100) = NULL
,@appVersion VARCHAR(100) = NULL
,@phoneBrand VARCHAR(100) = NULL
,@phoneOS VARCHAR(100) = NULL
,@fcmId VARCHAR(MAX) = NULL
,@osVersion VARCHAR(100) = NULL
,@fullName VARCHAR(200) = NULL
,@passportNumber VARCHAR(100) = NULL
,@anotherIDType VARCHAR(20) = NULL
,@anotherIDNumber VARCHAR(20) = NULL
,@branch VARCHAR(20) = NULL
,@type INT = NULL
AS
SET NOCOUNT ON;
SET XACT_ABORT ON;
BEGIN TRY
------------------------------------------------------------------------------------------------------------
--select column [mobile_userRegistration].isForcePassChange
------------------------------------------------------------------------------------------------------------
DECLARE @errorMsg VARCHAR(MAX),@customerId BIGINT,@yearlyLimit MONEY,@totalSend MONEY,
@totalSendText VARCHAR(200), @YearStart DATE, @YearEnd DATETIME,@cust BIGINT = NULL;
DECLARE @IsActive CHAR(1)
DECLARE @redirectTo VARCHAR(100) = ''
SET @country = '118';
SET @firstName = UPPER(@firstName)
SET @middleName = UPPER(@middleName)
SET @lastName = UPPER(@lastName)
SET @fullName = @firstName + ISNULL(' ' + @middleName, '') + ISNULL(' ' + @lastName, '')
IF @flag='i'
BEGIN
--SELECT @customerId = customerId FROM customerMasterTemp with (nolock)
--WHERE email = @username OR mobile = @username
--CHECK FOR customer IN temp table
SELECT @customerId = customerId FROM customerMasterTemp with (nolock)
WHERE username = @userName
IF @customerId IS NULL
BEGIN
IF EXISTS(SELECT TOP 1 'A' FROM customerMaster(NOLOCK) WHERE userName = @userName)
BEGIN
SELECT @errorMsg = 'It looks like you are already registered in GME system!'
EXEC proc_errorHandler 1, @errorMsg, @userName
RETURN
END
END
SELECT @email = @userName
BEGIN TRANSACTION
UPDATE dbo.customerMasterTemp SET
firstName = @fullName,
fullName = @fullName,
nickName = @nickName,
mobile = @mobileNumber,
homePhone = @verificationIdNumber,
--email=@email,
gender = CASE WHEN UPPER(@gender) = 'M' THEN '97' WHEN UPPER(@gender) = 'F' THEN '98' ELSE '99' END ,
--dob=@dateOfBirth,
nativeCountry= @nativeCountry,
country = @country,
[address] = @address,
city = @province,
state2 = @province,
occupation = @occupation,
bankName = @primaryBankName,
bankAccountNo= @primaryAccountNumber,
idNumber = @verificationIdNumber,
idType = @verificationIdType,
idIssueDate = @issueDate,
createdDate = GETDATE(),
sourceOfFund=CASE WHEN @sourceOfFund IS NOT NULL
THEN (SELECT sd.detailTitle FROM dbo.staticDataValue sd(NOLOCK) WHERE sd.valueId=@sourceOfFund)
ELSE sourceOfFund
END,
idExpiryDate= @expiryDate,
verifyDoc1 = @regIdcardFrontUrl,
verifyDoc2 = @regIdcardBackUrl,
verifyDoc3 = @passbookUrl,
verifyDoc4 = @passportUrl,
selfie = @selfieUrl,
referelCode = @referralCode
WHERE userName = @username
INSERT INTO dbo.customerMaster
(
fullName,firstName,mobile,email,gender,dob,occupation,nativeCountry,country,bankName,bankAccountNo,idType,idNumber,homePhone,idIssueDate
,idExpiryDate,sourceOfFund,verifyDoc1,verifyDoc2,verifyDoc3,SelfieDoc,referelCode,createdBy,createdDate,isActive,onlineUser,customerPassword,[address]
,city,state2,customerType,agreeYn
)
SELECT fullName,CMT.firstName,mobile,email,gender,dob,CMT.occupation,nativeCountry,country,bankName,bankAccountNo,idType,idNumber,CMT.homePhone,
CMT.idIssueDate,idExpiryDate,sourceOfFund,verifyDoc1,verifyDoc2,verifyDoc3,CMT.selfie,CMT.referelCode,CMT.createdBy,GETDATE(),'Y','Y',customerPassword,[address]
,state2,state2,4701,CMT.agreeYn
FROM dbo.CustomerMasterTemp AS CMT(NOLOCK)
WHERE CMT.customerId = @customerId
SET @cust = @@IDENTITY
UPDATE dbo.mobile_userRegistration SET customerId = @cust WHERE username = @username
DELETE FROM customerMasterTemp WHERE username = @username
COMMIT TRANSACTION
IF @@TRANCOUNT=0
BEGIN
SELECT 0 as ERRORCODE, 'KYC Submitted successfully' AS MSG, @userName AS ID,@cust AS EXTRA
--SELECT
-- errorCode='0'
-- ,userId=@userName
-- ,firstName=ISNULL(cm.firstName, '')
-- ,middleName=ISNULL(cm.middleName, '')
-- ,lastName=ISNULL(cm.lastName1,'')
-- ,fullname=ISNULL(cm.firstName, '') + ISNULL(' ' + cm.middleName, '') + ISNULL(' ' + cm.lastName1, '')
-- ,mobileNumber=ISNULL(mobile,'')
-- ,email=ISNULL(email,'')
-- ,gender=ISNULL(sv.detailTitle,'')
-- ,dateOfBirth=CONVERT(VARCHAR(10),dob,120)
-- ,nativeCountry=ISNULL(com1.countryName,'')
-- ,country=ISNULL(com.countryName,'')
-- ,address=ISNULL(address,'')
-- ,city=ISNULL(city,'')
-- ,province=ISNULL(cm.state2,'')
-- ,provinceId= cm.state2
-- ,occupation=ISNULL(sdv.detailTitle,'')
-- ,primaryBankName=ISNULL(bl.BankName,'')
-- ,primaryAccountNumber=ISNULL(cm.bankAccountNo,'')
-- ,verificationIdType=ISNULL(dv.detailTitle,'')
-- ,verificationIdNumber=ISNULL(cm.idNumber,'')
-- ,issueDate=CONVERT(VARCHAR(10),cm.idIssueDate,120)
-- ,expiryDate=CONVERT(VARCHAR(10),cm.idExpiryDate,120)
-- ,sourceOfFund=ISNULL(cm.sourceOfFund,'')
-- ,regIdcardFrontUrl=ISNULL(cm.verifyDoc1,'')
-- ,regIdcardBackUrl=ISNULL(cm.verifyDoc2,'')
-- ,passbookUrl=ISNULL(cm.verifyDoc3,'')
-- ,selfieUrl=ISNULL(cm.SelfieDoc,'')
-- ,passportUrl=''
--FROM dbo.customerMaster cm WITH(NOLOCK)
--LEFT JOIN dbo.vwBankLists bl WITH(NOLOCK)ON cm.bankName=bl.rowId
--LEFT JOIN dbo.staticDataValue sdv WITH(NOLOCK)ON cm.occupation=sdv.valueId
--LEFT JOIN dbo.staticDataValue sv WITH(NOLOCK)ON cm.gender=sv.valueId
--LEFT JOIN dbo.countryMaster com WITH(NOLOCK)ON cm.country=com.countryId
--LEFT JOIN dbo.countryMaster com1 WITH(NOLOCK)ON cm.nativeCountry=com1.countryId
--LEFT JOIN dbo.staticDataValue dv WITH(NOLOCK)ON cm.idType=dv.valueId
--WHERE customerId=@cust
RETURN
END
EXEC proc_errorHandler 1, 'Failed to Submit KYC', @userName
-- SELECT errorCode='1'
--,userId=''
--,firstName=''
--,middleName=''
--,lastName=''
--,fullname=''
--,mobileNumber=''
--,email=''
--,gender=''
--,dateOfBirth=''
--,nativeCountry=''
--,country=''
--,address=''
--,city=''
--,province=''
--,provinceId=''
--,occupation=''
--,primaryBankName=''
--,primaryAccountNumber=''
--,verificationIdType=''
--,verificationIdNumber=''
--,issueDate=''
--,expiryDate=''
--,sourceOfFund=''
--,regIdcardFrontUrl=''
--,regIdcardBackUrl=''
--,passbookUrl=''
--,passportUrl=''
--,selfieUrl=''
RETURN
END
IF @flag = 'i-V2'
BEGIN
--CHECK FOR customer IN temp table
SELECT @customerId = customerId FROM customerMasterTemp with (nolock) WHERE username = @userName
--PRINT @userName
--PRINT @customerId
IF @customerId IS NULL
BEGIN
IF EXISTS(SELECT TOP 1 'A' FROM customerMaster(NOLOCK) WHERE EMAIL = @userName)
BEGIN
SELECT @errorMsg = 'It looks like you are already registered in GME system!'
EXEC proc_errorHandler 1, @errorMsg, @userName
RETURN
END
END
BEGIN TRANSACTION
UPDATE dbo.customerMasterTemp SET
firstName = @fullName,
fullName = @fullName,
nickName = @nickName,
homePhone = @verificationIdNumber,
email = @userName,
customerEmail = @email,
gender = CASE WHEN UPPER(@gender) = 'M' THEN '97' WHEN UPPER(@gender) = 'F' THEN '98' ELSE '99' END ,
dob = @dateOfBirth,
country = @country,
[address] = @address,
city = @city,
state2 = @province,
occupation = @occupation,
bankName = @primaryBankName,
bankAccountNo= @primaryAccountNumber,
idNumber = @verificationIdNumber,
idType = @verificationIdType,
idIssueDate = @issueDate,
createdDate = GETDATE(),
sourceOfFund=CASE WHEN @sourceOfFund IS NOT NULL
THEN (SELECT TOP 1 sd.detailTitle FROM dbo.staticDataValue sd(NOLOCK) WHERE sd.valueId=@sourceOfFund)
ELSE sourceOfFund
END,
idExpiryDate= @expiryDate,
verifyDoc1 = @regIdcardFrontUrl,
verifyDoc2 = @regIdcardBackUrl,
verifyDoc3 = @passbookUrl,
verifyDoc4 = @passportUrl,
selfie = @selfieUrl,
referelCode = @referralCode
WHERE customerId = @customerId
INSERT INTO dbo.customerMaster
(
fullName,firstName,mobile,email,customerEmail,gender,dob,occupation,nativeCountry,country,bankName,bankAccountNo,idType,idNumber,homePhone,idIssueDate
,idExpiryDate,sourceOfFund,verifyDoc1,verifyDoc2,verifyDoc3,SelfieDoc,referelCode,createdBy,createdDate,isActive,onlineUser,customerPassword,[address]
,city,state2,customerType
)
SELECT fullName,CMT.firstName,mobile,email,customerEmail,gender,dob,CMT.occupation,nativeCountry,country,bankName,bankAccountNo,idType,idNumber,CMT.homePhone,
CMT.idIssueDate,idExpiryDate,sourceOfFund,verifyDoc1,verifyDoc2,verifyDoc3,CMT.selfie,CMT.referelCode,CMT.createdBy,GETDATE(),'Y','Y',customerPassword,[address]
,city,state2,4701
FROM dbo.CustomerMasterTemp AS CMT(NOLOCK)
WHERE CMT.customerId = @customerId
SET @cust = @@IDENTITY
UPDATE dbo.mobile_userRegistration SET customerId = @cust WHERE username = @username
DELETE FROM customerMasterTemp WHERE username = @username
COMMIT TRANSACTION
IF @@TRANCOUNT=0
BEGIN
SELECT 0 as ERRORCODE, 'KYC Submitted successfully' AS MSG, @userName AS ID,@cust AS EXTRA
RETURN
END
EXEC proc_errorHandler 1, 'Failed to Submit KYC', @userName
RETURN
END
IF @flag='u'
BEGIN
IF (YEAR(GETDATE()) - YEAR(@dateOfBirth) < 16)
BEGIN
EXEC proc_errorHandler 1, 'Customer Not Eligible', @userName
RETURN
END
----OR cm.mobile=@userName not aplicable
IF NOT EXISTS(SELECT TOP 1 'x' FROM dbo.customerMaster(NOLOCK) cm WHERE cm.email = @userName )
BEGIN
SELECT @errorMsg = 'Customer with userId ' + @userName + ' does not exists.'
EXEC proc_errorHandler 1, @errorMsg, @userName
RETURN
END
SELECT
@customerId=cm.customerId
FROM dbo.customerMaster(NOLOCK) cm
WHERE cm.email = @userName
--OR cm.mobile=@userName
BEGIN TRANSACTION
UPDATE dbo.customerMaster SET
firstName = ISNULL(@fullName,fullName),
fullName = ISNULL(@fullName,fullName),
----nickName=ISNULL(@nickName,nickName),
mobile = ISNULL(@mobileNumber,mobile),
email = ISNULL(@email,email),
gender = ISNULL(@gender,gender),
dob = ISNULL(@dateOfBirth,dob),
nativeCountry= ISNULL(@nativeCountry,nativeCountry),
country = ISNULL(@country,country),
[address] = ISNULL(@address,[address]),
city = ISNULL(@city,city),
state2 = CASE WHEN @province IS NOT NULL
THEN (SELECT TOP 1 cim.cityName FROM dbo.CityMaster cim(NOLOCK) WHERE cim.cityId=@province)
ELSE state2
END,
occupation = ISNULL(@occupation,occupation),
bankName = ISNULL(@primaryBankName,bankName),
bankAccountNo= ISNULL(@primaryAccountNumber,bankAccountNo),
idNumber = ISNULL(@verificationIdNumber,idNumber),
idType = ISNULL(@verificationIdType,idType),
idIssueDate = ISNULL(@issueDate,idIssueDate),
sourceOfFund= CASE WHEN @sourceOfFund IS NOT NULL
THEN (SELECT TOP 1 sd.detailTitle FROM dbo.staticDataValue sd(NOLOCK) WHERE sd.valueId=@sourceOfFund)
ELSE sourceOfFund
END,
idExpiryDate= ISNULL(@expiryDate,idExpiryDate),
verifyDoc1 = ISNULL(@regIdcardFrontUrl,verifyDoc1),
verifyDoc2 = ISNULL(@regIdcardBackUrl,verifyDoc2),
verifyDoc3 = ISNULL(@passbookUrl,verifyDoc3),
SelfieDoc = ISNULL(@selfieUrl,SelfieDoc)
FROM customermaster(NOLOCK) cust
WHERE cust.customerId=@customerId
IF @@TRANCOUNT>0
COMMIT TRANSACTION
SELECT errorCode ='0'
,userId =@userName
,firstName=ISNULL(cm.firstName, '')
,middleName=ISNULL(cm.middleName, '')
,lastName=ISNULL(cm.lastName1,'')
,fullname =ISNULL(cm.firstName, '') + ISNULL(' ' + cm.middleName, '') + ISNULL(' ' + cm.lastName1, '')
,nickName = ''
,mobileNumber=ISNULL(mobile,'')
,email=ISNULL(email,'')
,gender=ISNULL(sv.detailTitle,'')
,dateOfBirth=CONVERT(VARCHAR(10),dob,120)
,nativeCountry=ISNULL(com1.countryName,'')
,country=ISNULL(com.countryName,'')
,[address]=ISNULL([address],'')
,city=ISNULL(city,'')
,province=ISNULL(cm.state2,'')
,provinceId=ISNULL(cim.cityId,'')
,occupation=ISNULL(sdv.detailTitle,'')
,primaryBankName='Fast Remit Bank'--bl.BankName
,primaryAccountNumber=ISNULL(cm.bankAccountNo,'')
,verificationIdType=ISNULL(dv.detailTitle,'')
,verificationIdNumber=ISNULL(cm.idNumber,'')
,issueDate=CONVERT(VARCHAR(10),cm.idIssueDate,120)
,expiryDate=CONVERT(VARCHAR(10),cm.idExpiryDate,120)
,sourceOfFund=ISNULL(cm.sourceOfFund,'')
,regIdcardFrontUrl=ISNULL(cm.verifyDoc1,'')
,regIdcardBackUrl=ISNULL(cm.verifyDoc2,'')
,passbookUrl=ISNULL(cm.verifyDoc3,'')
,passportUrl=''
,selfieUrl=ISNULL(cm.SelfieDoc,'')
FROM (SELECT TOP 1 * FROM dbo.customerMaster(NOLOCK) cm WHERE cm.customerId = @customerId)cm
LEFT JOIN dbo.vwBankLists(NOLOCK) bl ON cm.bankName=bl.bankCode
LEFT JOIN mobile_userRegistration(NOLOCK) v ON cm.customerId=v.customerId
LEFT JOIN dbo.staticDataValue(NOLOCK) sdv ON cm.occupation=sdv.valueId
LEFT JOIN dbo.staticDataValue(NOLOCK) sv ON cm.gender=sv.valueId
LEFT JOIN dbo.countryMaster(NOLOCK) com ON cm.country=com.countryId
LEFT JOIN dbo.staticDataValue(NOLOCK) dv ON cm.idType=dv.valueId
LEFT JOIN dbo.countryMaster(NOLOCK) com1 ON cm.nativeCountry=com1.countryId
LEFT JOIN dbo.CityMaster cim(NOLOCK) ON LTRIM(RTRIM(cim.cityName))=LTRIM(RTRIM(cm.state2))
--WHERE cm.customerId = @customerId
RETURN
END
IF @flag='s'
BEGIN
IF NOT EXISTS(SELECT TOP 1 'x' FROM dbo.customerMaster(NOLOCK) cm WHERE cm.email=@userName OR cm.mobile=@userName)
BEGIN
SELECT @errorMsg = 'Customer with userId ' + @userName + ' does not exists.'
EXEC proc_errorHandler 1, @errorMsg, @userName
RETURN
END
SELECT
@customerId=cm.customerId
FROM dbo.customerMaster(NOLOCK) cm
WHERE cm.email = @userName OR cm.mobile = @userName
SELECT
errorCode='0'
,userId = @userName
,firstName = ISNULL(cm.firstName, '')
,middleName = ''
,lastName = ''
,fullname = ISNULL(cm.fullName, '')
,nickName = ''
,mobileNumber= ISNULL(mobile,'')
,email = ISNULL(email,'')
,gender = ISNULL(sv.detailTitle,'')
,dateOfBirth= CONVERT(VARCHAR(10),dob,120)
,nativeCountry= ISNULL(com1.countryName,'')
,country = 'South Korea'
,address = ISNULL(address,'')
,city = ISNULL(city,'')
,province = ISNULL(cm.state2,'')
,provinceId = ISNULL(cim.cityId,'')
,occupation = ISNULL(sdv.detailTitle,'')
,primaryBankName='Fast Remit Bank'--ISNULL(bl.BankName,'')
,primaryAccountNumber=ISNULL(cm.bankAccountNo,'')
,verificationIdType=ISNULL(dv.detailTitle,'')
,verificationIdNumber=ISNULL(cm.idNumber,'')
,issueDate = CONVERT(VARCHAR(10),cm.idIssueDate,120)
,expiryDate = CONVERT(VARCHAR(10),cm.idExpiryDate,120)
,sourceOfFund= ISNULL(cm.sourceOfFund,'')
,regIdcardFrontUrl=ISNULL(cm.verifyDoc1,'')
,regIdcardBackUrl=ISNULL(cm.verifyDoc2,'')
,passbookUrl= ISNULL(cm.verifyDoc3,'')
,selfieUrl = ISNULL(cm.SelfieDoc,'')
FROM (SELECT TOP 1 * FROM dbo.customerMaster cm WITH(NOLOCK) WHERE customerId = @customerId)cm
LEFT JOIN dbo.vwBankLists bl WITH(NOLOCK) ON cm.bankName = bl.bankCode
LEFT JOIN dbo.staticDataValue sdv WITH(NOLOCK) ON cm.occupation = sdv.valueId
LEFT JOIN dbo.staticDataValue sv WITH(NOLOCK) ON cm.gender = sv.valueId
LEFT JOIN dbo.countryMaster com1 WITH(NOLOCK) ON cm.nativeCountry = com1.countryId
LEFT JOIN dbo.staticDataValue dv WITH(NOLOCK) ON cm.idType = dv.valueId
LEFT JOIN dbo.CityMaster cim(NOLOCK) ON cim.cityName = cm.state2
--WHERE customerId=@customerId
RETURN
END
IF @flag='getUser' --customer due deligience(static data values)
BEGIN
-- OR cm.mobile=@userName USE IN FUTURE
IF EXISTS(SELECT TOP 1 'x' FROM dbo.customerMaster(NOLOCK) cm WHERE cm.email=@userName)
BEGIN
--DECLARE @yearlyLimit VARCHAR(100)=''
--DECLARE @YearStart DATE, @YearEnd DATETIME
SELECT @YearStart = DATEADD(yy, DATEDIFF(yy, 0, GETDATE()), 0)
,@YearEnd = DATEADD(yy, DATEDIFF(yy, 0, GETDATE()) + 1, -1)+' 23:59:59'
--deCLARE @CUSTID BIGINT
SELECT @customerId = customerId FROM dbo.customerMaster(NOLOCK) cm WHERE cm.email = @userName
--OR cm.mobile=@userName USE IN FUTURE
SELECT @totalSend = SUM(ROUND(R.tAmt/(R.sCurrCostRate+R.sCurrHoMargin), 2, 0))
FROM REMITTRAN R(NOLOCK)
INNER JOIN TRANSENDERS T(NOLOCK) ON T.TRANID = R.ID
AND T.CUSTOMERID = @customerId
AND R.TRANSTATUS <> 'Cancel'
AND R.approvedDate BETWEEN @YearStart AND @YearEnd
SELECT @yearlyLimit = amount
FROM dbo.csDetail CD(NOLOCK)
INNER JOIN csMaster CM(NOLOCK) ON CM.csMasterId = CD.csMasterId
AND CD.period = 365
AND CD.condition = 4600
AND ISNULL(CD.isActive, 'Y') = 'Y'
AND ISNULL(CD.isDeleted, 'N') = 'N'
AND ISNULL(CD.isEnable, 'Y') = 'Y'
AND ISNULL(CM.isActive, 'Y') = 'Y'
AND ISNULL(CM.isDeleted, 'N') = 'N'
SET @yearlyLimit = (@yearlyLimit - ISNULL(@totalSend, 0))
SELECT
@customerId=cm.customerId
FROM dbo.customerMaster(NOLOCK) cm WHERE cm.email = @userName
--OR cm.mobile=@userName ## not applicable
SELECT
errorCode = '0'
,userId = @userName
,firstName = ISNULL(cm.firstName, '')
,middleName = ISNULL(cm.middleName, '')
,lastName = ISNULL(cm.lastName1,'')
,nickName = ''
,email = ISNULL(cm.email,'')
,mobileNumber = ISNULL(cm.mobile,'')
,verificationCode= ISNULL(ur.OTP,'')
,VerificationCodeExpiryDate=''
,createdDate = CONVERT(VARCHAR(10),ur.createdDate,120)
,userRoles = ''
,rewardPoint = CAST(ISNULL(cm.bonusPoint,0) AS DECIMAL)
,isActive = CASE WHEN ISNULL(cm.isActive,'Y')='Y' THEN 1 ELSE 0 END
,hasKYC = CASE WHEN ISNULL(cm.createdDate,'')<>'' THEN 1 ELSE 0 END
,isVerified = CASE WHEN cm.approvedDate IS NOT NULL THEN 1 ELSE 0 END
,forgetCode = ISNULL(ur.passRecoveryCode,'')
,ForgetCodeExpiryDate=''
,primaryBankName= 'Fast Remit Bank'--CASE WHEN cm.customerType='11048' THEN N'WSB (050)' ELSE 'Kwangju Bank (034)' END
,walletNumber = ISNULL(cm.walletAccountNo,'')
,availableBalance= @yearlyLimit -- CAST([dbo].FNAGetCustomerACBal(@userName) AS DECIMAL) --change this with yearly limit after fix in mobile
,dpUrl = ''
,ISNULL(ur.cmRegistrationId,'') cmRegistrationId
,yearlyLimit = FORMAT(@yearlyLimit,'0,00') --@yearlyLimit
FROM (SELECT TOP 1 * FROM dbo.customerMaster cm WITH(NOLOCK) WHERE customerId = @customerId)cm
LEFT JOIN dbo.mobile_userRegistration(NOLOCK) ur ON ur.customerId=cm.customerId
LEFT JOIN dbo.vwBankLists bl WITH(NOLOCK) ON bl.bankCode=cm.bankName
--WHERE cm.customerId=@customerId
RETURN
END
ELSE
BEGIN
SELECT @errorMsg = 'Customer with userId ' + @userName + ' does not exists.'
EXEC proc_errorHandler 1, @errorMsg, @userName
RETURN
END
END
IF @flag='refresh-customer-info'
BEGIN
DECLARE @isExistingCustomer BIT, @hasUpdatedDefaultCredentials INT,@createdFrom CHAR(1), @isForcedPwdChange INT , @isForcePassChangeMob INT
SELECT @yearlyLimit = amount
FROM dbo.csDetail CD(NOLOCK)
INNER JOIN csMaster CM(NOLOCK) ON CM.csMasterId = CD.csMasterId
AND CD.period = 365
AND CD.condition = 4600
AND ISNULL(CD.isActive, 'Y') = 'Y'
AND ISNULL(CD.isDeleted, 'N') = 'N'
AND ISNULL(CD.isEnable, 'Y') = 'Y'
AND ISNULL(CM.isActive, 'Y') = 'Y'
AND ISNULL(CM.isDeleted, 'N') = 'N'
IF EXISTS(SELECT TOP 1 'A' from CustomerMasterTemp(nolock) where username = @userName AND isActive = 'Y')
BEGIN
SET @isExistingCustomer = 1
IF EXISTS (SELECT * FROM CustomerMasterTemp CT(NOLOCK) WHERE username = @userName AND OldCustomerId IS NULL)
BEGIN
SET @isExistingCustomer = 0
END
UPDATE mobile_userRegistration SET
appVersion = @appVersion
,phoneBrand = @phoneBrand
,phoneOS = @phoneOS
,deviceId = ISNULL(@fcmId, deviceId)
,osVersion = @osVersion
WHERE customerId=(SELECT TOP 1 customerId from CustomerMasterTemp(nolock) where username = @userName AND isActive = 'Y')
SELECT
'0' ErrorCode
,@userName userId
,cust.customerId SenderId
,@userName firstName
--,ISNULL(cust.middleName,'') middleName
--,ISNULL(cust.lastName1,'') lastName
--,ISNULL(cust.nickName,'') nickName
,ISNULL(cust.email,'') email
,ISNULL(cust.customerEmail,'') AS customerEmail
,ISNULL(cust.mobile,'') phone
,CONVERT(VARCHAR(10),cust.dob,120) dob
--,cust.idType AS idType
--,cust.idNumber AS idNumber
,'' AS countryCode
,CAST(ISNULL(cust.bonusPoint,0) AS DECIMAL) rewardPoint
,CASE WHEN ISNULL(cust.isActive,'N')='Y' THEN 1 ELSE 0 END active
,kyc = 0
,verified = 0
,'' walletNumber
,0 availableBalance
,'Fast Remit Bank' primaryBankName
,ISNULL(dpUrl,'') dpUrl
,ISNULL(ur.cmRegistrationId,'') cmRegistrationId
,ISNULL(co.countryName,'') country
,'' city
,'' [address]
,'' [province]
,'' [provinceId]
,CASE WHEN cust.referelCode IS NOT NULL THEN 1 ELSE 0 END isReferred
,'' sourceId
,yearlyLimit=FORMAT(@yearlyLimit,'0,00')
,PennyTestStatus = '2'
,'' accessTokenRegTime ,'' accessTokenExpTime
,redirectTo = @redirectTo
,cust.membershipId AS referelCode
--,cust.referelCode
,agreeYn = ISNULL(cust.agreeYn, 0)
,isExistingCustomer = @isExistingCustomer
,hasUpdatedDefaultCredentials = 2
,hasVerifiedOTP = CASE WHEN ISNULL(isEmailVerified, 0) = 0 THEN 'False' ELSE 'True' END
,IsBiometricLogin = 0
,BiometricLoginType = ''
-- ,CASE ur.isForcePassChange WHEN '1' THEN 'Y' ELSE 'N' END IsForcedPwdChange
FROM (SELECT TOP 1 * FROM CustomerMasterTemp(NOLOCK) cust WHERE cust.username = @userName)cust
LEFT JOIN mobile_userRegistration(NOLOCK) ur ON cust.customerId=ur.customerId
LEFT JOIN countryMaster co(NOLOCK) ON cust.country=co.countryId
LEFT JOIN dbo.CityMaster cm(NOLOCK) ON cust.state2 = cm.cityName
--WHERE cust.email = @userName
RETURN
END
SELECT
@customerId=cm.customerId,@IsActive = isActive, @createdFrom = ISNULL(createdFrom, 'O'), @isForcedPwdChange = ISNULL(isForcedPwdChange, 2),
@isExistingCustomer = ISNULL(isexistingcustomer, 0), @isForcePassChangeMob= ISNULL( ur.isForcePassChange,0)
FROM dbo.customerMaster(NOLOCK) cm
INNER JOIN mobile_userRegistration(NOLOCK) ur on cm.customerId=ur.customerId
WHERE cm.username = @userName
IF @isForcedPwdChange <> 0
BEGIN
IF @createdFrom = 'C'
SET @hasUpdatedDefaultCredentials = 2
IF @createdFrom = 'M' AND @isExistingCustomer = 1
SET @hasUpdatedDefaultCredentials = 0
IF @createdFrom = 'M' AND @isExistingCustomer = 0
SET @hasUpdatedDefaultCredentials = 1 --change Pin
IF @createdFrom = 'A'
SET @hasUpdatedDefaultCredentials = 2 --change pin & password
IF @createdFrom = 'O'
SET @hasUpdatedDefaultCredentials = 0
END
ELSE
SET @hasUpdatedDefaultCredentials = 0
IF(@hasUpdatedDefaultCredentials=0 and @isForcePassChangeMob=1)
BEGIN
SET @hasUpdatedDefaultCredentials = 3 -- change password only
END
--OR cm.mobile=@userName future use
DECLARE @hasPennyTestDone VARCHAR(1)='0'
SELECT @hasPennyTestDone = '1'
IF @customerId IS NULL
BEGIN
EXEC proc_errorHandler 1, 'Unauthorized access found, Please contact GME support', @userName
RETURN
END
IF EXISTS(SELECT TOP 1 'x' FROM dbo.customerMaster(NOLOCK) WHERE approvedDate < '2018-12-19' AND customerId = @customerId)
BEGIN
SET @hasPennyTestDone = '2'
END
SET @hasPennyTestDone = '2'
IF ISNULL(@IsActive,'N') <> 'Y'
BEGIN
EXEC proc_errorHandler 1, 'Your account has blocked, Please contact GME support', @userName
RETURN
END
SELECT @YearStart = DATEADD(yy, DATEDIFF(yy, 0, GETDATE()), 0)
,@YearEnd = DATEADD(yy, DATEDIFF(yy, 0, GETDATE()) + 1, -1)+' 23:59:59'
SELECT @totalSend = SUM(R.tAmt)--SUM(ROUND(R.tAmt/(R.sCurrCostRate+R.sCurrHoMargin), 2, 0))
FROM REMITTRAN R(NOLOCK)
INNER JOIN TRANSENDERS T(NOLOCK) ON T.TRANID = R.ID
AND T.CUSTOMERID = @customerId
AND R.TRANSTATUS <> 'Cancel'
AND R.approvedDate BETWEEN @YearStart AND @YearEnd
SET @yearlyLimit = (@yearlyLimit - ISNULL(@totalSend, 0))
UPDATE mobile_userRegistration SET
appVersion = @appVersion
,phoneBrand = @phoneBrand
,phoneOS = @phoneOS
,deviceId = ISNULL(@fcmId, deviceId)
,osVersion = @osVersion
WHERE customerId=@customerId
SELECT
'0' ErrorCode
,@userName userId
,cust.customerId SenderId
,ISNULL(cust.firstName,'') firstName
--,ISNULL(cust.middleName,'') middleName
--,ISNULL(cust.lastName1,'') lastName
--,'' nickName
,ISNULL(cust.email,'') email
,ISNULL(cust.customerEmail,'') AS customerEmail
,ISNULL(cust.mobile,'') phone
,CONVERT(VARCHAR(10),cust.dob,120) dob
--,cust.idType AS idType
--,cust.idNumber AS idNumber
,cm1.countryCode AS countryCode
,CAST(ISNULL(cust.bonusPoint,0) AS DECIMAL) rewardPoint
,CASE WHEN ISNULL(cust.isActive,'N')='Y' THEN 1 ELSE 0 END active
,ISNULL(HasDeclare, 0) kyc
,CASE WHEN mobileVerifiedDate IS NOT NULL THEN 1 ELSE 0 END verified
--,CASE WHEN ISNULL(isExistingCustomer, 1) = 0 THEN CASE WHEN cust.ApprovedDate IS NOT NULL THEN 1 ELSE 0 END
-- ELSE CASE WHEN mobileVerifiedDate IS NOT NULL THEN 1 ELSE 0 END END verified
,ISNULL(cust.walletAccountNo,'') walletNumber
,FORMAT([dbo].FNAGetCustomerACBal(cust.username) ,'0,00') availableBalance
--,ISNULL(bl.BankName,'') primaryBankName
,cust.username
,primaryBankName='Fast Remit Bank'--CASE WHEN cust.customerType='11048' THEN N'저축은행 (050)' ELSE 'Kwangju Bank (034)' END
,'' dpUrl
,ISNULL(ur.cmRegistrationId,'') cmRegistrationId
,ISNULL(co.countryName,'') country
,ISNULL(cust.city,'') city
,ISNULL(cust.[address],'') [address]
,ISNULL(cust.state2,'') [province]
,ISNULL(cm.cityId,'') [provinceId]
,CASE WHEN cust.referelCode IS NOT NULL THEN 1 ELSE 0 END isReferred
,ISNULL(sdv.valueId,'') sourceId
,yearlyLimit= FORMAT(@yearlyLimit,'0,00')
,PennyTestStatus = @hasPennyTestDone-----0 not started, 1 requested , 2 completed
,kcm.accessTokenRegTime
,kcm.accessTokenExpTime
,redirectTo = @redirectTo
,cust.membershipId as referelCode
,agreeYn = ISNULL(cust.agreeYn, 0)
,isExistingCustomer = ISNULL(isExistingCustomer, 1)
,hasUpdatedDefaultCredentials = ISNULL(@hasUpdatedDefaultCredentials, 0)
,hasVerifiedOTP = ISNULL(isEmailVerified, 0)
,IsBiometricLogin = ISNULL(IsBiometricLogin, 0)
,BiometricLoginType = ISNULL(BiometricLoginType, '')
--,CASE ur.isForcePassChange WHEN '1' THEN 'Y' ELSE 'N' END IsForcedPwdChange
FROM (SELECT TOP 1 * FROM customerMaster(NOLOCK) cust WHERE cust.customerId = @customerId)cust
LEFT JOIN dbo.countryMaster AS CM1 ON cm1.countryId=cust.nativeCountry
LEFT JOIN mobile_userRegistration(NOLOCK) ur ON cust.customerId=ur.customerId
LEFT JOIN dbo.vwBankLists (NOLOCK) bl ON cust.bankName=bl.rowId
LEFT JOIN countryMaster co(NOLOCK) ON cust.country=co.countryId
LEFT JOIN staticDatavalue sdv(NOLOCK) ON cust.sourceOfFund = sdv.detailTitle AND sdv.typeID = '3900' AND ISNULL(sdv.IS_DELETE,'N')='N'
LEFT JOIN dbo.CityMaster cm(NOLOCK) ON cust.state2 = cm.cityName
LEFT JOIN dbo.KFTC_CUSTOMER_MASTER(NOLOCK) kcm ON cust.customerId = kcm.customerId
--WHERE cust.customerId = @customerId AND ISNULL(sdv.IS_DELETE,'N')='N'
RETURN
END
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION
DECLARE @errorMessage VARCHAR(MAX)
SET @errorMessage = ERROR_MESSAGE()
SELECT '1' ErrorCode, @errorMessage Msg ,NULL ID
END CATCH