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.
 
 
 

128 lines
9.2 KiB

USE [FastMoneyPro_Remit]
GO
/****** Object: StoredProcedure [dbo].[PROC_SCHEDULAR_PUSH_TXN_COMMON] Script Date: 9/27/2019 1:30:14 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
----EXEC [PROC_SCHEDULAR_PUSH_TXN_COMMON] @FLAG = 'PUSH-LIST',@PAYOUTPARTNERID=590814
CREATE PROC [dbo].[PROC_SCHEDULAR_PUSH_TXN_COMMON]
@FLAG VARCHAR(20),
@PAYOUTPARTNERID BIGINT,
@TRANID BIGINT = NULL,
@PartnerPin VARCHAR(20) = NULL,
@PartnerId VARCHAR(30) = NULL,
@ControlNo VARCHAR(20) = NULL,
@message NVARCHAR(500)= NULL
AS
SET NOCOUNT ON;
IF @FLAG = 'PUSH-LIST'
BEGIN
---- 590814:NI BANK,585209:THUNES
SELECT TOP 20 TranId = R.id, BaseUrl = p.BaseUrl,[Authorization] = p.AuthKey,ControlNo = ControlNo,PayoutPartner = @PAYOUTPARTNERID,DecryptedPIN = dbo.FNADecryptString(controlNo)
FROM remitTran(NOLOCK) R
INNER JOIN serviceTypeMaster M(NOLOCK) ON M.typeTitle = R.paymentMethod
INNER JOIN TblPartnerwiseCountry(NOLOCK) P ON P.AgentId = R.pSuperAgent AND P.PaymentMethod = M.serviceTypeId
WHERE R.pSuperAgent = @PAYOUTPARTNERID
AND tranStatus = 'PAYMENT' AND payStatus = 'UNPAID'
and r.pSuperAgent <> 590814
--and R.controlNo IN('QIJJKIIMOQO','QIONPLPKKMP','QIRPJMRMROP')
--AND 1=2
RETURN
END
ELSE IF @FLAG = 'POST'
BEGIN
IF ISNULL(@PartnerPin,'') = ''
SET @PartnerPin = DBO.FNADecryptString(@ControlNo)
UPDATE remitTran SET
payStatus = 'Post',
postedBy = 'system',
postedDate = GETDATE(),
postedDateLocal = GETUTCDATE(),
controlNo = dbo.FNAEncryptString(@PartnerPin),
controlNo2 = @ControlNo,
contNo = @PartnerId
WHERE ID = @TRANID AND pSuperAgent = @PAYOUTPARTNERID
AND tranStatus = 'PAYMENT' AND payStatus = 'UNPAID'
EXEC proc_errorHandler '0','SUCCESS',NULL
RETURN
END
ELSE IF @FLAG = 'SYNC-LIST'
BEGIN
SELECT TOP 50 TranId = R.id, BaseUrl = p.BaseUrl,[Authorization] = p.AuthKey
,ControlNo = CASE WHEN @PAYOUTPARTNERID =585209 THEN DBO.FNADecryptString(controlNo2) ELSE DBO.FNADecryptString(ControlNo) END
,[PayoutPartnerId] = @PAYOUTPARTNERID
FROM remitTran(NOLOCK) R
INNER JOIN serviceTypeMaster M(NOLOCK) ON M.typeTitle = R.paymentMethod
INNER JOIN TblPartnerwiseCountry(NOLOCK) P ON P.AgentId = R.pSuperAgent AND P.PaymentMethod = M.serviceTypeId
WHERE R.pSuperAgent = @PAYOUTPARTNERID
AND tranStatus = 'PAYMENT' AND payStatus = 'POST'
ORDER BY NEWID()
RETURN
END
ELSE IF @FLAG = 'PAID'
BEGIN
UPDATE remitTran SET
tranStatus = 'Paid',
payStatus = 'Paid',
paidBy = 'system',
paidDate = GETDATE(),
paidDateLocal = GETUTCDATE()
WHERE ID = @TRANID AND pSuperAgent = @PAYOUTPARTNERID
AND tranStatus = 'PAYMENT' AND payStatus = 'POST'
IF @PAYOUTPARTNERID = 590814
BEGIN
DECLARE @CustomerEmail VARCHAR(100),@Mobile varchar(20),@SMSBody VARCHAR(90),@refund char(1)
SELECT @CustomerEmail = createdBy,@ControlNo = DBO.FNADecryptString(controlNo) FROM remitTran(NOLOCK)
WHERE ID = @TRANID AND pSuperAgent = @PAYOUTPARTNERID
SELECT @Mobile = mobile FROM customerMaster(NOLOCK) WHERE email = @CustomerEmail
SET @Mobile = CASE WHEN LEFT(@Mobile,3) = '+82' THEN REPLACE(@Mobile,'+82','0') ELSE @Mobile END
SET @Mobile = CASE WHEN LEFT(@Mobile,2) = '82' THEN REPLACE(@Mobile,'82','0') ELSE @Mobile END
IF LEN(@Mobile) = 11
BEGIN
SET @SMSBody = 'Your GME transaction '+@ControlNo+' is successfully credited to beneficiary account.'
EXEC proc_CallToSendSMS @FLAG = 'I',@SMSBody= @SMSBody ,@MobileNo=@Mobile
END
END
EXEC proc_errorHandler '0','SUCCESS',NULL
RETURN
END
ELSE IF @FLAG = 'CANCEL'
BEGIN
DECLARE @srouteId CHAR(1),@controlNoEncrypted VARCHAR(20)
--IF @PROVIDER ='contact'
BEGIN
SELECT @controlNo = DBO.FNADecryptString(CONTROLNO),@srouteId = sRouteId,@controlNoEncrypted=controlNo
FROM remitTran(NOLOCK) WHERE id = @TRANID AND pSuperAgent = @PAYOUTPARTNERID
INSERT INTO tranModifyLog(tranId,controlNo,message,MsgType,createdBy,createdDate)
SELECT @tranId,@controlNoEncrypted,@message,'API Response','system',GETDATE()
--IF @srouteId = 'W'
--BEGIN
-- IF NOT EXISTS(SELECT 'A' FROM FastMoneyPro_Account.DBO.tran_master(NOLOCK) WHERE field1= @controlNo)
-- EXEC FastMoneyPro_Account.DBO.proc_transactionVoucherEntry @controlNo
-- --INSERT INTO @tempTbl(errorcode, msg, id)
-- EXEC [proc_cancelTran] @flag = 'cancel',@controlNo = @controlNo,@user = 'system',@cancelReason = @message,@refund = 'N'
-- EXEC [proc_cancelTran] @flag = 'cancelReceipt',@tranId = @TRANID,@user = 'system'
--END
--ELSE
UPDATE remitTran SET tranStatus='Hold' WHERE id = @TRANID AND pSuperAgent = @PAYOUTPARTNERID
END
END
GO