Ejegg has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/302290

Change subject: Backfill wmf_contribution_extra
......................................................................

Backfill wmf_contribution_extra

Change-Id: Ide7d8a1db907bbbd8f85820190a0db2615900534
---
A sites/all/modules/wmf_civicrm/scripts/wmf_contribution_extra.sql
1 file changed, 62 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/crm 
refs/changes/90/302290/1

diff --git a/sites/all/modules/wmf_civicrm/scripts/wmf_contribution_extra.sql 
b/sites/all/modules/wmf_civicrm/scripts/wmf_contribution_extra.sql
new file mode 100644
index 0000000..007dd53
--- /dev/null
+++ b/sites/all/modules/wmf_civicrm/scripts/wmf_contribution_extra.sql
@@ -0,0 +1,62 @@
+CREATE TEMPORARY TABLE missing_extra (
+  entity_id int(10) unsigned PRIMARY KEY,
+  source varchar(255) COLLATE utf8_unicode_ci,
+  trxn_id varchar(255) COLLATE utf8_unicode_ci,
+  total_usd decimal(20,2),
+  gateway varchar(255) COLLATE utf8_unicode_ci,
+  gateway_txn_id varchar(255) COLLATE utf8_unicode_ci,
+  original_amount decimal(20,2),
+  original_currency varchar(255) COLLATE utf8_unicode_ci
+);
+
+INSERT INTO missing_extra ( entity_id, source, trxn_id, total_usd )
+SELECT c.id, source, trxn_id, total_amount
+FROM civicrm_contribution c
+LEFT OUTER JOIN wmf_contribution_extra ex ON ex.entity_id = c.id
+WHERE ex.id IS NULL;
+
+UPDATE missing_extra
+SET
+  original_amount = SUBSTR( source, 4 ),
+  original_currency = UPPER( LEFT( source, 3 ) )
+WHERE source RLIKE '^[a-zA-Z]{3} [0-9.]+$';
+
+UPDATE missing_extra
+SET
+  original_amount = total_usd,
+  original_currency = 'USD'
+WHERE original_currency IS NULL;
+
+UPDATE missing_extra
+SET trxn_id = REPLACE( trxn_id, 'RECURRING ', '' );
+
+UPDATE missing_extra
+SET gateway = 
+CASE
+  WHEN trxn_id LIKE 'PAYPAL %' THEN 'paypal'
+  WHEN trxn_id LIKE 'PAYFLOWPRO %' THEN 'payflowpro'
+  WHEN trxn_id LIKE 'GLOBALCOLLECT %' THEN 'globalcollect'
+  WHEN trxn_id RLIKE '^ ?[0-9A-Z]{17} [0-9]{9,10}' THEN 'PAYPAL'
+ELSE 'unknown'
+END;
+
+UPDATE missing_extra
+SET gateway_txn_id = 
+CASE
+  WHEN gateway = 'unknown' THEN entity_id
+  WHEN trxn_id rlike '^ [0-9A-Z]{17} [0-9]{9,10}' THEN SUBSTR( trxn_id, 2 )
+  ELSE REPLACE( trxn_id, CONCAT( UPPER( gateway ), ' ' ), '' )
+END;
+
+INSERT INTO wmf_contribution_extra
+  ( entity_id, total_usd, gateway, gateway_txn_id, original_amount, 
original_currency, source_name )
+SELECT
+  entity_id,
+  total_usd,
+  gateway,
+  gateway_txn_id,
+  original_amount,
+  original_currency,
+  'BACKFILL'
+FROM missing_extra;
+

-- 
To view, visit https://gerrit.wikimedia.org/r/302290
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ide7d8a1db907bbbd8f85820190a0db2615900534
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/fundraising/crm
Gerrit-Branch: master
Gerrit-Owner: Ejegg <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to