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.

231 lines
8.2 KiB

1 year ago
  1. ALTER PROCEDURE [dbo].[JsonRx_Proc_UserRegistration_V2](
  2. @language VARCHAR(100) = 'en'
  3. ,@customerId VARCHAR(100) = NULL
  4. ,@username VARCHAR(100) = NULL
  5. ,@flag VARCHAR(100) = NULL
  6. ,@password VARCHAR(100) = NULL
  7. ,@txnPin VARCHAR(100) = NULL
  8. ,@idNumber VARCHAR(100) = NULL
  9. ,@clientId VARCHAR(100) = NULL
  10. ,@IMEI VARCHAR(100) = NULL
  11. ,@appVersion VARCHAR(100) = NULL
  12. ,@phoneBrand VARCHAR(100) = NULL
  13. ,@phoneOs VARCHAR(100) = NULL
  14. ,@osVersion VARCHAR(100) = NULL
  15. ,@deviceId VARCHAR(100) = NULL
  16. ,@dob VARCHAR(100) = NULL
  17. ,@uuid VARCHAR(100) = NULL
  18. ,@fcmId VARCHAR(250) = NULL
  19. ,@mobile VARCHAR(100) = NULL
  20. ,@nativeCountry VARCHAR(5) = NULL
  21. ,@referralCode VARCHAR(100) = NULL
  22. ,@referenceId BIGINT = NULL
  23. )AS
  24. BEGIN TRY
  25. DECLARE @dobDB VARCHAR(200),@code VARCHAR(100),@_errorMsg VARCHAR(300),@verifiedDate DATETIME, @customerIdNo VARCHAR(50), @customerIdOld BIGINT = NULL,
  26. @firstName VARCHAR(100), @userNameRandom VARCHAR(100), @mobileNumberCompare VARCHAR(30)
  27. IF @flag = 'sign-up-pre-old-cust'
  28. BEGIN
  29. SET @mobileNumberCompare = substring(@mobile, 4, len(@mobile)-3)
  30. IF (SELECT COUNT(0)
  31. FROM CUSTOMERMASTER (NOLOCK)
  32. WHERE IDNUMBER = @idNumber
  33. AND mobile LIKE '%' + @mobileNumberCompare
  34. AND CAST(dob AS DATE) = @dob
  35. AND ISNULL(isDeleted, 'N') = 'N'
  36. AND ISNULL(ISACTIVE, 'Y') = 'Y') > 1
  37. BEGIN
  38. SELECT 1 ErrorCode,'Duplicate data found, please contact JME Support' Msg, NULL Id
  39. RETURN
  40. END
  41. SELECT @customerIdOld = CUSTOMERID, @firstName = ISNULL(firstName, '')
  42. FROM CUSTOMERMASTER (NOLOCK)
  43. WHERE IDNUMBER = @idNumber
  44. AND mobile LIKE '%' + @mobileNumberCompare
  45. AND CAST(dob AS DATE) = @dob
  46. AND ISNULL(isDeleted, 'N') = 'N'
  47. AND ISNULL(ISACTIVE, 'Y') = 'Y'
  48. AND isExistingCustomer = 1
  49. AND USERNAME IS NULL
  50. IF @customerIdOld IS NULL
  51. BEGIN
  52. SELECT 2 ErrorCode,'No records match with provided details, please contact JME Support' Msg, NULL Id
  53. RETURN
  54. END
  55. --already registered
  56. IF EXISTS(SELECT 'x' FROM dbo.mobile_userRegistration(NOLOCK) AS MUR WHERE customerId = @customerIdOld)
  57. BEGIN
  58. SELECT 3 ErrorCode,'You are already registered with JME!' Msg, NULL Id
  59. RETURN
  60. END
  61. IF EXISTS (SELECT * FROM CustomerMasterTemp (NOLOCK) WHERE customerId = @customerIdOld AND createdBy IS NOT NULL)
  62. BEGIN
  63. SELECT 3 ErrorCode,'You are already registered with JME!' Msg, NULL Id
  64. RETURN
  65. END
  66. IF EXISTS (SELECT * FROM CustomerMaster (NOLOCK) WHERE customerId = @customerIdOld AND username IS NOT NULL)
  67. BEGIN
  68. SELECT 3 ErrorCode,'You are already registered with JME!' Msg, NULL Id
  69. RETURN
  70. END
  71. DELETE FROM dbo.CustomerMasterTemp WHERE OldCustomerId = @customerIdOld
  72. SELECT @userNameRandom = DBO.GetRandomUsername(@firstName)
  73. IF EXISTS(SELECT TOP 1 1 FROM CustomerMasterTemp (NOLOCK) WHERE USERNAME = @userNameRandom)
  74. BEGIN
  75. SET @userNameRandom = DBO.GetRandomUsername(@firstName)
  76. END
  77. INSERT INTO dbo.CustomerMasterTemp(
  78. OldCustomerId,dob,mobile,isActive, idNumber
  79. )
  80. SELECT
  81. @customerIdOld,@dob,@mobile,'N', @idNumber
  82. SET @customerId=SCOPE_IDENTITY()
  83. SELECT 0 ErrorCode, 'Success' Msg, @customerId Id, '' userName
  84. END
  85. ELSE IF @flag = 'sign-up-v2-old-cust'
  86. BEGIN
  87. IF ISNULL(@username, '') = ''
  88. BEGIN
  89. SELECT 1 ErrorCode,'Username can not be blank!' Msg, NULL Id
  90. RETURN
  91. END
  92. --user already registered
  93. IF EXISTS(SELECT 'x' FROM dbo.customerMaster AS CM(NOLOCK) WHERE CM.username = @username)
  94. BEGIN
  95. SELECT 2 ErrorCode,'Customer already registered, with this username!' Msg, NULL Id
  96. RETURN
  97. END
  98. --invalid referenceid
  99. IF NOT EXISTS(SELECT 'x' FROM dbo.CustomerMasterTemp AS CM(NOLOCK) WHERE customerId = @referenceId)
  100. BEGIN
  101. SELECT 3 ErrorCode,'You can not modify email once created, please contact JME!' Msg, NULL Id
  102. RETURN
  103. END
  104. --invalid referenceid
  105. IF NOT EXISTS(SELECT 'x' FROM dbo.CustomerMasterTemp AS CM(NOLOCK) WHERE customerId = @referenceId AND createdBy IS NULL)
  106. BEGIN
  107. SELECT 4 ErrorCode,'Invalid data!' Msg, NULL Id
  108. RETURN
  109. END
  110. --user already registered
  111. IF EXISTS(SELECT 'x' FROM dbo.customerMasterTemp AS CM(NOLOCK) WHERE username = @username)
  112. BEGIN
  113. SELECT 5 ErrorCode,'User already registered!' Msg, NULL Id
  114. RETURN
  115. END
  116. --Username already taken
  117. IF EXISTS(SELECT 'x' FROM dbo.mobile_userRegistration(NOLOCK) AS MUR WHERE username = @username)
  118. BEGIN
  119. SELECT 6 ErrorCode,'Username already taken!' Msg, NULL Id
  120. RETURN
  121. END
  122. BEGIN TRAN
  123. SELECT @customerIdOld = OldCustomerId
  124. FROM CustomerMasterTemp (NOLOCK)
  125. WHERE customerId = @referenceId
  126. UPDATE CustomerMaster SET username = @username, customerPassword = dbo.FNAEncryptString(@password)
  127. ,MODIFIEDBY = @username, MODIFIEDDate = GETDATE(), isActive = 'Y', txnPin = @txnPin
  128. ,email = @username, customerEmail = @username, createdFrom = 'C'
  129. WHERE customerId = @customerIdOld
  130. INSERT INTO dbo.mobile_userRegistration(
  131. clientId,username,createdDate,IMEI,appVersion,phoneBrand,phoneOs,osVersion,deviceId,customerId,cmRegistrationId
  132. )
  133. SELECT
  134. @clientId,@username,GETDATE(),@IMEI,@appVersion,@phoneBrand,@phoneOs,@osVersion,@fcmId,@customerIdOld,@uuid
  135. DELETE FROM CustomerMasterTemp WHERE customerId = @referenceId
  136. COMMIT TRAN
  137. IF @@TRANCOUNT=0
  138. BEGIN
  139. --successful registered
  140. SELECT 0 ErrorCode,'Your login with JME is activated, you are now able to send money using JME Mobile Application. Thank You.' Msg, NULL Id, rowId, PdfName, AgreePdfPath, *
  141. FROM customerAgreeDocumentTbl
  142. WHERE targetObj = 'STAGING'
  143. RETURN
  144. END
  145. END
  146. IF @flag='sign-up-v2-new-cust'
  147. BEGIN
  148. DECLARE @COUNTRYID INT
  149. --user already registered
  150. IF EXISTS(SELECT 'x' FROM dbo.customerMaster AS CM(NOLOCK) WHERE CM.userName = @username )
  151. BEGIN
  152. SELECT 1 ErrorCode,'Customer already registered, with this username!' Msg, NULL Id
  153. RETURN
  154. END
  155. --user already registered
  156. IF EXISTS(SELECT 'x' FROM dbo.customerMasterTemp AS CM(NOLOCK) WHERE username=@username)
  157. BEGIN
  158. SELECT 2 ErrorCode,'User already registered!' Msg, NULL Id
  159. RETURN
  160. END
  161. --Username already taken
  162. IF EXISTS(SELECT 'x' FROM dbo.mobile_userRegistration(NOLOCK) AS MUR WHERE username=@username)
  163. BEGIN
  164. SELECT 3 ErrorCode,'Username already taken!' Msg, NULL Id
  165. RETURN
  166. END
  167. SELECT @COUNTRYID = countryId
  168. FROM countryMaster (NOLOCK)
  169. WHERE COUNTRYCODE = @nativeCountry
  170. BEGIN TRAN
  171. INSERT INTO dbo.CustomerMasterTemp(
  172. username,customerPassword,createdBy,createdDate,isActive,nativeCountry, referelCode, idNumber, email, customerEmail
  173. )
  174. SELECT
  175. @username,dbo.FNAEncryptString(@password),@username,GETDATE(),'Y', @COUNTRYID, @referralCode, @idNumber, @username, @username
  176. SET @customerId=SCOPE_IDENTITY()
  177. INSERT INTO dbo.mobile_userRegistration(
  178. clientId,username,createdDate,appVersion,phoneBrand,phoneOs,osVersion,deviceId,customerId, cmRegistrationId
  179. )
  180. SELECT
  181. @clientId,@username,GETDATE(),@appVersion,@phoneBrand,@phoneOs,@osVersion,@fcmId,@customerId, @uuid
  182. COMMIT TRAN
  183. IF @@TRANCOUNT=0
  184. BEGIN
  185. --successful registered
  186. SELECT 0 ErrorCode,'Your login with JME is activated, you are now able to send money using JME Mobile Application. Thank You.' Msg, NULL Id, rowId, PdfName, AgreePdfPath
  187. FROM customerAgreeDocumentTbl
  188. WHERE targetObj = 'STAGING'
  189. RETURN
  190. END
  191. END
  192. END TRY
  193. BEGIN CATCH
  194. IF @@TRANCOUNT<>0
  195. ROLLBACK TRAN
  196. --Execption
  197. SELECT 1 ErrorCode,dbo.GetMessage(@language,'9999')+CONVERT(VARCHAR,ERROR_LINE())+ERROR_MESSAGE() Msg, NULL Id
  198. RETURN
  199. END CATCH