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.

285 lines
20 KiB

1 year ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
11 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[JsonRx_Proc_UserRegistration_V2] Script Date: 10/12/2023 1:47:31 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. ALTER PROCEDURE [dbo].[JsonRx_Proc_UserRegistration_V2](
  9. @language VARCHAR(100) = 'en'
  10. ,@customerId VARCHAR(100) = NULL
  11. ,@username VARCHAR(100) = NULL
  12. ,@flag VARCHAR(100) = NULL
  13. ,@password VARCHAR(100) = NULL
  14. ,@txnPin VARCHAR(100) = NULL
  15. ,@idNumber VARCHAR(100) = NULL
  16. ,@clientId VARCHAR(100) = NULL
  17. ,@IMEI VARCHAR(100) = NULL
  18. ,@appVersion VARCHAR(100) = NULL
  19. ,@phoneBrand VARCHAR(100) = NULL
  20. ,@phoneOs VARCHAR(100) = NULL
  21. ,@osVersion VARCHAR(100) = NULL
  22. ,@deviceId VARCHAR(100) = NULL
  23. ,@dob VARCHAR(100) = NULL
  24. ,@uuid VARCHAR(100) = NULL
  25. ,@fcmId VARCHAR(250) = NULL
  26. ,@mobile VARCHAR(100) = NULL
  27. ,@nativeCountry VARCHAR(5) = NULL
  28. ,@referralCode VARCHAR(100) = NULL
  29. ,@referenceId BIGINT = NULL
  30. ,@fullName VARCHAR(50) = NULL
  31. ,@FirstName VARCHAR(100) = NULL
  32. ,@LastName VARCHAR(100) = NULL
  33. ,@MiddleName VARCHAR(100) = NULL
  34. ,@postalCode VARCHAR(100) = NULL
  35. ,@address1 NVARCHAR(200) = NULL
  36. ,@address2 NVARCHAR(200) = NULL
  37. ,@city VARCHAR(100) = NULL
  38. ,@gender VARCHAR(10) = NULL
  39. )AS
  40. ---------------------------------------------------
  41. -- #101 - Mobile Changes , #361 - Multi-Language
  42. -- Remove customerAgreeDocumentTbl
  43. -- SEt mobileUser='Y' for @flag='sign-up-v2-old-cust'
  44. --#684 Referral code not working for Existing Customer
  45. -- #11394 - Addition of DOB & Full name in New registration Page
  46. ---------------------------------------------------
  47. BEGIN TRY
  48. DECLARE @dobDB VARCHAR(200),@code VARCHAR(100),@_errorMsg VARCHAR(300),@verifiedDate DATETIME, @customerIdNo VARCHAR(50), @customerIdOld BIGINT = NULL,
  49. @userNameRandom VARCHAR(100), @mobileNumberCompare VARCHAR(30)
  50. IF @flag = 'sign-up-pre-old-cust'
  51. BEGIN
  52. SET @mobileNumberCompare = substring(@mobile, 4, len(@mobile)-3)
  53. IF (SELECT COUNT(0)
  54. FROM CUSTOMERMASTER (NOLOCK)
  55. WHERE IDNUMBER = @idNumber
  56. AND mobile LIKE '%' + @mobileNumberCompare
  57. AND CAST(dob AS DATE) = @dob
  58. AND ISNULL(isDeleted, 'N') = 'N'
  59. AND ISNULL(ISACTIVE, 'Y') = 'Y') > 1
  60. BEGIN
  61. SELECT 1 ErrorCode,'Duplicate data found, please contact JME Support' Msg, NULL Id
  62. RETURN
  63. END
  64. SELECT @customerIdOld = CUSTOMERID, @firstName = ISNULL(firstName, '')
  65. FROM CUSTOMERMASTER (NOLOCK)
  66. WHERE IDNUMBER = @idNumber
  67. AND mobile LIKE '%' + @mobileNumberCompare
  68. AND CAST(dob AS DATE) = @dob
  69. AND ISNULL(isDeleted, 'N') = 'N'
  70. AND ISNULL(ISACTIVE, 'Y') = 'Y'
  71. AND isExistingCustomer = 1
  72. AND USERNAME IS NULL
  73. IF @customerIdOld IS NULL
  74. BEGIN
  75. SELECT 2 ErrorCode,'No records match with provided details, please contact JME Support' Msg, NULL Id
  76. RETURN
  77. END
  78. --already registered
  79. IF EXISTS(SELECT 'x' FROM dbo.mobile_userRegistration(NOLOCK) AS MUR WHERE customerId = @customerIdOld)
  80. BEGIN
  81. SELECT 3 ErrorCode,'You are already registered with JME!' Msg, NULL Id
  82. RETURN
  83. END
  84. IF EXISTS (SELECT * FROM CustomerMasterTemp (NOLOCK) WHERE customerId = @customerIdOld AND createdBy IS NOT NULL)
  85. BEGIN
  86. SELECT 3 ErrorCode,'You are already registered with JME!' Msg, NULL Id
  87. RETURN
  88. END
  89. IF EXISTS (SELECT * FROM CustomerMaster (NOLOCK) WHERE customerId = @customerIdOld AND username IS NOT NULL)
  90. BEGIN
  91. SELECT 3 ErrorCode,'You are already registered with JME!' Msg, NULL Id
  92. RETURN
  93. END
  94. DELETE FROM dbo.CustomerMasterTemp WHERE OldCustomerId = @customerIdOld
  95. SELECT @userNameRandom = DBO.GetRandomUsername(@firstName)
  96. IF EXISTS(SELECT TOP 1 1 FROM CustomerMasterTemp (NOLOCK) WHERE USERNAME = @userNameRandom)
  97. BEGIN
  98. SET @userNameRandom = DBO.GetRandomUsername(@firstName)
  99. END
  100. INSERT INTO dbo.CustomerMasterTemp(
  101. OldCustomerId,dob,mobile,isActive, idNumber
  102. )
  103. SELECT
  104. @customerIdOld,@dob,@mobile,'N', @idNumber
  105. SET @customerId=SCOPE_IDENTITY()
  106. SELECT 0 ErrorCode, 'Success' Msg, @customerId Id, '' userName
  107. END
  108. ELSE IF @flag = 'sign-up-v2-old-cust'
  109. BEGIN
  110. IF ISNULL(@username, '') = ''
  111. BEGIN
  112. SELECT 1 ErrorCode,'Username can not be blank!' Msg, NULL Id
  113. RETURN
  114. END
  115. --user already registered
  116. IF EXISTS(SELECT 'x' FROM dbo.customerMaster AS CM(NOLOCK) WHERE CM.username = @username)
  117. BEGIN
  118. SELECT 2 ErrorCode,'Customer already registered, with this username!' Msg, NULL Id
  119. RETURN
  120. END
  121. --email already registered
  122. IF EXISTS(SELECT 'x' FROM dbo.customerMaster AS CM(NOLOCK) WHERE CM.email = @username)
  123. BEGIN
  124. SELECT 2 ErrorCode,'Customer already registered, with this email!' Msg, NULL Id
  125. RETURN
  126. END
  127. --invalid referenceid
  128. IF NOT EXISTS(SELECT 'x' FROM dbo.CustomerMasterTemp AS CM(NOLOCK) WHERE customerId = @referenceId)
  129. BEGIN
  130. SELECT 3 ErrorCode,'You can not modify email once created, please contact JME!' Msg, NULL Id
  131. RETURN
  132. END
  133. --invalid referenceid
  134. IF NOT EXISTS(SELECT 'x' FROM dbo.CustomerMasterTemp AS CM(NOLOCK) WHERE customerId = @referenceId AND createdBy IS NULL)
  135. BEGIN
  136. SELECT 4 ErrorCode,'Invalid data!' Msg, NULL Id
  137. RETURN
  138. END
  139. --user already registered
  140. IF EXISTS(SELECT 'x' FROM dbo.customerMasterTemp AS CM(NOLOCK) WHERE username = @username)
  141. BEGIN
  142. SELECT 5 ErrorCode,'User already registered!' Msg, NULL Id
  143. RETURN
  144. END
  145. --Username already taken
  146. IF EXISTS(SELECT 'x' FROM dbo.mobile_userRegistration(NOLOCK) AS MUR WHERE username = @username)
  147. BEGIN
  148. SELECT 6 ErrorCode,'Username already taken!' Msg, NULL Id
  149. RETURN
  150. END
  151. BEGIN TRAN
  152. SELECT @customerIdOld = OldCustomerId
  153. FROM CustomerMasterTemp (NOLOCK)
  154. WHERE customerId = @referenceId
  155. UPDATE CustomerMaster SET username = @username, customerPassword = dbo.FNAEncryptString(@password)
  156. ,MODIFIEDBY = @username, MODIFIEDDate = GETDATE(), isActive = 'Y', txnPin = @txnPin
  157. ,email = @username, customerEmail = @username, createdFrom = 'C', mobileUser='Y', referelCode=@referralCode
  158. WHERE customerId = @customerIdOld
  159. INSERT INTO dbo.mobile_userRegistration(
  160. clientId,username,createdDate,IMEI,appVersion,phoneBrand,phoneOs,osVersion,deviceId,customerId,cmRegistrationId
  161. )
  162. SELECT
  163. @clientId,@username,GETDATE(),@IMEI,@appVersion,@phoneBrand,@phoneOs,@osVersion,@fcmId,@customerIdOld,@uuid
  164. DELETE FROM CustomerMasterTemp WHERE customerId = @referenceId
  165. COMMIT TRAN
  166. IF @@TRANCOUNT=0
  167. BEGIN
  168. --successful registered
  169. 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
  170. --rowId, PdfName, AgreePdfPath, *
  171. --FROM customerAgreeDocumentTbl
  172. --WHERE targetObj = 'STAGING'
  173. RETURN
  174. END
  175. END
  176. IF @flag='sign-up-v2-new-cust'
  177. BEGIN
  178. DECLARE @COUNTRYID INT
  179. --user already registered
  180. IF EXISTS(SELECT 'x' FROM dbo.customerMaster AS CM(NOLOCK) WHERE CM.userName = @username )
  181. BEGIN
  182. SELECT 1 ErrorCode,'Customer already registered, with this username!' Msg, NULL Id
  183. RETURN
  184. END
  185. --user already registered
  186. IF EXISTS(SELECT 'x' FROM dbo.customerMasterTemp AS CM(NOLOCK) WHERE username=@username)
  187. BEGIN
  188. SELECT 2 ErrorCode,'User already registered!' Msg, NULL Id
  189. RETURN
  190. END
  191. --Username already taken
  192. IF EXISTS(SELECT 'x' FROM dbo.mobile_userRegistration(NOLOCK) AS MUR WHERE username=@username)
  193. BEGIN
  194. SELECT 3 ErrorCode,'Username already taken!' Msg, NULL Id
  195. RETURN
  196. END
  197. SELECT @COUNTRYID = countryId
  198. FROM countryMaster (NOLOCK)
  199. WHERE COUNTRYCODE = @nativeCountry
  200. if(@COUNTRYID IS NULL)
  201. BEGIN
  202. SET @COUNTRYID=@nativeCountry;
  203. END
  204. BEGIN TRAN
  205. INSERT INTO dbo.CustomerMasterTemp(
  206. username,customerPassword,createdBy,createdDate,isActive,nativeCountry, referelCode, idNumber, mobile , email, customerEmail, mobileUser , fullName, dob, firstName, middleName, lastName1
  207. ,city,address,gender, isEmailVerified,zipCode,ADDITIONALADDRESS
  208. )
  209. SELECT
  210. @username,dbo.FNAEncryptString(@password),@username,GETDATE(),'Y', @COUNTRYID, @referralCode, @idNumber, @mobile, @username, @username , 'Y' , @fullName, @dob,@FirstName,@MiddleName, @LastName
  211. ,@city,@address1,@gender,'0',@postalCode,@address2
  212. SET @customerId=SCOPE_IDENTITY()
  213. INSERT INTO dbo.mobile_userRegistration(
  214. clientId,username,createdDate,appVersion,phoneBrand,phoneOs,osVersion,deviceId,customerId, cmRegistrationId
  215. )
  216. SELECT
  217. @clientId,@username,GETDATE(),@appVersion,@phoneBrand,@phoneOs,@osVersion,@fcmId,@customerId, @uuid
  218. COMMIT TRAN
  219. IF @@TRANCOUNT=0
  220. BEGIN
  221. --successful registered
  222. 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
  223. RETURN
  224. END
  225. END
  226. IF @flag = 'chk-valid-referralCode'
  227. BEGIN
  228. IF NOT EXISTS(SELECT 'x' FROM dbo.customerMaster(NOLOCK) AS cm WHERE membershipId=@referralCode)
  229. BEGIN
  230. SELECT 1 ErrorCode,'Invalid Referral Code!' Msg, @referralCode Id
  231. RETURN
  232. END
  233. ELSE
  234. BEGIN
  235. SELECT 0 ErrorCode,'SUCCESS' Msg, @referralCode Id
  236. END
  237. END
  238. END TRY
  239. BEGIN CATCH
  240. IF @@TRANCOUNT<>0
  241. ROLLBACK TRAN
  242. --Execption
  243. SELECT 1 ErrorCode,dbo.GetMessage(@language,'9999')+CONVERT(VARCHAR,ERROR_LINE())+ERROR_MESSAGE() Msg, NULL Id
  244. RETURN
  245. END CATCH