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.

200 lines
12 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[Proc_RemitTopupRequest] Script Date: 9/27/2019 1:30:14 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. CREATE proc [dbo].[Proc_RemitTopupRequest]
  9. @flag VARCHAR(10),
  10. @userName VARCHAR(50) = NULL,
  11. @pwd VARCHAR(50) = NULL,
  12. @Password varchar(50) = null,
  13. @code INT = NULL,
  14. @TranId BIGINT = NULL,
  15. @topupId VARCHAR(30) = NULL,
  16. @MSG VARCHAR(500)= NULL
  17. AS
  18. SET NOCOUNT ON;
  19. SET XACT_ABORT ON;
  20. if @pwd is null
  21. set @pwd = @Password
  22. DECLARE @mobileNo VARCHAR(15)
  23. BEGIN TRY
  24. IF @flag = 'TbyID' ---- ## RemitTopupByID
  25. BEGIN
  26. IF CONVERT(VARBINARY,'R3m17U53r') <> CONVERT(VARBINARY,@userName)
  27. BEGIN
  28. SELECT 1 code, 'Invalid Login Details,please try with valid user' msg
  29. RETURN
  30. END
  31. IF CONVERT(VARBINARY,'70pUp@R3m17U53r') <> CONVERT(VARBINARY,@pwd)
  32. BEGIN
  33. SELECT 1 code, 'Invalid Login Details,please try with valid user' msg
  34. RETURN
  35. END
  36. IF CONVERT(VARBINARY,'1043') <> CONVERT(VARBINARY,@code)
  37. BEGIN
  38. SELECT 1 code, 'Invalid Login Details,please try with valid user' msg
  39. RETURN
  40. END
  41. ----IF NOT EXISTS(SELECT TOP 1 'A' FROM Admins WITH(NOLOCK) WHERE CONVERT(VARBINARY,UserName) = CONVERT(VARBINARY,@userName)
  42. ---- AND CONVERT(VARBINARY,UserPassword) = CONVERT(VARBINARY,@pwd) and AdminID = @code )
  43. ----BEGIN
  44. ---- SELECT 1 code, 'Invalid Login Details,please try with valid user' msg
  45. ---- RETURN
  46. ----END
  47. SELECT @mobileNo = mobileNo FROM topupQueue WITH(NOLOCK) WHERE tranId = @TranId AND ISNULL(tranStatus,'Suspicious') = 'Suspicious'
  48. IF ISNULL(@mobileNo,'') = ''
  49. BEGIN
  50. SELECT 1 code, 'Mobile Number not found' msg
  51. RETURN
  52. END
  53. --## FOR NCELL
  54. --SELECT 0 code,'9803212345' mobileNo,'NCELL' Company,'NCELL' product,10 amt, 0 serviceCode,'' refStan
  55. -- ,1 agent_id,'Remit agent' agent_name,1 branchId,'remit branch' branchName
  56. DECLARE @company VARCHAR(10),@product VARCHAR(20),@serviceCode INT
  57. SELECT @company = company,@product = product,@serviceCode = serviceCode ,@mobileNo = mobileNo
  58. FROM DBO.GetCompanyServiceCodeByMobileNo(@mobileNo)
  59. ----SELECT @product,@company,@serviceCode,@mobileNo
  60. IF @company = 'INVALID' OR @product = 'INVALID' OR @serviceCode IS NULL
  61. BEGIN
  62. PRINT 'A'
  63. UPDATE topupQueue SET
  64. processDate = GETDATE(),
  65. tranStatus = 'Invalid' ,
  66. msg = 'Invalid Mobile Number Found'
  67. WHERE tranId = @TranId
  68. select 1 code, 'Invalid Mobile Number Found ' msg
  69. RETURN
  70. END
  71. IF (LEN(ISNULL(@mobileNo,'')) <> 13 AND @company = 'NTC')
  72. BEGIN
  73. UPDATE topupQueue SET
  74. processDate = GETDATE(),
  75. tranStatus = 'Invalid',
  76. msg = 'Invalid Mobile Number Found'
  77. WHERE tranId = @TranId
  78. select 1 code, 'Invalid Mobile Number Found' msg
  79. RETURN
  80. END
  81. IF (LEN(ISNULL(@mobileNo,'')) <> 10 AND @company = 'NCELL')
  82. BEGIN
  83. UPDATE topupQueue SET
  84. processDate = GETDATE(),
  85. tranStatus = 'Invalid',
  86. msg = 'Invalid Mobile Number Found'
  87. WHERE tranId = @TranId
  88. select 1 code, 'Invalid Mobile Number Found' msg
  89. RETURN
  90. END
  91. UPDATE topupQueue SET
  92. tranStatus = 'Ready',
  93. processDate = GETDATE()
  94. WHERE tranId = @TranId
  95. SELECT 0 CODE,@mobileNo AS mobileNo,CAST(TopupAmt AS INT) TopupAmt,topupId AS refStan,@company AS Company,@product AS product
  96. ,@serviceCode AS serviceCode
  97. ,agentId = '9993172',agentName = 'Business Promo(Free Topup)'
  98. ,branchId = '9993172',branchName = 'Business Promo(Free Topup)'
  99. FROM topupQueue WITH(NOLOCK) WHERE tranId = @TranId
  100. RETURN
  101. END
  102. ELSE IF @flag = 'ListData' ---- ## topup list for bulk topup
  103. BEGIN
  104. IF CONVERT(VARBINARY,'R3m17U53r') <> CONVERT(VARBINARY,@userName)
  105. BEGIN
  106. SELECT 1 code, 'Invalid Login Details,please try with valid user' msg
  107. RETURN
  108. END
  109. IF CONVERT(VARBINARY,'70pUp@R3m17U53r') <> CONVERT(VARBINARY,@pwd)
  110. BEGIN
  111. SELECT 1 code, 'Invalid Login Details,please try with valid user' msg
  112. RETURN
  113. END
  114. IF CONVERT(VARBINARY,'1043') <> CONVERT(VARBINARY,@code)
  115. BEGIN
  116. SELECT 1 code, 'Invalid Login Details,please try with valid user' msg
  117. RETURN
  118. END
  119. ------IF (select COUNT(*) from systemDown (NOLOCK) WHERE company IN ('prepaid','postpaid','ncell') AND ISNULL(ISDOWN,'N')='Y') = 3
  120. ------BEGIN
  121. ------ SELECT 1 code, 'Topup system is down' msg
  122. ------ RETURN
  123. ------END
  124. ------IF EXISTS(select 'a' from systemDown (NOLOCK) WHERE company IN ('prepaid','postpaid') AND ISNULL(ISDOWN,'N')='Y' )
  125. ------BEGIN
  126. ------ SELECT TOP 30 '0' code,*
  127. ------ FROM [192.168.0.155].FastMoneyPro_remit.dbo.topupQueue WITH(NOLOCK)
  128. ------ WHERE ISNULL(tranStatus,'Suspicious') = 'Suspicious' AND LEFT(mobileNo,3) IN ('980','981','982')
  129. ------ RETURN
  130. ------END
  131. ------IF EXISTS (select 'a' from systemDown WHERE company = 'ncell' AND ISNULL(ISDOWN,'N')='Y')
  132. ------BEGIN
  133. ------ SELECT TOP 30 '0' code,*
  134. ------ FROM [192.168.0.155].FastMoneyPro_remit.dbo.topupQueue WITH(NOLOCK)
  135. ------ WHERE ISNULL(tranStatus,'Suspicious') = 'Suspicious' AND LEFT(mobileNo,3) IN ('984','985','986')
  136. ------ RETURN
  137. ------END
  138. ----SELECT TOP 100 FROM topupQueue t
  139. ----CROSS APPLY DBO.GetCompanyServiceCodeByMobileNo(mobileNo) f
  140. SELECT TOP 30 '0' code,* FROM topupQueue WITH(NOLOCK)
  141. WHERE ISNULL(tranStatus,'Suspicious') = 'Suspicious' AND LEFT(mobileNo,3) <> '985'
  142. RETURN
  143. END
  144. ELSE IF @flag = 'update' ---- ## for updating status
  145. BEGIN
  146. IF @MSG NOT LIKE '%succes%'
  147. BEGIN
  148. IF @MSG NOT LIKE '%already used%'
  149. SET @code = 1
  150. END
  151. UPDATE topupQueue SET
  152. tranStatus = CASE @code WHEN 0 THEN 'Success' WHEN 12 THEN 'Suspicious' WHEN 1 THEN null ELSE 'Success' END
  153. ,msg = @MSG
  154. ,topupId = case when topupId is null then @topupId else topupId end
  155. WHERE tranId = @TranId
  156. RETURN
  157. END
  158. END TRY
  159. BEGIN CATCH
  160. IF @@ERROR <>0
  161. ROLLBACK TRANSACTION
  162. SELECT 1 code, ERROR_MESSAGE() msg
  163. END CATCH
  164. GO