planet telecom rate import, RT#83146
[freeside.git] / bin / cust_main.restore-paymask
1 #!/usr/bin/perl
2
3 use strict;
4 use FS::UID qw( adminsuidsetup );
5 use FS::Record qw( qsearch dbh );
6
7 adminsuidsetup shift
8   or die "Usage: cust_main.restore-paymask freeside_username\n";
9
10 foreach my $cust_main ( 
11   qsearch({ 'table' => 'cust_main',
12             'extra_sql' => q[WHERE payby IN ('CARD','DCRD') AND paymask IS NULL OR paymask = 'N/A (tokenized)'],
13          })
14 ) {
15
16   my $custnum = $cust_main->custnum;
17
18   my $paydate = $cust_main->paydate;
19
20   my $paymask = FS::Record->scalar_sql(qq[
21     SELECT paymask FROM h_cust_main WHERE custnum = $custnum AND history_action = 'replace_old' AND paymask IS NOT NULL AND paymask != 'N/A (tokenized)' AND paydate = '$paydate' ORDER BY historynum desc LIMIT 1
22   ]);
23
24   next unless length($paymask);
25
26   #dbh->do(
27   print
28     qq[UPDATE cust_main SET paymask = '$paymask' WHERE custnum = $custnum;]
29   ."\n"
30   ;
31
32   #print "$custnum: $paymask\n";
33 }
34
35 1;