|
|
@@ -33,18 +33,20 @@ use POSIX;
|
|
|
|
|
|
use Data::Dumper;
|
|
|
|
|
|
-use OrgDB;
|
|
|
+#use OrgDB;
|
|
|
|
|
|
my $ORG = "ORG";
|
|
|
|
|
|
-my $database_path = 'DBI:mysql:busdb';
|
|
|
+#my $database_path = 'DBI:mysql:busdb';
|
|
|
+my $database_path = 'DBI:SQLite:dbname=../bus.sqlite';
|
|
|
my $database_user = '';
|
|
|
my $database_pass = '';
|
|
|
|
|
|
my $bind_ip = '127.0.0.1';
|
|
|
my $bind_port = 2455;
|
|
|
|
|
|
-my $logfile = '/home/bus/log/billing_log.log';
|
|
|
+#my $logfile = '/home/bus/log/billing_log.log';
|
|
|
+my $logfile = './billing_log.log';
|
|
|
|
|
|
sub unix_to_readable_time {
|
|
|
my $unix_time = shift;
|
|
|
@@ -502,13 +504,15 @@ sub ServerReply
|
|
|
|
|
|
my $duplicate_billing_entry=0;
|
|
|
try {
|
|
|
- $sth = $dbh->prepare('select count(*) num from billing_log where ride_time = FROM_UNIXTIME(?) and conf_checksum = ?') or die "Couldn't prepare statement: " . $dbh->errstr;
|
|
|
+ #$sth = $dbh->prepare('select count(*) num from billing_log where ride_time = FROM_UNIXTIME(?) and conf_checksum = ?') or die "Couldn't prepare statement: " . $dbh->errstr;
|
|
|
+ $sth = $dbh->prepare('select count(*) num from billing_log where ride_time = datetime(?, "unixepoch") and conf_checksum = ?') or die "Couldn't prepare statement: " . $dbh->errstr;
|
|
|
$sth->execute($client_values[6], $client_query_md5) or die "Couldn't execute statement: " . $sth->errstr;
|
|
|
|
|
|
$duplicate_billing_entry=1 if ($sth->fetchrow_arrayref->[0] > 0);
|
|
|
|
|
|
if (!$duplicate_billing_entry) {
|
|
|
- $sth = $dbh->prepare('REPLACE INTO billing_log (conf_checksum, equip_num, driver, paddle, route, trip, stop, ride_time, latitude, longitude, action, rule, ruleparam, reason, credential, logical_card_id, cash_value, stop_name) VALUES (?, ?, ?, ?, ?, ?, ?, FROM_UNIXTIME(?), ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)')
|
|
|
+ #$sth = $dbh->prepare('REPLACE INTO billing_log (conf_checksum, equip_num, driver, paddle, route, trip, stop, ride_time, latitude, longitude, action, rule, ruleparam, reason, credential, logical_card_id, cash_value, stop_name) VALUES (?, ?, ?, ?, ?, ?, ?, FROM_UNIXTIME(?), ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)')
|
|
|
+ $sth = $dbh->prepare('REPLACE INTO billing_log (conf_checksum, equip_num, driver, paddle, route, trip, stop, ride_time, latitude, longitude, action, rule, ruleparam, reason, credential, logical_card_id, cash_value, stop_name) VALUES (?, ?, ?, ?, ?, ?, ?, datetime(?, "unixepoch"), ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)')
|
|
|
or die "Couldn't prepare statement: " . $dbh->errstr;
|
|
|
|
|
|
$sth->execute($client_query_md5, @client_values[0..16]) # Execute the query
|
|
|
@@ -557,6 +561,10 @@ sub handle_client()
|
|
|
|
|
|
while($linebuffer = <CLIENT>)
|
|
|
{
|
|
|
+
|
|
|
+## DEBUG
|
|
|
+print "## billing: $linebuffer\n";
|
|
|
+
|
|
|
open LOGFH, ">>$logfile";
|
|
|
print LOGFH $linebuffer;
|
|
|
close LOGFH;
|