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.
249 lines
18 KiB
249 lines
18 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[PROC_STATUS_SYNC_TP_API] Script Date: 9/27/2019 1:30:14 PM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
--EXEC PROC_STATUS_SYNC_TP_API @flag='mark-cancel',@PROVIDER = 'contact',@TRANID=100379466
|
|
|
|
CREATE PROC [dbo].[PROC_STATUS_SYNC_TP_API]
|
|
(
|
|
@FLAG VARCHAR(30)
|
|
,@PROVIDER VARCHAR(50)
|
|
,@TRANID BIGINT = NULL
|
|
,@TranStatus VARCHAR(30) = NULL
|
|
,@PayStatus VARCHAR(30) = NULL
|
|
,@ControlNo VARCHAR(20) = NULL
|
|
)
|
|
AS
|
|
SET NOCOUNT ON;
|
|
SET XACT_ABORT ON;
|
|
BEGIN
|
|
DECLARE @AgentId BIGINT,@ref_num VARCHAR(20),@sRouteId varchar(5),@message varchar(500),@refund CHAR(1)
|
|
|
|
DECLARE @tempTbl TABLE (errorcode VARCHAR(5), msg VARCHAR(MAX), id VARCHAR(50))
|
|
|
|
SET @AgentId = CASE WHEN @PROVIDER ='wing' THEN '221226'
|
|
WHEN @PROVIDER ='commercial' THEN '221271'
|
|
WHEN @PROVIDER ='globalbank' THEN '1056'
|
|
WHEN @PROVIDER ='contact' THEN '393228'
|
|
WHEN @PROVIDER ='vcbr' THEN '393229'
|
|
WHEN @PROVIDER ='donga' THEN '2090'
|
|
WHEN @PROVIDER ='mtrade' THEN '2129'
|
|
WHEN @PROVIDER ='bni' THEN '392227'
|
|
WHEN @PROVIDER ='sbr' THEN '393862'
|
|
WHEN @PROVIDER ='dbbl' THEN '393864'
|
|
WHEN @PROVIDER ='Agrani' THEN '404526'
|
|
WHEN @PROVIDER ='xpress' THEN '415208'
|
|
WHEN @PROVIDER ='ria' THEN '393866'
|
|
WHEN @PROVIDER ='islamibank' THEN '566853'
|
|
END
|
|
IF @FLAG = 'mark-paid'
|
|
BEGIN
|
|
UPDATE remitTran SET
|
|
payStatus = 'Paid',
|
|
tranStatus = 'Paid',
|
|
paidBy = 'system',
|
|
paidDate = GETDATE(),
|
|
paidDateLocal = GETUTCDATE()
|
|
WHERE id = @TRANID
|
|
AND payStatus = 'Post' AND pAgent = @AgentId
|
|
END
|
|
ELSE IF @FLAG = 'mark-cancel'
|
|
BEGIN
|
|
|
|
SET @message = 'Transaction cancel at partner end'
|
|
IF @PROVIDER = 'wing'
|
|
BEGIN
|
|
SELECT @controlNo = DBO.FNADecryptString(CONTROLNO),@sRouteId = sRouteId FROM remitTran(NOLOCK)
|
|
WHERE id = @TRANID AND pAgent = @AgentId AND controlNo2 = DBO.FNAEncryptString(@ControlNo)
|
|
SET @refund = 'D'
|
|
END
|
|
ELSE IF @PROVIDER IN('dbbl','xpress','ria','contact','islamibank')
|
|
BEGIN
|
|
SELECT @controlNo = DBO.FNADecryptString(CONTROLNO),@sRouteId = sRouteId FROM remitTran(NOLOCK)
|
|
WHERE id = @TRANID AND pAgent = @AgentId
|
|
----AND controlNo = DBO.FNAEncryptString(@ControlNo)
|
|
SET @refund = 'N'
|
|
END
|
|
----ELSE IF @PROVIDER IN('contact')
|
|
----BEGIN
|
|
---- SELECT @controlNo = DBO.FNADecryptString(CONTROLNO),@sRouteId = sRouteId FROM remitTran(NOLOCK)
|
|
---- WHERE id = @TRANID AND pAgent = @AgentId
|
|
|
|
---- SET @refund = 'D'
|
|
----END
|
|
|
|
--INSERT INTO @tempTbl(errorcode, msg, id)
|
|
EXEC [proc_cancelTran] @flag = 'cancel',@controlNo = @controlNo,@user = 'system',@cancelReason = @message,@refund = @refund
|
|
|
|
EXEC [proc_cancelTran] @flag = 'cancelReceipt',@tranId = @TRANID,@user = 'system'
|
|
|
|
END
|
|
ELSE IF @FLAG = 'sync-list'
|
|
BEGIN
|
|
IF @PROVIDER = 'mtrade'
|
|
BEGIN
|
|
SELECT TOP 50
|
|
trn.id,[uploadLogId] = ISNULL(ContNo,uploadLogId),controlNo = dbo.FNADecryptString(trn.controlNo)
|
|
FROM remitTran trn WITH(NOLOCK)
|
|
WHERE
|
|
trn.approvedBy IS NOT NULL AND trn.payStatus ='Post'
|
|
AND tranStatus = 'payment' AND trn.pAgent = @AgentId
|
|
AND Approveddate < dateadd(day,-1,getdate())
|
|
ORDER BY NEWID()
|
|
END
|
|
ELSE IF @PROVIDER = 'donga'
|
|
BEGIN
|
|
SELECT TOP 30 controlNo = dbo.FNADecryptString(controlNo),id
|
|
FROM remitTran (NOLOCK)
|
|
WHERE
|
|
payStatus = 'Post' AND tranStatus = 'Payment'
|
|
AND pCountry = 'VIETNAM' AND pAgent = @AgentId
|
|
AND Approveddate < dateadd(hour,-2,getdate())
|
|
ORDER BY NEWID()
|
|
END
|
|
ELSE IF @PROVIDER = 'wing'
|
|
BEGIN
|
|
SELECT TOP 1 controlNo = errorcode,id,paymentMethod = errorcode from @tempTbl
|
|
--SELECT TOP 100 controlNo = ContNo,id,paymentMethod
|
|
--FROM remitTran (NOLOCK)
|
|
--WHERE payStatus = 'Post' AND tranStatus = 'Payment'
|
|
--AND pCountry = 'Cambodia' AND pAgent = @AgentId
|
|
--AND Approveddate < dateadd(hour,-4,getdate())
|
|
--ORDER BY NEWID()
|
|
END
|
|
ELSE IF @PROVIDER = 'commercial'
|
|
BEGIN
|
|
SELECT TOP 1 controlNo = errorcode,id,paymentMethod = errorcode from @tempTbl
|
|
--SELECT TOP 50 controlNo = dbo.FNADecryptString(controlNo) ,id,paymentMethod
|
|
--FROM remitTran (NOLOCK)
|
|
--WHERE
|
|
--payStatus = 'Post' AND tranStatus = 'Payment'
|
|
--AND pCountry = 'Sri Lanka' AND pAgent = @AgentId
|
|
--AND Approveddate < DATEADD(HOUR,-2,GETDATE())
|
|
--ORDER BY NEWID()
|
|
END
|
|
ELSE IF @PROVIDER = 'bni'
|
|
BEGIN
|
|
SELECT TOP 30
|
|
trn.id, controlNo = dbo.FNADecryptString(trn.controlNo)
|
|
, trxDate = FORMAT(approvedDate,'yyyy-MM-ddTHH:mm:ss')
|
|
FROM remitTran trn WITH(NOLOCK)
|
|
WHERE trn.approvedBy IS NOT NULL AND trn.payStatus ='Post'
|
|
AND tranStatus = 'Payment' AND trn.pAgent = @AgentId
|
|
AND pCountry = 'Indonesia'
|
|
ORDER BY NEWID()
|
|
END
|
|
ELSE IF @PROVIDER = 'contact'
|
|
BEGIN
|
|
SELECT TOP 50
|
|
trn.id, controlNo = dbo.FNADecryptString(trn.controlNo)
|
|
,DocId = ContNo
|
|
,trxDate = CAST(CAST(trn.approvedDate AS DATE) AS VARCHAR) +'T'+ CAST(CAST(trn.approvedDate AS TIME) AS VARCHAR(8))
|
|
FROM remitTran trn WITH(NOLOCK)
|
|
WHERE trn.approvedBy IS NOT NULL AND trn.payStatus ='Post'
|
|
AND tranStatus IN( 'Payment','CancelRequested') AND trn.pAgent = @AgentId
|
|
AND Approveddate < DATEADD(HOUR,-2,GETDATE())
|
|
ORDER BY NEWID()
|
|
END
|
|
ELSE IF @PROVIDER = 'vcbr'
|
|
BEGIN
|
|
SELECT TOP 20 id,trn.id AS TxId, controlNo = dbo.FNADecryptString(trn.controlNo)
|
|
FROM remitTran trn WITH(NOLOCK)
|
|
WHERE trn.approvedBy IS NOT NULL AND trn.payStatus ='Post'
|
|
AND tranStatus = 'Payment' AND trn.pAgent = @AgentId
|
|
AND Approveddate < DATEADD(HOUR,-2,GETDATE())
|
|
ORDER BY NEWID()
|
|
END
|
|
ELSE IF @PROVIDER = 'sbr'
|
|
BEGIN
|
|
SELECT TOP 20
|
|
id,trn.id AS TxId, controlNo = dbo.FNADecryptString(trn.controlNo), DocId=dbo.FNADecryptString(trn.controlNo2)
|
|
,trxDate = CAST(CAST(trn.approvedDate AS DATE) AS VARCHAR) +'T'+ CAST(CAST(trn.approvedDate AS TIME) AS VARCHAR(8))
|
|
FROM remitTran trn WITH(NOLOCK)
|
|
WHERE trn.approvedBy IS NOT NULL AND trn.payStatus ='Post'
|
|
AND tranStatus = 'Payment' AND trn.pAgent = @AgentId
|
|
AND Approveddate < DATEADD(HOUR,-2,GETDATE())
|
|
ORDER BY NEWID()
|
|
END
|
|
ELSE IF @PROVIDER='dbbl'
|
|
BEGIN
|
|
SELECT TOP 30
|
|
trn.id,
|
|
partnerTxnId = dbo.FNADecryptString(trn.controlNo)
|
|
FROM remitTran trn WITH(NOLOCK)
|
|
WHERE trn.approvedBy IS NOT NULL AND trn.payStatus ='Post'
|
|
AND tranStatus = 'Payment' AND trn.pAgent = @AgentId
|
|
AND Approveddate < DATEADD(HOUR,-2,GETDATE())
|
|
ORDER BY NEWID()
|
|
END
|
|
ELSE IF @PROVIDER='Agrani'
|
|
BEGIN
|
|
SELECT TOP 30
|
|
trn.id AS TranId,dbo.FNADecryptString(trn.controlNo) AS ControlNo
|
|
FROM remitTran trn WITH(NOLOCK)
|
|
WHERE trn.approvedBy IS NOT NULL AND trn.payStatus = 'Post'
|
|
AND tranStatus = 'Payment' AND trn.pAgent = @AgentId
|
|
AND Approveddate < DATEADD(HOUR,-2,GETDATE())
|
|
ORDER BY NEWID()
|
|
END
|
|
ELSE IF @PROVIDER='xpress'
|
|
BEGIN
|
|
SELECT TOP 120
|
|
id,
|
|
xpin = dbo.FNADecryptString(trn.controlNo)
|
|
FROM remitTran trn WITH(NOLOCK)
|
|
WHERE trn.approvedBy IS NOT NULL AND trn.payStatus ='Post'
|
|
AND tranStatus IN('Payment','CancelRequest') AND trn.pAgent = @AgentId
|
|
AND Approveddate < DATEADD(HOUR,-2,GETDATE())
|
|
ORDER BY NEWID()
|
|
END
|
|
ELSE IF @PROVIDER='ria'
|
|
BEGIN
|
|
SELECT TOP 50
|
|
id,
|
|
TransactionID = dbo.FNADecryptString(trn.controlNo2)
|
|
FROM remitTran trn WITH(NOLOCK)
|
|
WHERE trn.approvedBy IS NOT NULL AND trn.payStatus ='Post'
|
|
AND tranStatus IN( 'Payment','CancelRequested','CancelRequest') AND trn.pAgent = @AgentId
|
|
AND Approveddate < DATEADD(HOUR,-2,GETDATE())
|
|
ORDER BY NEWID()
|
|
END
|
|
END
|
|
ELSE IF @FLAG='cancel-requested-list'
|
|
BEGIN
|
|
SELECT
|
|
TransactionId = RT.id
|
|
,GmeControlNo = CASE WHEN RT.pAgent =393866 THEN dbo.FNADecryptString(RT.controlNo2) ELSE dbo.FNADecryptString(RT.controlNo) END
|
|
,PartnerPin = rt.ContNo----dbo.FNADecryptString(RT.controlNo2)
|
|
,DocId = rt.ContNo
|
|
,Provider = CASE WHEN RT.pAgent = 393228 THEN 'contact'
|
|
WHEN RT.pAgent = 393864 THEN 'dbbl'
|
|
WHEN RT.pAgent = 415208 THEN 'xpress'
|
|
WHEN RT.pAgent = 393866 THEN 'ria'
|
|
ELSE 'other' END
|
|
,RequestFor = CASE WHEN RT.pAgent IN(393228,393866) THEN 'CancelRequest' WHEN RT.pAgent IN(393864,415208) THEN 'Cancel' ELSE 'other' END
|
|
,cancelReason = ISNULL(rt.cancelReason,'Customer requested to cancel the transaction.')
|
|
FROM dbo.remitTran AS RT(NOLOCK)
|
|
WHERE RT.tranStatus = 'CancelRequest'
|
|
AND RT.payStatus = 'Post'
|
|
and 1=2
|
|
END
|
|
ELSE IF @FLAG='update-status' ----'update-cancel-requested'
|
|
BEGIN
|
|
UPDATE dbo.remitTran SET
|
|
tranStatus = ' CancelRequested'
|
|
,cancelRequestBy = 'system'
|
|
,cancelRequestDate = GETDATE()
|
|
,cancelReason = CASE WHEN cancelReason IS NULL THEN 'Customer requested to cancel the transaction.' ELSE cancelReason END
|
|
WHERE id = @TRANID AND pAgent IN(393228,393866)
|
|
|
|
SELECT '0' ErrorCode,'Cancel Requested Successfully' Msg, NULL Id
|
|
END
|
|
|
|
END
|
|
|
|
|
|
GO
|