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

USE [FastMoneyPro_Remit]
GO
/****** Object: StoredProcedure [dbo].[Proc_RemitTopupRequest] Script Date: 9/27/2019 1:30:14 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE proc [dbo].[Proc_RemitTopupRequest]
@flag VARCHAR(10),
@userName VARCHAR(50) = NULL,
@pwd VARCHAR(50) = NULL,
@Password varchar(50) = null,
@code INT = NULL,
@TranId BIGINT = NULL,
@topupId VARCHAR(30) = NULL,
@MSG VARCHAR(500)= NULL
AS
SET NOCOUNT ON;
SET XACT_ABORT ON;
if @pwd is null
set @pwd = @Password
DECLARE @mobileNo VARCHAR(15)
BEGIN TRY
IF @flag = 'TbyID' ---- ## RemitTopupByID
BEGIN
IF CONVERT(VARBINARY,'R3m17U53r') <> CONVERT(VARBINARY,@userName)
BEGIN
SELECT 1 code, 'Invalid Login Details,please try with valid user' msg
RETURN
END
IF CONVERT(VARBINARY,'70pUp@R3m17U53r') <> CONVERT(VARBINARY,@pwd)
BEGIN
SELECT 1 code, 'Invalid Login Details,please try with valid user' msg
RETURN
END
IF CONVERT(VARBINARY,'1043') <> CONVERT(VARBINARY,@code)
BEGIN
SELECT 1 code, 'Invalid Login Details,please try with valid user' msg
RETURN
END
----IF NOT EXISTS(SELECT TOP 1 'A' FROM Admins WITH(NOLOCK) WHERE CONVERT(VARBINARY,UserName) = CONVERT(VARBINARY,@userName)
---- AND CONVERT(VARBINARY,UserPassword) = CONVERT(VARBINARY,@pwd) and AdminID = @code )
----BEGIN
---- SELECT 1 code, 'Invalid Login Details,please try with valid user' msg
---- RETURN
----END
SELECT @mobileNo = mobileNo FROM topupQueue WITH(NOLOCK) WHERE tranId = @TranId AND ISNULL(tranStatus,'Suspicious') = 'Suspicious'
IF ISNULL(@mobileNo,'') = ''
BEGIN
SELECT 1 code, 'Mobile Number not found' msg
RETURN
END
--## FOR NCELL
--SELECT 0 code,'9803212345' mobileNo,'NCELL' Company,'NCELL' product,10 amt, 0 serviceCode,'' refStan
-- ,1 agent_id,'Remit agent' agent_name,1 branchId,'remit branch' branchName
DECLARE @company VARCHAR(10),@product VARCHAR(20),@serviceCode INT
SELECT @company = company,@product = product,@serviceCode = serviceCode ,@mobileNo = mobileNo
FROM DBO.GetCompanyServiceCodeByMobileNo(@mobileNo)
----SELECT @product,@company,@serviceCode,@mobileNo
IF @company = 'INVALID' OR @product = 'INVALID' OR @serviceCode IS NULL
BEGIN
PRINT 'A'
UPDATE topupQueue SET
processDate = GETDATE(),
tranStatus = 'Invalid' ,
msg = 'Invalid Mobile Number Found'
WHERE tranId = @TranId
select 1 code, 'Invalid Mobile Number Found ' msg
RETURN
END
IF (LEN(ISNULL(@mobileNo,'')) <> 13 AND @company = 'NTC')
BEGIN
UPDATE topupQueue SET
processDate = GETDATE(),
tranStatus = 'Invalid',
msg = 'Invalid Mobile Number Found'
WHERE tranId = @TranId
select 1 code, 'Invalid Mobile Number Found' msg
RETURN
END
IF (LEN(ISNULL(@mobileNo,'')) <> 10 AND @company = 'NCELL')
BEGIN
UPDATE topupQueue SET
processDate = GETDATE(),
tranStatus = 'Invalid',
msg = 'Invalid Mobile Number Found'
WHERE tranId = @TranId
select 1 code, 'Invalid Mobile Number Found' msg
RETURN
END
UPDATE topupQueue SET
tranStatus = 'Ready',
processDate = GETDATE()
WHERE tranId = @TranId
SELECT 0 CODE,@mobileNo AS mobileNo,CAST(TopupAmt AS INT) TopupAmt,topupId AS refStan,@company AS Company,@product AS product
,@serviceCode AS serviceCode
,agentId = '9993172',agentName = 'Business Promo(Free Topup)'
,branchId = '9993172',branchName = 'Business Promo(Free Topup)'
FROM topupQueue WITH(NOLOCK) WHERE tranId = @TranId
RETURN
END
ELSE IF @flag = 'ListData' ---- ## topup list for bulk topup
BEGIN
IF CONVERT(VARBINARY,'R3m17U53r') <> CONVERT(VARBINARY,@userName)
BEGIN
SELECT 1 code, 'Invalid Login Details,please try with valid user' msg
RETURN
END
IF CONVERT(VARBINARY,'70pUp@R3m17U53r') <> CONVERT(VARBINARY,@pwd)
BEGIN
SELECT 1 code, 'Invalid Login Details,please try with valid user' msg
RETURN
END
IF CONVERT(VARBINARY,'1043') <> CONVERT(VARBINARY,@code)
BEGIN
SELECT 1 code, 'Invalid Login Details,please try with valid user' msg
RETURN
END
------IF (select COUNT(*) from systemDown (NOLOCK) WHERE company IN ('prepaid','postpaid','ncell') AND ISNULL(ISDOWN,'N')='Y') = 3
------BEGIN
------ SELECT 1 code, 'Topup system is down' msg
------ RETURN
------END
------IF EXISTS(select 'a' from systemDown (NOLOCK) WHERE company IN ('prepaid','postpaid') AND ISNULL(ISDOWN,'N')='Y' )
------BEGIN
------ SELECT TOP 30 '0' code,*
------ FROM [192.168.0.155].FastMoneyPro_remit.dbo.topupQueue WITH(NOLOCK)
------ WHERE ISNULL(tranStatus,'Suspicious') = 'Suspicious' AND LEFT(mobileNo,3) IN ('980','981','982')
------ RETURN
------END
------IF EXISTS (select 'a' from systemDown WHERE company = 'ncell' AND ISNULL(ISDOWN,'N')='Y')
------BEGIN
------ SELECT TOP 30 '0' code,*
------ FROM [192.168.0.155].FastMoneyPro_remit.dbo.topupQueue WITH(NOLOCK)
------ WHERE ISNULL(tranStatus,'Suspicious') = 'Suspicious' AND LEFT(mobileNo,3) IN ('984','985','986')
------ RETURN
------END
----SELECT TOP 100 FROM topupQueue t
----CROSS APPLY DBO.GetCompanyServiceCodeByMobileNo(mobileNo) f
SELECT TOP 30 '0' code,* FROM topupQueue WITH(NOLOCK)
WHERE ISNULL(tranStatus,'Suspicious') = 'Suspicious' AND LEFT(mobileNo,3) <> '985'
RETURN
END
ELSE IF @flag = 'update' ---- ## for updating status
BEGIN
IF @MSG NOT LIKE '%succes%'
BEGIN
IF @MSG NOT LIKE '%already used%'
SET @code = 1
END
UPDATE topupQueue SET
tranStatus = CASE @code WHEN 0 THEN 'Success' WHEN 12 THEN 'Suspicious' WHEN 1 THEN null ELSE 'Success' END
,msg = @MSG
,topupId = case when topupId is null then @topupId else topupId end
WHERE tranId = @TranId
RETURN
END
END TRY
BEGIN CATCH
IF @@ERROR <>0
ROLLBACK TRANSACTION
SELECT 1 code, ERROR_MESSAGE() msg
END CATCH
GO