RFI 22

PHOTO EMBED

Tue May 02 2023 09:59:41 GMT+0000 (Coordinated Universal Time)

Saved by @shubhangi_burle

%jdbc(hive)
set tez.queue.name=default;
set hive.execution.engine=tez;

--RULE 22
SELECT DATE_SUB('2023-04-02',32) starting_date
,DATE_SUB('2023-04-02',2) ending_date
,receiveruser AS identifier
,active_days as active_days
,perc AS value
,'RFI22 'AS red_flag
,'monthly' as date_range
,'AML' `group`
,'FRA' `type`
,'Alerts' type_fra
,'User' issue_type
,'UPI' sub_issue_type
,CONCAT('total_block_amt: ', total_block_amt, ' , total_block_txns: ', total_block_txns, ' , success_amt: ', success_amt, ' , success_txns: ', success_txns) AS comment FROM
    (SELECT receiveruser
	, COUNT (DISTINCT int_block_txn_id) int_blocked_txns
	, SUM (int_block_txn_amt) int_blocked_amt
	, COUNT (DISTINCT network_block_txn_id) network_block_txns
	, SUM (network_block_txn_amt) network_block_amt
	, SUM (success_amount) success_amt
	, COUNT (DISTINCT success_txn_id) success_txns
	, COUNT (DISTINCT int_block_txn_id)+COUNT (DISTINCT network_block_txn_id) AS total_block_txns
	, (SUM (int_block_txn_amt) + SUM (network_block_txn_amt)) total_block_amt
	, ((SUM (int_block_txn_amt) + SUM (network_block_txn_amt))-SUM (success_amount))/SUM (success_amount) AS perc
	, COUNT(DISTINCT updated_date) as active_days
    FROM
        (SELECT A.receiveruser, A.transaction_id, A.totaltransactionamount
        , (CASE WHEN A.backend_errorcode = 'SUCCESS' AND A.errorcode = 'SUCCESS' AND A.pay_transaction_status = 'COMPLETED' THEN A.transaction_id END) success_txn_id
	    , (CASE WHEN A.backend_errorcode = 'SUCCESS' AND A.errorcode = 'SUCCESS' AND A.pay_transaction_status = 'COMPLETED' THEN A.totaltransactionamount END) success_amount
	    , B.eventdata_referenceid AS int_block_txn_id, B.eventdata_requestcontext_totaltransactionamount AS int_block_txn_amt
	    , C.transaction_id as network_block_txn_id, C.amount as network_block_txn_amt
	    , A.updated_date FROM
	        (SELECT receiveruser, transaction_id, backend_errorcode, errorcode, pay_transaction_status, totaltransactionamount, updated_date
	        from fraud.transaction_details_v3
	        where updated_date between DATE_SUB('2023-04-02',32) and DATE_SUB('2023-04-02',2))A
	    LEFT JOIN
	    	(SELECT eventdata_referenceid, eventdata_requestcontext_totaltransactionamount
	    	FROM foxtrot_stream.kratos_default
	    	WHERE year >= YEAR(DATE_SUB('2023-04-02',32)) AND year <= YEAR(DATE_SUB('2023-04-02',2)) 
	    	and month >= MONTH(DATE_SUB('2023-04-02',32)) AND month <= MONTH(DATE_SUB('2023-04-02',2)) 
	    	AND eventdata_appliedmeta_actions = 'BLOCK' AND eventdata_actions = 'BLOCK'
	    	AND eventdata_appliedmeta_mode = 'LIVE' AND eventdata_tenant = 'payment'
	    	AND eventdata_sourceeventtype IN ('payment_PAY|CONSUMER_TO_MERCHANT' , 'payment_PAY|EXTERNAL_TO_MERCHANT')
	    	AND eventdata_picked = 1)B
        ON A.transaction_id = B.eventdata_referenceid
        LEFT JOIN
        	(SELECT transaction_id, amount
        	from payment.transactions
        	where year >= YEAR(DATE_SUB('2023-04-02',32)) AND year <= YEAR(DATE_SUB('2023-04-02',2)) 
	    	and month >= MONTH(DATE_SUB('2023-04-02',32)) AND month <= MONTH(DATE_SUB('2023-04-02',2)) 
            and updated between DATE_SUB('2023-04-02',32) and DATE_SUB('2023-04-02',2)
            and state = 'FAILED'
            and (substring(backend_error_code, 1, 3) in ('U16','M16')
            or backend_error_code in ('ZI','K1','DECLINED_BY_RISK','SUSPECTED_FRAUD','DECLINED_BY_ISSUER','TXN_DECLINED','DO_NOT_HONOUR','CARD_DECLINED','SUSPECTED_FRAUD'
            ,'AUTHORIZATION_FAILED','STOLEN_LOST_CARD','TXN_NOT_ALLOWED','CARD_NOT_ALLOWED','BLOCKED_CARD','DECLINED_BY_RISK','CARD_VALIDATION_FAILURE')))C
        ON A.transaction_id = C.transaction_id )P
    GROUP BY receiveruser
    HAVING (SUM (int_block_txn_amt) + SUM (network_block_txn_amt)) > SUM (success_amount)
    AND (SUM (int_block_txn_amt) + SUM (network_block_txn_amt)) > 150000000
    AND (COUNT (DISTINCT int_block_txn_id)+COUNT (DISTINCT network_block_txn_id)) > 100
    AND ((SUM (int_block_txn_amt) + SUM (network_block_txn_amt))-SUM (success_amount))/SUM (success_amount) > 0.6
    ORDER BY perc desc)X
content_copyCOPY