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

1 year ago
3 months ago
1 year ago
1 year ago
1 year ago
3 months ago
1 year ago
3 months ago
1 year ago
1 year ago
3 months ago
1 year ago
3 months ago
1 year ago
3 months 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
3 months ago
1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[JsonRx_Proc_UserRegistration_V2] Script Date: 6/14/2024 12:04:00 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. -- #24439 - Addition of Duplicate Mobile Number Validation in @flag='sign-up-v2-old-cust' and @flag='sign-up-v2-new-cust'
  47. -- #31930 - removed referal Code Validation
  48. ---------------------------------------------------
  49. BEGIN TRY
  50. DECLARE @dobDB VARCHAR(200),@code VARCHAR(100),@_errorMsg VARCHAR(300),@verifiedDate DATETIME, @customerIdNo VARCHAR(50), @customerIdOld BIGINT = NULL,
  51. @userNameRandom VARCHAR(100), @mobileNumberCompare VARCHAR(30)
  52. IF @flag = 'sign-up-pre-old-cust'
  53. BEGIN
  54. SET @mobileNumberCompare = substring(@mobile, 4, len(@mobile)-3)
  55. IF (SELECT COUNT(0)
  56. FROM CUSTOMERMASTER (NOLOCK)
  57. WHERE IDNUMBER = @idNumber
  58. AND mobile LIKE '%' + @mobileNumberCompare
  59. AND CAST(dob AS DATE) = @dob
  60. AND ISNULL(isDeleted, 'N') = 'N'
  61. AND ISNULL(ISACTIVE, 'Y') = 'Y') > 1
  62. BEGIN
  63. SELECT 1 ErrorCode,'Duplicate data found, please contact JME Support' Msg, NULL Id
  64. RETURN
  65. END
  66. SELECT @customerIdOld = CUSTOMERID, @firstName = ISNULL(firstName, '')
  67. FROM CUSTOMERMASTER (NOLOCK)
  68. WHERE IDNUMBER = @idNumber
  69. AND mobile LIKE '%' + @mobileNumberCompare
  70. AND CAST(dob AS DATE) = @dob
  71. AND ISNULL(isDeleted, 'N') = 'N'
  72. AND ISNULL(ISACTIVE, 'Y') = 'Y'
  73. AND isExistingCustomer = 1
  74. AND USERNAME IS NULL
  75. IF @customerIdOld IS NULL
  76. BEGIN
  77. SELECT 2 ErrorCode,'No records match with provided details, please contact JME Support' Msg, NULL Id
  78. RETURN
  79. END
  80. --already registered
  81. IF EXISTS(SELECT 'x' FROM dbo.mobile_userRegistration(NOLOCK) AS MUR WHERE customerId = @customerIdOld)
  82. BEGIN
  83. SELECT 3 ErrorCode,'You are already registered with JME!' Msg, NULL Id
  84. RETURN
  85. END
  86. IF EXISTS (SELECT * FROM CustomerMasterTemp (NOLOCK) WHERE customerId = @customerIdOld AND createdBy IS NOT NULL)
  87. BEGIN
  88. SELECT 3 ErrorCode,'You are already registered with JME!' Msg, NULL Id
  89. RETURN
  90. END
  91. IF EXISTS (SELECT * FROM CustomerMaster (NOLOCK) WHERE customerId = @customerIdOld AND username IS NOT NULL)
  92. BEGIN
  93. SELECT 3 ErrorCode,'You are already registered with JME!' Msg, NULL Id
  94. RETURN
  95. END
  96. DELETE FROM dbo.CustomerMasterTemp WHERE OldCustomerId = @customerIdOld
  97. SELECT @userNameRandom = DBO.GetRandomUsername(@firstName)
  98. IF EXISTS(SELECT TOP 1 1 FROM CustomerMasterTemp (NOLOCK) WHERE USERNAME = @userNameRandom)
  99. BEGIN
  100. SET @userNameRandom = DBO.GetRandomUsername(@firstName)
  101. END
  102. INSERT INTO dbo.CustomerMasterTemp(
  103. OldCustomerId,dob,mobile,isActive, idNumber
  104. )
  105. SELECT
  106. @customerIdOld,@dob,@mobile,'N', @idNumber
  107. SET @customerId=SCOPE_IDENTITY()
  108. SELECT 0 ErrorCode, 'Success' Msg, @customerId Id, '' userName
  109. END
  110. ELSE IF @flag = 'sign-up-v2-old-cust'
  111. BEGIN
  112. IF ISNULL(@username, '') = ''
  113. BEGIN
  114. SELECT 1 ErrorCode,'Username can not be blank!' Msg, NULL Id
  115. RETURN
  116. END
  117. --user already registered
  118. IF EXISTS(SELECT 'x' FROM dbo.customerMaster AS CM(NOLOCK) WHERE CM.username = @username)
  119. BEGIN
  120. SELECT 2 ErrorCode,'Customer already registered, with this username!' Msg, NULL Id
  121. RETURN
  122. END
  123. --email already registered
  124. IF EXISTS(SELECT 'x' FROM dbo.customerMaster AS CM(NOLOCK) WHERE CM.email = @username)
  125. BEGIN
  126. SELECT 2 ErrorCode,'Customer already registered, with this email!' Msg, NULL Id
  127. RETURN
  128. END
  129. -- duplicate mobile number
  130. IF EXISTS (
  131. SELECT 1
  132. FROM customermaster
  133. WHERE
  134. (LEN(@mobile) = 10 AND (
  135. mobile = @mobile OR
  136. '+44' + mobile = @mobile
  137. ))
  138. OR
  139. (LEN(@mobile) = 13 AND (
  140. mobile = @mobile OR
  141. SUBSTRING(@mobile, 4, 10) = mobile
  142. ))
  143. )
  144. BEGIN
  145. SELECT '1' AS ErrorCode
  146. ,'Mobile No. ''' + @mobile + ''' is already used' AS Msg
  147. ,@mobile AS id;
  148. RETURN
  149. END
  150. --invalid referenceid
  151. IF NOT EXISTS(SELECT 'x' FROM dbo.CustomerMasterTemp AS CM(NOLOCK) WHERE customerId = @referenceId)
  152. BEGIN
  153. SELECT 3 ErrorCode,'You can not modify email once created, please contact JME!' Msg, NULL Id
  154. RETURN
  155. END
  156. --invalid referenceid
  157. IF NOT EXISTS(SELECT 'x' FROM dbo.CustomerMasterTemp AS CM(NOLOCK) WHERE customerId = @referenceId AND createdBy IS NULL)
  158. BEGIN
  159. SELECT 4 ErrorCode,'Invalid data!' Msg, NULL Id
  160. RETURN
  161. END
  162. --user already registered
  163. IF EXISTS(SELECT 'x' FROM dbo.customerMasterTemp AS CM(NOLOCK) WHERE username = @username)
  164. BEGIN
  165. SELECT 5 ErrorCode,'User already registered!' Msg, NULL Id
  166. RETURN
  167. END
  168. --Username already taken
  169. IF EXISTS(SELECT 'x' FROM dbo.mobile_userRegistration(NOLOCK) AS MUR WHERE username = @username)
  170. BEGIN
  171. SELECT 6 ErrorCode,'Username already taken!' Msg, NULL Id
  172. RETURN
  173. END
  174. BEGIN TRAN
  175. SELECT @customerIdOld = OldCustomerId
  176. FROM CustomerMasterTemp (NOLOCK)
  177. WHERE customerId = @referenceId
  178. UPDATE CustomerMaster SET username = @username, customerPassword = dbo.FNAEncryptString(@password)
  179. ,MODIFIEDBY = @username, MODIFIEDDate = GETDATE(), isActive = 'Y', txnPin = @txnPin
  180. ,email = @username, customerEmail = @username, createdFrom = 'C', mobileUser='Y', referelCode=@referralCode
  181. WHERE customerId = @customerIdOld
  182. INSERT INTO dbo.mobile_userRegistration(
  183. clientId,username,createdDate,IMEI,appVersion,phoneBrand,phoneOs,osVersion,deviceId,customerId,cmRegistrationId
  184. )
  185. SELECT
  186. @clientId,@username,GETDATE(),@IMEI,@appVersion,@phoneBrand,@phoneOs,@osVersion,@fcmId,@customerIdOld,@uuid
  187. DELETE FROM CustomerMasterTemp WHERE customerId = @referenceId
  188. COMMIT TRAN
  189. IF @@TRANCOUNT=0
  190. BEGIN
  191. --successful registered
  192. 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
  193. --rowId, PdfName, AgreePdfPath, *
  194. --FROM customerAgreeDocumentTbl
  195. --WHERE targetObj = 'STAGING'
  196. RETURN
  197. END
  198. END
  199. IF @flag='sign-up-v2-new-cust'
  200. BEGIN
  201. DECLARE @COUNTRYID INT
  202. --user already registered
  203. IF EXISTS(SELECT 'x' FROM dbo.customerMaster AS CM(NOLOCK) WHERE CM.userName = @username )
  204. BEGIN
  205. SELECT 1 ErrorCode,'Customer already registered, with this username!' Msg, NULL Id
  206. RETURN
  207. END
  208. IF EXISTS (
  209. SELECT 1
  210. FROM customermaster
  211. WHERE
  212. (LEN(@mobile) = 10 AND (
  213. mobile = @mobile OR
  214. '+44' + mobile = @mobile
  215. ))
  216. OR
  217. (LEN(@mobile) = 13 AND (
  218. mobile = @mobile OR
  219. SUBSTRING(@mobile, 4, 10) = mobile
  220. ))
  221. )
  222. BEGIN
  223. SELECT '1' AS ErrorCode
  224. ,'Mobile No. ''' + @mobile + ''' is already used' AS Msg
  225. ,@mobile AS id;
  226. RETURN
  227. END
  228. --user already registered
  229. IF EXISTS(SELECT 'x' FROM dbo.customerMasterTemp AS CM(NOLOCK) WHERE username=@username)
  230. BEGIN
  231. SELECT 2 ErrorCode,'User already registered!' Msg, NULL Id
  232. RETURN
  233. END
  234. --Username already taken
  235. IF EXISTS(SELECT 'x' FROM dbo.mobile_userRegistration(NOLOCK) AS MUR WHERE username=@username)
  236. BEGIN
  237. SELECT 3 ErrorCode,'Username already taken!' Msg, NULL Id
  238. RETURN
  239. END
  240. IF @referralCode IS NOT NULL
  241. BEGIN
  242. IF NOT EXISTS (SELECT 1 FROM dbo.customerMaster(NOLOCK) WHERE membershipId = @referralCode)
  243. AND NOT EXISTS (SELECT 1 FROM dbo.REFERRAL_AGENT_WISE(NOLOCK) WHERE REFERRAL_CODE = @referralCode)
  244. BEGIN
  245. SET @referralCode = NULL
  246. END
  247. END
  248. SELECT @COUNTRYID = countryId
  249. FROM countryMaster (NOLOCK)
  250. WHERE COUNTRYCODE = @nativeCountry
  251. if(@COUNTRYID IS NULL)
  252. BEGIN
  253. SET @COUNTRYID=@nativeCountry;
  254. END
  255. BEGIN TRAN
  256. INSERT INTO dbo.CustomerMasterTemp(
  257. username,customerPassword,createdBy,createdDate,isActive,nativeCountry, referelCode, idNumber, mobile , email, customerEmail, mobileUser , fullName, dob, firstName, middleName, lastName1
  258. ,city,address,gender, isEmailVerified,zipCode,ADDITIONALADDRESS
  259. )
  260. SELECT
  261. @username,dbo.FNAEncryptString(@password),@username,GETDATE(),'Y', @COUNTRYID, @referralCode, @idNumber, @mobile, @username, @username , 'Y' , @fullName, @dob,@FirstName,@MiddleName, @LastName
  262. ,@city,@address1,@gender,'0',@postalCode,@address2
  263. SET @customerId=SCOPE_IDENTITY()
  264. INSERT INTO dbo.mobile_userRegistration(
  265. clientId,username,createdDate,appVersion,phoneBrand,phoneOs,osVersion,deviceId,customerId, cmRegistrationId
  266. )
  267. SELECT
  268. @clientId,@username,GETDATE(),@appVersion,@phoneBrand,@phoneOs,@osVersion,@fcmId,@customerId, @uuid
  269. COMMIT TRAN
  270. IF @@TRANCOUNT=0
  271. BEGIN
  272. --successful registered
  273. 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
  274. RETURN
  275. END
  276. END
  277. IF @flag = 'chk-valid-referralCode'
  278. BEGIN
  279. --IF NOT EXISTS (SELECT 1 FROM dbo.customerMaster(NOLOCK) WHERE membershipId = @referralCode)
  280. -- AND NOT EXISTS (SELECT 1 FROM dbo.REFERRAL_AGENT_WISE(NOLOCK) WHERE REFERRAL_CODE = @referralCode)
  281. --BEGIN
  282. -- SELECT 1 ErrorCode,'Invalid Referral Code!' Msg, @referralCode Id
  283. -- RETURN
  284. --END
  285. --ELSE
  286. BEGIN
  287. SELECT 0 ErrorCode,'SUCCESS' Msg, @referralCode Id
  288. END
  289. END
  290. END TRY
  291. BEGIN CATCH
  292. IF @@TRANCOUNT<>0
  293. ROLLBACK TRAN
  294. --Execption
  295. SELECT 1 ErrorCode,dbo.GetMessage(@language,'9999')+CONVERT(VARCHAR,ERROR_LINE())+ERROR_MESSAGE() Msg, NULL Id
  296. RETURN
  297. END CATCH