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

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[PROC_SCHEDULAR_PUSH_TXN_COMMON] Script Date: 9/27/2019 1:30:14 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. ----EXEC [PROC_SCHEDULAR_PUSH_TXN_COMMON] @FLAG = 'PUSH-LIST',@PAYOUTPARTNERID=590814
  9. CREATE PROC [dbo].[PROC_SCHEDULAR_PUSH_TXN_COMMON]
  10. @FLAG VARCHAR(20),
  11. @PAYOUTPARTNERID BIGINT,
  12. @TRANID BIGINT = NULL,
  13. @PartnerPin VARCHAR(20) = NULL,
  14. @PartnerId VARCHAR(30) = NULL,
  15. @ControlNo VARCHAR(20) = NULL,
  16. @message NVARCHAR(500)= NULL
  17. AS
  18. SET NOCOUNT ON;
  19. IF @FLAG = 'PUSH-LIST'
  20. BEGIN
  21. ---- 590814:NI BANK,585209:THUNES
  22. SELECT TOP 20 TranId = R.id, BaseUrl = p.BaseUrl,[Authorization] = p.AuthKey,ControlNo = ControlNo,PayoutPartner = @PAYOUTPARTNERID,DecryptedPIN = dbo.FNADecryptString(controlNo)
  23. FROM remitTran(NOLOCK) R
  24. INNER JOIN serviceTypeMaster M(NOLOCK) ON M.typeTitle = R.paymentMethod
  25. INNER JOIN TblPartnerwiseCountry(NOLOCK) P ON P.AgentId = R.pSuperAgent AND P.PaymentMethod = M.serviceTypeId
  26. WHERE R.pSuperAgent = @PAYOUTPARTNERID
  27. AND tranStatus = 'PAYMENT' AND payStatus = 'UNPAID'
  28. and r.pSuperAgent <> 590814
  29. --and R.controlNo IN('QIJJKIIMOQO','QIONPLPKKMP','QIRPJMRMROP')
  30. --AND 1=2
  31. RETURN
  32. END
  33. ELSE IF @FLAG = 'POST'
  34. BEGIN
  35. IF ISNULL(@PartnerPin,'') = ''
  36. SET @PartnerPin = DBO.FNADecryptString(@ControlNo)
  37. UPDATE remitTran SET
  38. payStatus = 'Post',
  39. postedBy = 'system',
  40. postedDate = GETDATE(),
  41. postedDateLocal = GETUTCDATE(),
  42. controlNo = dbo.FNAEncryptString(@PartnerPin),
  43. controlNo2 = @ControlNo,
  44. contNo = @PartnerId
  45. WHERE ID = @TRANID AND pSuperAgent = @PAYOUTPARTNERID
  46. AND tranStatus = 'PAYMENT' AND payStatus = 'UNPAID'
  47. EXEC proc_errorHandler '0','SUCCESS',NULL
  48. RETURN
  49. END
  50. ELSE IF @FLAG = 'SYNC-LIST'
  51. BEGIN
  52. SELECT TOP 50 TranId = R.id, BaseUrl = p.BaseUrl,[Authorization] = p.AuthKey
  53. ,ControlNo = CASE WHEN @PAYOUTPARTNERID =585209 THEN DBO.FNADecryptString(controlNo2) ELSE DBO.FNADecryptString(ControlNo) END
  54. ,[PayoutPartnerId] = @PAYOUTPARTNERID
  55. FROM remitTran(NOLOCK) R
  56. INNER JOIN serviceTypeMaster M(NOLOCK) ON M.typeTitle = R.paymentMethod
  57. INNER JOIN TblPartnerwiseCountry(NOLOCK) P ON P.AgentId = R.pSuperAgent AND P.PaymentMethod = M.serviceTypeId
  58. WHERE R.pSuperAgent = @PAYOUTPARTNERID
  59. AND tranStatus = 'PAYMENT' AND payStatus = 'POST'
  60. ORDER BY NEWID()
  61. RETURN
  62. END
  63. ELSE IF @FLAG = 'PAID'
  64. BEGIN
  65. UPDATE remitTran SET
  66. tranStatus = 'Paid',
  67. payStatus = 'Paid',
  68. paidBy = 'system',
  69. paidDate = GETDATE(),
  70. paidDateLocal = GETUTCDATE()
  71. WHERE ID = @TRANID AND pSuperAgent = @PAYOUTPARTNERID
  72. AND tranStatus = 'PAYMENT' AND payStatus = 'POST'
  73. IF @PAYOUTPARTNERID = 590814
  74. BEGIN
  75. DECLARE @CustomerEmail VARCHAR(100),@Mobile varchar(20),@SMSBody VARCHAR(90),@refund char(1)
  76. SELECT @CustomerEmail = createdBy,@ControlNo = DBO.FNADecryptString(controlNo) FROM remitTran(NOLOCK)
  77. WHERE ID = @TRANID AND pSuperAgent = @PAYOUTPARTNERID
  78. SELECT @Mobile = mobile FROM customerMaster(NOLOCK) WHERE email = @CustomerEmail
  79. SET @Mobile = CASE WHEN LEFT(@Mobile,3) = '+82' THEN REPLACE(@Mobile,'+82','0') ELSE @Mobile END
  80. SET @Mobile = CASE WHEN LEFT(@Mobile,2) = '82' THEN REPLACE(@Mobile,'82','0') ELSE @Mobile END
  81. IF LEN(@Mobile) = 11
  82. BEGIN
  83. SET @SMSBody = 'Your GME transaction '+@ControlNo+' is successfully credited to beneficiary account.'
  84. EXEC proc_CallToSendSMS @FLAG = 'I',@SMSBody= @SMSBody ,@MobileNo=@Mobile
  85. END
  86. END
  87. EXEC proc_errorHandler '0','SUCCESS',NULL
  88. RETURN
  89. END
  90. ELSE IF @FLAG = 'CANCEL'
  91. BEGIN
  92. DECLARE @srouteId CHAR(1),@controlNoEncrypted VARCHAR(20)
  93. --IF @PROVIDER ='contact'
  94. BEGIN
  95. SELECT @controlNo = DBO.FNADecryptString(CONTROLNO),@srouteId = sRouteId,@controlNoEncrypted=controlNo
  96. FROM remitTran(NOLOCK) WHERE id = @TRANID AND pSuperAgent = @PAYOUTPARTNERID
  97. INSERT INTO tranModifyLog(tranId,controlNo,message,MsgType,createdBy,createdDate)
  98. SELECT @tranId,@controlNoEncrypted,@message,'API Response','system',GETDATE()
  99. --IF @srouteId = 'W'
  100. --BEGIN
  101. -- IF NOT EXISTS(SELECT 'A' FROM FastMoneyPro_Account.DBO.tran_master(NOLOCK) WHERE field1= @controlNo)
  102. -- EXEC FastMoneyPro_Account.DBO.proc_transactionVoucherEntry @controlNo
  103. -- --INSERT INTO @tempTbl(errorcode, msg, id)
  104. -- EXEC [proc_cancelTran] @flag = 'cancel',@controlNo = @controlNo,@user = 'system',@cancelReason = @message,@refund = 'N'
  105. -- EXEC [proc_cancelTran] @flag = 'cancelReceipt',@tranId = @TRANID,@user = 'system'
  106. --END
  107. --ELSE
  108. UPDATE remitTran SET tranStatus='Hold' WHERE id = @TRANID AND pSuperAgent = @PAYOUTPARTNERID
  109. END
  110. END
  111. GO