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

1 year ago
  1. ALTER PROCEDURE [dbo].[mobile_proc_customerMaster]
  2. @flag VARCHAR(30)
  3. ,@userName VARCHAR(100) = NULL
  4. ,@firstName VARCHAR(50) = NULL
  5. ,@middleName VARCHAR(50) = NULL
  6. ,@lastName VARCHAR(50) = NULL
  7. ,@nickName VARCHAR(100) = NULL
  8. ,@mobileNumber VARCHAR(30) = NULL
  9. ,@email VARCHAR(100) = NULL
  10. ,@gender VARCHAR(15) = NULL
  11. ,@dateOfBirth DATETIME = NULL
  12. ,@nativeCountry VARCHAR(100) = NULL
  13. ,@country VARCHAR(100) = NULL
  14. ,@address VARCHAR(150) = NULL
  15. ,@city VARCHAR(50) = NULL
  16. ,@province VARCHAR(50) = NULL
  17. ,@occupation VARCHAR(100) = NULL
  18. ,@primaryBankName VARCHAR(200) = NULL
  19. ,@primaryAccountNumber VARCHAR(100) = NULL
  20. ,@verificationIdType VARCHAR(50) = NULL
  21. ,@verificationIdNumber VARCHAR(50) = NULL
  22. ,@issueDate DATETIME = NULL
  23. ,@expiryDate DATETIME = NULL
  24. ,@regIdcardFrontUrl VARCHAR(200) = NULL
  25. ,@regIdcardBackUrl VARCHAR(200) = NULL
  26. ,@passbookUrl VARCHAR(200) = NULL
  27. ,@passportUrl VARCHAR(200) = NULL
  28. ,@selfieUrl VARCHAR(300) = NULL
  29. -- CDD parameters
  30. ,@cddCode VARCHAR(100) = NULL
  31. ,@sourceOfFund VARCHAR(500) = NULL
  32. ,@referralCode VARCHAR(100) = NULL
  33. ,@appVersion VARCHAR(100) = NULL
  34. ,@phoneBrand VARCHAR(100) = NULL
  35. ,@phoneOS VARCHAR(100) = NULL
  36. ,@fcmId VARCHAR(MAX) = NULL
  37. ,@osVersion VARCHAR(100) = NULL
  38. ,@fullName VARCHAR(200) = NULL
  39. ,@passportNumber VARCHAR(100) = NULL
  40. ,@anotherIDType VARCHAR(20) = NULL
  41. ,@anotherIDNumber VARCHAR(20) = NULL
  42. ,@branch VARCHAR(20) = NULL
  43. ,@type INT = NULL
  44. AS
  45. SET NOCOUNT ON;
  46. SET XACT_ABORT ON;
  47. BEGIN TRY
  48. ------------------------------------------------------------------------------------------------------------
  49. --select column [mobile_userRegistration].isForcePassChange
  50. ------------------------------------------------------------------------------------------------------------
  51. DECLARE @errorMsg VARCHAR(MAX),@customerId BIGINT,@yearlyLimit MONEY,@totalSend MONEY,
  52. @totalSendText VARCHAR(200), @YearStart DATE, @YearEnd DATETIME,@cust BIGINT = NULL;
  53. DECLARE @IsActive CHAR(1)
  54. DECLARE @redirectTo VARCHAR(100) = ''
  55. SET @country = '118';
  56. SET @firstName = UPPER(@firstName)
  57. SET @middleName = UPPER(@middleName)
  58. SET @lastName = UPPER(@lastName)
  59. SET @fullName = @firstName + ISNULL(' ' + @middleName, '') + ISNULL(' ' + @lastName, '')
  60. IF @flag='i'
  61. BEGIN
  62. --SELECT @customerId = customerId FROM customerMasterTemp with (nolock)
  63. --WHERE email = @username OR mobile = @username
  64. --CHECK FOR customer IN temp table
  65. SELECT @customerId = customerId FROM customerMasterTemp with (nolock)
  66. WHERE username = @userName
  67. IF @customerId IS NULL
  68. BEGIN
  69. IF EXISTS(SELECT TOP 1 'A' FROM customerMaster(NOLOCK) WHERE userName = @userName)
  70. BEGIN
  71. SELECT @errorMsg = 'It looks like you are already registered in GME system!'
  72. EXEC proc_errorHandler 1, @errorMsg, @userName
  73. RETURN
  74. END
  75. END
  76. SELECT @email = @userName
  77. BEGIN TRANSACTION
  78. UPDATE dbo.customerMasterTemp SET
  79. firstName = @fullName,
  80. fullName = @fullName,
  81. nickName = @nickName,
  82. mobile = @mobileNumber,
  83. homePhone = @verificationIdNumber,
  84. --email=@email,
  85. gender = CASE WHEN UPPER(@gender) = 'M' THEN '97' WHEN UPPER(@gender) = 'F' THEN '98' ELSE '99' END ,
  86. --dob=@dateOfBirth,
  87. nativeCountry= @nativeCountry,
  88. country = @country,
  89. [address] = @address,
  90. city = @province,
  91. state2 = @province,
  92. occupation = @occupation,
  93. bankName = @primaryBankName,
  94. bankAccountNo= @primaryAccountNumber,
  95. idNumber = @verificationIdNumber,
  96. idType = @verificationIdType,
  97. idIssueDate = @issueDate,
  98. createdDate = GETDATE(),
  99. sourceOfFund=CASE WHEN @sourceOfFund IS NOT NULL
  100. THEN (SELECT sd.detailTitle FROM dbo.staticDataValue sd(NOLOCK) WHERE sd.valueId=@sourceOfFund)
  101. ELSE sourceOfFund
  102. END,
  103. idExpiryDate= @expiryDate,
  104. verifyDoc1 = @regIdcardFrontUrl,
  105. verifyDoc2 = @regIdcardBackUrl,
  106. verifyDoc3 = @passbookUrl,
  107. verifyDoc4 = @passportUrl,
  108. selfie = @selfieUrl,
  109. referelCode = @referralCode
  110. WHERE userName = @username
  111. INSERT INTO dbo.customerMaster
  112. (
  113. fullName,firstName,mobile,email,gender,dob,occupation,nativeCountry,country,bankName,bankAccountNo,idType,idNumber,homePhone,idIssueDate
  114. ,idExpiryDate,sourceOfFund,verifyDoc1,verifyDoc2,verifyDoc3,SelfieDoc,referelCode,createdBy,createdDate,isActive,onlineUser,customerPassword,[address]
  115. ,city,state2,customerType,agreeYn
  116. )
  117. SELECT fullName,CMT.firstName,mobile,email,gender,dob,CMT.occupation,nativeCountry,country,bankName,bankAccountNo,idType,idNumber,CMT.homePhone,
  118. CMT.idIssueDate,idExpiryDate,sourceOfFund,verifyDoc1,verifyDoc2,verifyDoc3,CMT.selfie,CMT.referelCode,CMT.createdBy,GETDATE(),'Y','Y',customerPassword,[address]
  119. ,state2,state2,4701,CMT.agreeYn
  120. FROM dbo.CustomerMasterTemp AS CMT(NOLOCK)
  121. WHERE CMT.customerId = @customerId
  122. SET @cust = @@IDENTITY
  123. UPDATE dbo.mobile_userRegistration SET customerId = @cust WHERE username = @username
  124. DELETE FROM customerMasterTemp WHERE username = @username
  125. COMMIT TRANSACTION
  126. IF @@TRANCOUNT=0
  127. BEGIN
  128. SELECT 0 as ERRORCODE, 'KYC Submitted successfully' AS MSG, @userName AS ID,@cust AS EXTRA
  129. --SELECT
  130. -- errorCode='0'
  131. -- ,userId=@userName
  132. -- ,firstName=ISNULL(cm.firstName, '')
  133. -- ,middleName=ISNULL(cm.middleName, '')
  134. -- ,lastName=ISNULL(cm.lastName1,'')
  135. -- ,fullname=ISNULL(cm.firstName, '') + ISNULL(' ' + cm.middleName, '') + ISNULL(' ' + cm.lastName1, '')
  136. -- ,mobileNumber=ISNULL(mobile,'')
  137. -- ,email=ISNULL(email,'')
  138. -- ,gender=ISNULL(sv.detailTitle,'')
  139. -- ,dateOfBirth=CONVERT(VARCHAR(10),dob,120)
  140. -- ,nativeCountry=ISNULL(com1.countryName,'')
  141. -- ,country=ISNULL(com.countryName,'')
  142. -- ,address=ISNULL(address,'')
  143. -- ,city=ISNULL(city,'')
  144. -- ,province=ISNULL(cm.state2,'')
  145. -- ,provinceId= cm.state2
  146. -- ,occupation=ISNULL(sdv.detailTitle,'')
  147. -- ,primaryBankName=ISNULL(bl.BankName,'')
  148. -- ,primaryAccountNumber=ISNULL(cm.bankAccountNo,'')
  149. -- ,verificationIdType=ISNULL(dv.detailTitle,'')
  150. -- ,verificationIdNumber=ISNULL(cm.idNumber,'')
  151. -- ,issueDate=CONVERT(VARCHAR(10),cm.idIssueDate,120)
  152. -- ,expiryDate=CONVERT(VARCHAR(10),cm.idExpiryDate,120)
  153. -- ,sourceOfFund=ISNULL(cm.sourceOfFund,'')
  154. -- ,regIdcardFrontUrl=ISNULL(cm.verifyDoc1,'')
  155. -- ,regIdcardBackUrl=ISNULL(cm.verifyDoc2,'')
  156. -- ,passbookUrl=ISNULL(cm.verifyDoc3,'')
  157. -- ,selfieUrl=ISNULL(cm.SelfieDoc,'')
  158. -- ,passportUrl=''
  159. --FROM dbo.customerMaster cm WITH(NOLOCK)
  160. --LEFT JOIN dbo.vwBankLists bl WITH(NOLOCK)ON cm.bankName=bl.rowId
  161. --LEFT JOIN dbo.staticDataValue sdv WITH(NOLOCK)ON cm.occupation=sdv.valueId
  162. --LEFT JOIN dbo.staticDataValue sv WITH(NOLOCK)ON cm.gender=sv.valueId
  163. --LEFT JOIN dbo.countryMaster com WITH(NOLOCK)ON cm.country=com.countryId
  164. --LEFT JOIN dbo.countryMaster com1 WITH(NOLOCK)ON cm.nativeCountry=com1.countryId
  165. --LEFT JOIN dbo.staticDataValue dv WITH(NOLOCK)ON cm.idType=dv.valueId
  166. --WHERE customerId=@cust
  167. RETURN
  168. END
  169. EXEC proc_errorHandler 1, 'Failed to Submit KYC', @userName
  170. -- SELECT errorCode='1'
  171. --,userId=''
  172. --,firstName=''
  173. --,middleName=''
  174. --,lastName=''
  175. --,fullname=''
  176. --,mobileNumber=''
  177. --,email=''
  178. --,gender=''
  179. --,dateOfBirth=''
  180. --,nativeCountry=''
  181. --,country=''
  182. --,address=''
  183. --,city=''
  184. --,province=''
  185. --,provinceId=''
  186. --,occupation=''
  187. --,primaryBankName=''
  188. --,primaryAccountNumber=''
  189. --,verificationIdType=''
  190. --,verificationIdNumber=''
  191. --,issueDate=''
  192. --,expiryDate=''
  193. --,sourceOfFund=''
  194. --,regIdcardFrontUrl=''
  195. --,regIdcardBackUrl=''
  196. --,passbookUrl=''
  197. --,passportUrl=''
  198. --,selfieUrl=''
  199. RETURN
  200. END
  201. IF @flag = 'i-V2'
  202. BEGIN
  203. --CHECK FOR customer IN temp table
  204. SELECT @customerId = customerId FROM customerMasterTemp with (nolock) WHERE username = @userName
  205. --PRINT @userName
  206. --PRINT @customerId
  207. IF @customerId IS NULL
  208. BEGIN
  209. IF EXISTS(SELECT TOP 1 'A' FROM customerMaster(NOLOCK) WHERE EMAIL = @userName)
  210. BEGIN
  211. SELECT @errorMsg = 'It looks like you are already registered in GME system!'
  212. EXEC proc_errorHandler 1, @errorMsg, @userName
  213. RETURN
  214. END
  215. END
  216. BEGIN TRANSACTION
  217. UPDATE dbo.customerMasterTemp SET
  218. firstName = @fullName,
  219. fullName = @fullName,
  220. nickName = @nickName,
  221. homePhone = @verificationIdNumber,
  222. email = @userName,
  223. customerEmail = @email,
  224. gender = CASE WHEN UPPER(@gender) = 'M' THEN '97' WHEN UPPER(@gender) = 'F' THEN '98' ELSE '99' END ,
  225. dob = @dateOfBirth,
  226. country = @country,
  227. [address] = @address,
  228. city = @city,
  229. state2 = @province,
  230. occupation = @occupation,
  231. bankName = @primaryBankName,
  232. bankAccountNo= @primaryAccountNumber,
  233. idNumber = @verificationIdNumber,
  234. idType = @verificationIdType,
  235. idIssueDate = @issueDate,
  236. createdDate = GETDATE(),
  237. sourceOfFund=CASE WHEN @sourceOfFund IS NOT NULL
  238. THEN (SELECT TOP 1 sd.detailTitle FROM dbo.staticDataValue sd(NOLOCK) WHERE sd.valueId=@sourceOfFund)
  239. ELSE sourceOfFund
  240. END,
  241. idExpiryDate= @expiryDate,
  242. verifyDoc1 = @regIdcardFrontUrl,
  243. verifyDoc2 = @regIdcardBackUrl,
  244. verifyDoc3 = @passbookUrl,
  245. verifyDoc4 = @passportUrl,
  246. selfie = @selfieUrl,
  247. referelCode = @referralCode
  248. WHERE customerId = @customerId
  249. INSERT INTO dbo.customerMaster
  250. (
  251. fullName,firstName,mobile,email,customerEmail,gender,dob,occupation,nativeCountry,country,bankName,bankAccountNo,idType,idNumber,homePhone,idIssueDate
  252. ,idExpiryDate,sourceOfFund,verifyDoc1,verifyDoc2,verifyDoc3,SelfieDoc,referelCode,createdBy,createdDate,isActive,onlineUser,customerPassword,[address]
  253. ,city,state2,customerType
  254. )
  255. SELECT fullName,CMT.firstName,mobile,email,customerEmail,gender,dob,CMT.occupation,nativeCountry,country,bankName,bankAccountNo,idType,idNumber,CMT.homePhone,
  256. CMT.idIssueDate,idExpiryDate,sourceOfFund,verifyDoc1,verifyDoc2,verifyDoc3,CMT.selfie,CMT.referelCode,CMT.createdBy,GETDATE(),'Y','Y',customerPassword,[address]
  257. ,city,state2,4701
  258. FROM dbo.CustomerMasterTemp AS CMT(NOLOCK)
  259. WHERE CMT.customerId = @customerId
  260. SET @cust = @@IDENTITY
  261. UPDATE dbo.mobile_userRegistration SET customerId = @cust WHERE username = @username
  262. DELETE FROM customerMasterTemp WHERE username = @username
  263. COMMIT TRANSACTION
  264. IF @@TRANCOUNT=0
  265. BEGIN
  266. SELECT 0 as ERRORCODE, 'KYC Submitted successfully' AS MSG, @userName AS ID,@cust AS EXTRA
  267. RETURN
  268. END
  269. EXEC proc_errorHandler 1, 'Failed to Submit KYC', @userName
  270. RETURN
  271. END
  272. IF @flag='u'
  273. BEGIN
  274. IF (YEAR(GETDATE()) - YEAR(@dateOfBirth) < 16)
  275. BEGIN
  276. EXEC proc_errorHandler 1, 'Customer Not Eligible', @userName
  277. RETURN
  278. END
  279. ----OR cm.mobile=@userName not aplicable
  280. IF NOT EXISTS(SELECT TOP 1 'x' FROM dbo.customerMaster(NOLOCK) cm WHERE cm.email = @userName )
  281. BEGIN
  282. SELECT @errorMsg = 'Customer with userId ' + @userName + ' does not exists.'
  283. EXEC proc_errorHandler 1, @errorMsg, @userName
  284. RETURN
  285. END
  286. SELECT
  287. @customerId=cm.customerId
  288. FROM dbo.customerMaster(NOLOCK) cm
  289. WHERE cm.email = @userName
  290. --OR cm.mobile=@userName
  291. BEGIN TRANSACTION
  292. UPDATE dbo.customerMaster SET
  293. firstName = ISNULL(@fullName,fullName),
  294. fullName = ISNULL(@fullName,fullName),
  295. ----nickName=ISNULL(@nickName,nickName),
  296. mobile = ISNULL(@mobileNumber,mobile),
  297. email = ISNULL(@email,email),
  298. gender = ISNULL(@gender,gender),
  299. dob = ISNULL(@dateOfBirth,dob),
  300. nativeCountry= ISNULL(@nativeCountry,nativeCountry),
  301. country = ISNULL(@country,country),
  302. [address] = ISNULL(@address,[address]),
  303. city = ISNULL(@city,city),
  304. state2 = CASE WHEN @province IS NOT NULL
  305. THEN (SELECT TOP 1 cim.cityName FROM dbo.CityMaster cim(NOLOCK) WHERE cim.cityId=@province)
  306. ELSE state2
  307. END,
  308. occupation = ISNULL(@occupation,occupation),
  309. bankName = ISNULL(@primaryBankName,bankName),
  310. bankAccountNo= ISNULL(@primaryAccountNumber,bankAccountNo),
  311. idNumber = ISNULL(@verificationIdNumber,idNumber),
  312. idType = ISNULL(@verificationIdType,idType),
  313. idIssueDate = ISNULL(@issueDate,idIssueDate),
  314. sourceOfFund= CASE WHEN @sourceOfFund IS NOT NULL
  315. THEN (SELECT TOP 1 sd.detailTitle FROM dbo.staticDataValue sd(NOLOCK) WHERE sd.valueId=@sourceOfFund)
  316. ELSE sourceOfFund
  317. END,
  318. idExpiryDate= ISNULL(@expiryDate,idExpiryDate),
  319. verifyDoc1 = ISNULL(@regIdcardFrontUrl,verifyDoc1),
  320. verifyDoc2 = ISNULL(@regIdcardBackUrl,verifyDoc2),
  321. verifyDoc3 = ISNULL(@passbookUrl,verifyDoc3),
  322. SelfieDoc = ISNULL(@selfieUrl,SelfieDoc)
  323. FROM customermaster(NOLOCK) cust
  324. WHERE cust.customerId=@customerId
  325. IF @@TRANCOUNT>0
  326. COMMIT TRANSACTION
  327. SELECT errorCode ='0'
  328. ,userId =@userName
  329. ,firstName=ISNULL(cm.firstName, '')
  330. ,middleName=ISNULL(cm.middleName, '')
  331. ,lastName=ISNULL(cm.lastName1,'')
  332. ,fullname =ISNULL(cm.firstName, '') + ISNULL(' ' + cm.middleName, '') + ISNULL(' ' + cm.lastName1, '')
  333. ,nickName = ''
  334. ,mobileNumber=ISNULL(mobile,'')
  335. ,email=ISNULL(email,'')
  336. ,gender=ISNULL(sv.detailTitle,'')
  337. ,dateOfBirth=CONVERT(VARCHAR(10),dob,120)
  338. ,nativeCountry=ISNULL(com1.countryName,'')
  339. ,country=ISNULL(com.countryName,'')
  340. ,[address]=ISNULL([address],'')
  341. ,city=ISNULL(city,'')
  342. ,province=ISNULL(cm.state2,'')
  343. ,provinceId=ISNULL(cim.cityId,'')
  344. ,occupation=ISNULL(sdv.detailTitle,'')
  345. ,primaryBankName='Fast Remit Bank'--bl.BankName
  346. ,primaryAccountNumber=ISNULL(cm.bankAccountNo,'')
  347. ,verificationIdType=ISNULL(dv.detailTitle,'')
  348. ,verificationIdNumber=ISNULL(cm.idNumber,'')
  349. ,issueDate=CONVERT(VARCHAR(10),cm.idIssueDate,120)
  350. ,expiryDate=CONVERT(VARCHAR(10),cm.idExpiryDate,120)
  351. ,sourceOfFund=ISNULL(cm.sourceOfFund,'')
  352. ,regIdcardFrontUrl=ISNULL(cm.verifyDoc1,'')
  353. ,regIdcardBackUrl=ISNULL(cm.verifyDoc2,'')
  354. ,passbookUrl=ISNULL(cm.verifyDoc3,'')
  355. ,passportUrl=''
  356. ,selfieUrl=ISNULL(cm.SelfieDoc,'')
  357. FROM (SELECT TOP 1 * FROM dbo.customerMaster(NOLOCK) cm WHERE cm.customerId = @customerId)cm
  358. LEFT JOIN dbo.vwBankLists(NOLOCK) bl ON cm.bankName=bl.bankCode
  359. LEFT JOIN mobile_userRegistration(NOLOCK) v ON cm.customerId=v.customerId
  360. LEFT JOIN dbo.staticDataValue(NOLOCK) sdv ON cm.occupation=sdv.valueId
  361. LEFT JOIN dbo.staticDataValue(NOLOCK) sv ON cm.gender=sv.valueId
  362. LEFT JOIN dbo.countryMaster(NOLOCK) com ON cm.country=com.countryId
  363. LEFT JOIN dbo.staticDataValue(NOLOCK) dv ON cm.idType=dv.valueId
  364. LEFT JOIN dbo.countryMaster(NOLOCK) com1 ON cm.nativeCountry=com1.countryId
  365. LEFT JOIN dbo.CityMaster cim(NOLOCK) ON LTRIM(RTRIM(cim.cityName))=LTRIM(RTRIM(cm.state2))
  366. --WHERE cm.customerId = @customerId
  367. RETURN
  368. END
  369. IF @flag='s'
  370. BEGIN
  371. IF NOT EXISTS(SELECT TOP 1 'x' FROM dbo.customerMaster(NOLOCK) cm WHERE cm.email=@userName OR cm.mobile=@userName)
  372. BEGIN
  373. SELECT @errorMsg = 'Customer with userId ' + @userName + ' does not exists.'
  374. EXEC proc_errorHandler 1, @errorMsg, @userName
  375. RETURN
  376. END
  377. SELECT
  378. @customerId=cm.customerId
  379. FROM dbo.customerMaster(NOLOCK) cm
  380. WHERE cm.email = @userName OR cm.mobile = @userName
  381. SELECT
  382. errorCode='0'
  383. ,userId = @userName
  384. ,firstName = ISNULL(cm.firstName, '')
  385. ,middleName = ''
  386. ,lastName = ''
  387. ,fullname = ISNULL(cm.fullName, '')
  388. ,nickName = ''
  389. ,mobileNumber= ISNULL(mobile,'')
  390. ,email = ISNULL(email,'')
  391. ,gender = ISNULL(sv.detailTitle,'')
  392. ,dateOfBirth= CONVERT(VARCHAR(10),dob,120)
  393. ,nativeCountry= ISNULL(com1.countryName,'')
  394. ,country = 'South Korea'
  395. ,address = ISNULL(address,'')
  396. ,city = ISNULL(city,'')
  397. ,province = ISNULL(cm.state2,'')
  398. ,provinceId = ISNULL(cim.cityId,'')
  399. ,occupation = ISNULL(sdv.detailTitle,'')
  400. ,primaryBankName='Fast Remit Bank'--ISNULL(bl.BankName,'')
  401. ,primaryAccountNumber=ISNULL(cm.bankAccountNo,'')
  402. ,verificationIdType=ISNULL(dv.detailTitle,'')
  403. ,verificationIdNumber=ISNULL(cm.idNumber,'')
  404. ,issueDate = CONVERT(VARCHAR(10),cm.idIssueDate,120)
  405. ,expiryDate = CONVERT(VARCHAR(10),cm.idExpiryDate,120)
  406. ,sourceOfFund= ISNULL(cm.sourceOfFund,'')
  407. ,regIdcardFrontUrl=ISNULL(cm.verifyDoc1,'')
  408. ,regIdcardBackUrl=ISNULL(cm.verifyDoc2,'')
  409. ,passbookUrl= ISNULL(cm.verifyDoc3,'')
  410. ,selfieUrl = ISNULL(cm.SelfieDoc,'')
  411. FROM (SELECT TOP 1 * FROM dbo.customerMaster cm WITH(NOLOCK) WHERE customerId = @customerId)cm
  412. LEFT JOIN dbo.vwBankLists bl WITH(NOLOCK) ON cm.bankName = bl.bankCode
  413. LEFT JOIN dbo.staticDataValue sdv WITH(NOLOCK) ON cm.occupation = sdv.valueId
  414. LEFT JOIN dbo.staticDataValue sv WITH(NOLOCK) ON cm.gender = sv.valueId
  415. LEFT JOIN dbo.countryMaster com1 WITH(NOLOCK) ON cm.nativeCountry = com1.countryId
  416. LEFT JOIN dbo.staticDataValue dv WITH(NOLOCK) ON cm.idType = dv.valueId
  417. LEFT JOIN dbo.CityMaster cim(NOLOCK) ON cim.cityName = cm.state2
  418. --WHERE customerId=@customerId
  419. RETURN
  420. END
  421. IF @flag='getUser' --customer due deligience(static data values)
  422. BEGIN
  423. -- OR cm.mobile=@userName USE IN FUTURE
  424. IF EXISTS(SELECT TOP 1 'x' FROM dbo.customerMaster(NOLOCK) cm WHERE cm.email=@userName)
  425. BEGIN
  426. --DECLARE @yearlyLimit VARCHAR(100)=''
  427. --DECLARE @YearStart DATE, @YearEnd DATETIME
  428. SELECT @YearStart = DATEADD(yy, DATEDIFF(yy, 0, GETDATE()), 0)
  429. ,@YearEnd = DATEADD(yy, DATEDIFF(yy, 0, GETDATE()) + 1, -1)+' 23:59:59'
  430. --deCLARE @CUSTID BIGINT
  431. SELECT @customerId = customerId FROM dbo.customerMaster(NOLOCK) cm WHERE cm.email = @userName
  432. --OR cm.mobile=@userName USE IN FUTURE
  433. SELECT @totalSend = SUM(ROUND(R.tAmt/(R.sCurrCostRate+R.sCurrHoMargin), 2, 0))
  434. FROM REMITTRAN R(NOLOCK)
  435. INNER JOIN TRANSENDERS T(NOLOCK) ON T.TRANID = R.ID
  436. AND T.CUSTOMERID = @customerId
  437. AND R.TRANSTATUS <> 'Cancel'
  438. AND R.approvedDate BETWEEN @YearStart AND @YearEnd
  439. SELECT @yearlyLimit = amount
  440. FROM dbo.csDetail CD(NOLOCK)
  441. INNER JOIN csMaster CM(NOLOCK) ON CM.csMasterId = CD.csMasterId
  442. AND CD.period = 365
  443. AND CD.condition = 4600
  444. AND ISNULL(CD.isActive, 'Y') = 'Y'
  445. AND ISNULL(CD.isDeleted, 'N') = 'N'
  446. AND ISNULL(CD.isEnable, 'Y') = 'Y'
  447. AND ISNULL(CM.isActive, 'Y') = 'Y'
  448. AND ISNULL(CM.isDeleted, 'N') = 'N'
  449. SET @yearlyLimit = (@yearlyLimit - ISNULL(@totalSend, 0))
  450. SELECT
  451. @customerId=cm.customerId
  452. FROM dbo.customerMaster(NOLOCK) cm WHERE cm.email = @userName
  453. --OR cm.mobile=@userName ## not applicable
  454. SELECT
  455. errorCode = '0'
  456. ,userId = @userName
  457. ,firstName = ISNULL(cm.firstName, '')
  458. ,middleName = ISNULL(cm.middleName, '')
  459. ,lastName = ISNULL(cm.lastName1,'')
  460. ,nickName = ''
  461. ,email = ISNULL(cm.email,'')
  462. ,mobileNumber = ISNULL(cm.mobile,'')
  463. ,verificationCode= ISNULL(ur.OTP,'')
  464. ,VerificationCodeExpiryDate=''
  465. ,createdDate = CONVERT(VARCHAR(10),ur.createdDate,120)
  466. ,userRoles = ''
  467. ,rewardPoint = CAST(ISNULL(cm.bonusPoint,0) AS DECIMAL)
  468. ,isActive = CASE WHEN ISNULL(cm.isActive,'Y')='Y' THEN 1 ELSE 0 END
  469. ,hasKYC = CASE WHEN ISNULL(cm.createdDate,'')<>'' THEN 1 ELSE 0 END
  470. ,isVerified = CASE WHEN cm.approvedDate IS NOT NULL THEN 1 ELSE 0 END
  471. ,forgetCode = ISNULL(ur.passRecoveryCode,'')
  472. ,ForgetCodeExpiryDate=''
  473. ,primaryBankName= 'Fast Remit Bank'--CASE WHEN cm.customerType='11048' THEN N'WSB (050)' ELSE 'Kwangju Bank (034)' END
  474. ,walletNumber = ISNULL(cm.walletAccountNo,'')
  475. ,availableBalance= @yearlyLimit -- CAST([dbo].FNAGetCustomerACBal(@userName) AS DECIMAL) --change this with yearly limit after fix in mobile
  476. ,dpUrl = ''
  477. ,ISNULL(ur.cmRegistrationId,'') cmRegistrationId
  478. ,yearlyLimit = FORMAT(@yearlyLimit,'0,00') --@yearlyLimit
  479. FROM (SELECT TOP 1 * FROM dbo.customerMaster cm WITH(NOLOCK) WHERE customerId = @customerId)cm
  480. LEFT JOIN dbo.mobile_userRegistration(NOLOCK) ur ON ur.customerId=cm.customerId
  481. LEFT JOIN dbo.vwBankLists bl WITH(NOLOCK) ON bl.bankCode=cm.bankName
  482. --WHERE cm.customerId=@customerId
  483. RETURN
  484. END
  485. ELSE
  486. BEGIN
  487. SELECT @errorMsg = 'Customer with userId ' + @userName + ' does not exists.'
  488. EXEC proc_errorHandler 1, @errorMsg, @userName
  489. RETURN
  490. END
  491. END
  492. IF @flag='refresh-customer-info'
  493. BEGIN
  494. DECLARE @isExistingCustomer BIT, @hasUpdatedDefaultCredentials INT,@createdFrom CHAR(1), @isForcedPwdChange INT , @isForcePassChangeMob INT
  495. SELECT @yearlyLimit = amount
  496. FROM dbo.csDetail CD(NOLOCK)
  497. INNER JOIN csMaster CM(NOLOCK) ON CM.csMasterId = CD.csMasterId
  498. AND CD.period = 365
  499. AND CD.condition = 4600
  500. AND ISNULL(CD.isActive, 'Y') = 'Y'
  501. AND ISNULL(CD.isDeleted, 'N') = 'N'
  502. AND ISNULL(CD.isEnable, 'Y') = 'Y'
  503. AND ISNULL(CM.isActive, 'Y') = 'Y'
  504. AND ISNULL(CM.isDeleted, 'N') = 'N'
  505. IF EXISTS(SELECT TOP 1 'A' from CustomerMasterTemp(nolock) where username = @userName AND isActive = 'Y')
  506. BEGIN
  507. SET @isExistingCustomer = 1
  508. IF EXISTS (SELECT * FROM CustomerMasterTemp CT(NOLOCK) WHERE username = @userName AND OldCustomerId IS NULL)
  509. BEGIN
  510. SET @isExistingCustomer = 0
  511. END
  512. UPDATE mobile_userRegistration SET
  513. appVersion = @appVersion
  514. ,phoneBrand = @phoneBrand
  515. ,phoneOS = @phoneOS
  516. ,deviceId = ISNULL(@fcmId, deviceId)
  517. ,osVersion = @osVersion
  518. WHERE customerId=(SELECT TOP 1 customerId from CustomerMasterTemp(nolock) where username = @userName AND isActive = 'Y')
  519. SELECT
  520. '0' ErrorCode
  521. ,@userName userId
  522. ,cust.customerId SenderId
  523. ,@userName firstName
  524. --,ISNULL(cust.middleName,'') middleName
  525. --,ISNULL(cust.lastName1,'') lastName
  526. --,ISNULL(cust.nickName,'') nickName
  527. ,ISNULL(cust.email,'') email
  528. ,ISNULL(cust.customerEmail,'') AS customerEmail
  529. ,ISNULL(cust.mobile,'') phone
  530. ,CONVERT(VARCHAR(10),cust.dob,120) dob
  531. --,cust.idType AS idType
  532. --,cust.idNumber AS idNumber
  533. ,'' AS countryCode
  534. ,CAST(ISNULL(cust.bonusPoint,0) AS DECIMAL) rewardPoint
  535. ,CASE WHEN ISNULL(cust.isActive,'N')='Y' THEN 1 ELSE 0 END active
  536. ,kyc = 0
  537. ,verified = 0
  538. ,'' walletNumber
  539. ,0 availableBalance
  540. ,'Fast Remit Bank' primaryBankName
  541. ,ISNULL(dpUrl,'') dpUrl
  542. ,ISNULL(ur.cmRegistrationId,'') cmRegistrationId
  543. ,ISNULL(co.countryName,'') country
  544. ,'' city
  545. ,'' [address]
  546. ,'' [province]
  547. ,'' [provinceId]
  548. ,CASE WHEN cust.referelCode IS NOT NULL THEN 1 ELSE 0 END isReferred
  549. ,'' sourceId
  550. ,yearlyLimit=FORMAT(@yearlyLimit,'0,00')
  551. ,PennyTestStatus = '2'
  552. ,'' accessTokenRegTime ,'' accessTokenExpTime
  553. ,redirectTo = @redirectTo
  554. ,cust.membershipId AS referelCode
  555. --,cust.referelCode
  556. ,agreeYn = ISNULL(cust.agreeYn, 0)
  557. ,isExistingCustomer = @isExistingCustomer
  558. ,hasUpdatedDefaultCredentials = 2
  559. ,hasVerifiedOTP = CASE WHEN ISNULL(isEmailVerified, 0) = 0 THEN 'False' ELSE 'True' END
  560. ,IsBiometricLogin = 0
  561. ,BiometricLoginType = ''
  562. -- ,CASE ur.isForcePassChange WHEN '1' THEN 'Y' ELSE 'N' END IsForcedPwdChange
  563. FROM (SELECT TOP 1 * FROM CustomerMasterTemp(NOLOCK) cust WHERE cust.username = @userName)cust
  564. LEFT JOIN mobile_userRegistration(NOLOCK) ur ON cust.customerId=ur.customerId
  565. LEFT JOIN countryMaster co(NOLOCK) ON cust.country=co.countryId
  566. LEFT JOIN dbo.CityMaster cm(NOLOCK) ON cust.state2 = cm.cityName
  567. --WHERE cust.email = @userName
  568. RETURN
  569. END
  570. SELECT
  571. @customerId=cm.customerId,@IsActive = isActive, @createdFrom = ISNULL(createdFrom, 'O'), @isForcedPwdChange = ISNULL(isForcedPwdChange, 2),
  572. @isExistingCustomer = ISNULL(isexistingcustomer, 0), @isForcePassChangeMob= ISNULL( ur.isForcePassChange,0)
  573. FROM dbo.customerMaster(NOLOCK) cm
  574. INNER JOIN mobile_userRegistration(NOLOCK) ur on cm.customerId=ur.customerId
  575. WHERE cm.username = @userName
  576. IF @isForcedPwdChange <> 0
  577. BEGIN
  578. IF @createdFrom = 'C'
  579. SET @hasUpdatedDefaultCredentials = 2
  580. IF @createdFrom = 'M' AND @isExistingCustomer = 1
  581. SET @hasUpdatedDefaultCredentials = 0
  582. IF @createdFrom = 'M' AND @isExistingCustomer = 0
  583. SET @hasUpdatedDefaultCredentials = 1 --change Pin
  584. IF @createdFrom = 'A'
  585. SET @hasUpdatedDefaultCredentials = 2 --change pin & password
  586. IF @createdFrom = 'O'
  587. SET @hasUpdatedDefaultCredentials = 0
  588. END
  589. ELSE
  590. SET @hasUpdatedDefaultCredentials = 0
  591. IF(@hasUpdatedDefaultCredentials=0 and @isForcePassChangeMob=1)
  592. BEGIN
  593. SET @hasUpdatedDefaultCredentials = 3 -- change password only
  594. END
  595. --OR cm.mobile=@userName future use
  596. DECLARE @hasPennyTestDone VARCHAR(1)='0'
  597. SELECT @hasPennyTestDone = '1'
  598. IF @customerId IS NULL
  599. BEGIN
  600. EXEC proc_errorHandler 1, 'Unauthorized access found, Please contact GME support', @userName
  601. RETURN
  602. END
  603. IF EXISTS(SELECT TOP 1 'x' FROM dbo.customerMaster(NOLOCK) WHERE approvedDate < '2018-12-19' AND customerId = @customerId)
  604. BEGIN
  605. SET @hasPennyTestDone = '2'
  606. END
  607. SET @hasPennyTestDone = '2'
  608. IF ISNULL(@IsActive,'N') <> 'Y'
  609. BEGIN
  610. EXEC proc_errorHandler 1, 'Your account has blocked, Please contact GME support', @userName
  611. RETURN
  612. END
  613. SELECT @YearStart = DATEADD(yy, DATEDIFF(yy, 0, GETDATE()), 0)
  614. ,@YearEnd = DATEADD(yy, DATEDIFF(yy, 0, GETDATE()) + 1, -1)+' 23:59:59'
  615. SELECT @totalSend = SUM(R.tAmt)--SUM(ROUND(R.tAmt/(R.sCurrCostRate+R.sCurrHoMargin), 2, 0))
  616. FROM REMITTRAN R(NOLOCK)
  617. INNER JOIN TRANSENDERS T(NOLOCK) ON T.TRANID = R.ID
  618. AND T.CUSTOMERID = @customerId
  619. AND R.TRANSTATUS <> 'Cancel'
  620. AND R.approvedDate BETWEEN @YearStart AND @YearEnd
  621. SET @yearlyLimit = (@yearlyLimit - ISNULL(@totalSend, 0))
  622. UPDATE mobile_userRegistration SET
  623. appVersion = @appVersion
  624. ,phoneBrand = @phoneBrand
  625. ,phoneOS = @phoneOS
  626. ,deviceId = ISNULL(@fcmId, deviceId)
  627. ,osVersion = @osVersion
  628. WHERE customerId=@customerId
  629. SELECT
  630. '0' ErrorCode
  631. ,@userName userId
  632. ,cust.customerId SenderId
  633. ,ISNULL(cust.firstName,'') firstName
  634. --,ISNULL(cust.middleName,'') middleName
  635. --,ISNULL(cust.lastName1,'') lastName
  636. --,'' nickName
  637. ,ISNULL(cust.email,'') email
  638. ,ISNULL(cust.customerEmail,'') AS customerEmail
  639. ,ISNULL(cust.mobile,'') phone
  640. ,CONVERT(VARCHAR(10),cust.dob,120) dob
  641. --,cust.idType AS idType
  642. --,cust.idNumber AS idNumber
  643. ,cm1.countryCode AS countryCode
  644. ,CAST(ISNULL(cust.bonusPoint,0) AS DECIMAL) rewardPoint
  645. ,CASE WHEN ISNULL(cust.isActive,'N')='Y' THEN 1 ELSE 0 END active
  646. ,ISNULL(HasDeclare, 0) kyc
  647. ,CASE WHEN mobileVerifiedDate IS NOT NULL THEN 1 ELSE 0 END verified
  648. --,CASE WHEN ISNULL(isExistingCustomer, 1) = 0 THEN CASE WHEN cust.ApprovedDate IS NOT NULL THEN 1 ELSE 0 END
  649. -- ELSE CASE WHEN mobileVerifiedDate IS NOT NULL THEN 1 ELSE 0 END END verified
  650. ,ISNULL(cust.walletAccountNo,'') walletNumber
  651. ,FORMAT([dbo].FNAGetCustomerACBal(cust.username) ,'0,00') availableBalance
  652. --,ISNULL(bl.BankName,'') primaryBankName
  653. ,cust.username
  654. ,primaryBankName='Fast Remit Bank'--CASE WHEN cust.customerType='11048' THEN N'ȕ�@lj� (050)' ELSE 'Kwangju Bank (034)' END
  655. ,'' dpUrl
  656. ,ISNULL(ur.cmRegistrationId,'') cmRegistrationId
  657. ,ISNULL(co.countryName,'') country
  658. ,ISNULL(cust.city,'') city
  659. ,ISNULL(cust.[address],'') [address]
  660. ,ISNULL(cust.state2,'') [province]
  661. ,ISNULL(cm.cityId,'') [provinceId]
  662. ,CASE WHEN cust.referelCode IS NOT NULL THEN 1 ELSE 0 END isReferred
  663. ,ISNULL(sdv.valueId,'') sourceId
  664. ,yearlyLimit= FORMAT(@yearlyLimit,'0,00')
  665. ,PennyTestStatus = @hasPennyTestDone-----0 not started, 1 requested , 2 completed
  666. ,kcm.accessTokenRegTime
  667. ,kcm.accessTokenExpTime
  668. ,redirectTo = @redirectTo
  669. ,cust.membershipId as referelCode
  670. ,agreeYn = ISNULL(cust.agreeYn, 0)
  671. ,isExistingCustomer = ISNULL(isExistingCustomer, 1)
  672. ,hasUpdatedDefaultCredentials = ISNULL(@hasUpdatedDefaultCredentials, 0)
  673. ,hasVerifiedOTP = ISNULL(isEmailVerified, 0)
  674. ,IsBiometricLogin = ISNULL(IsBiometricLogin, 0)
  675. ,BiometricLoginType = ISNULL(BiometricLoginType, '')
  676. --,CASE ur.isForcePassChange WHEN '1' THEN 'Y' ELSE 'N' END IsForcedPwdChange
  677. FROM (SELECT TOP 1 * FROM customerMaster(NOLOCK) cust WHERE cust.customerId = @customerId)cust
  678. LEFT JOIN dbo.countryMaster AS CM1 ON cm1.countryId=cust.nativeCountry
  679. LEFT JOIN mobile_userRegistration(NOLOCK) ur ON cust.customerId=ur.customerId
  680. LEFT JOIN dbo.vwBankLists (NOLOCK) bl ON cust.bankName=bl.rowId
  681. LEFT JOIN countryMaster co(NOLOCK) ON cust.country=co.countryId
  682. LEFT JOIN staticDatavalue sdv(NOLOCK) ON cust.sourceOfFund = sdv.detailTitle AND sdv.typeID = '3900' AND ISNULL(sdv.IS_DELETE,'N')='N'
  683. LEFT JOIN dbo.CityMaster cm(NOLOCK) ON cust.state2 = cm.cityName
  684. LEFT JOIN dbo.KFTC_CUSTOMER_MASTER(NOLOCK) kcm ON cust.customerId = kcm.customerId
  685. --WHERE cust.customerId = @customerId AND ISNULL(sdv.IS_DELETE,'N')='N'
  686. RETURN
  687. END
  688. END TRY
  689. BEGIN CATCH
  690. IF @@TRANCOUNT > 0
  691. ROLLBACK TRANSACTION
  692. DECLARE @errorMessage VARCHAR(MAX)
  693. SET @errorMessage = ERROR_MESSAGE()
  694. SELECT '1' ErrorCode, @errorMessage Msg ,NULL ID
  695. END CATCH