From ec95e0db063d92f1ac7ca56a1cd31ca3b2d5445d Mon Sep 17 00:00:00 2001 From: ragu Date: Tue, 21 Jun 2022 21:30:47 +0200 Subject: [PATCH] sig rental fix2 --- copri4/main/src/Mod/APIfunc.pm | 1 + copri4/main/src/Mod/APIjsonserver.pm | 4 ++-- copri4/main/src/Mod/APIsigclient.pm | 23 +++++++---------------- 3 files changed, 10 insertions(+), 18 deletions(-) diff --git a/copri4/main/src/Mod/APIfunc.pm b/copri4/main/src/Mod/APIfunc.pm index c753560..887fe8e 100755 --- a/copri4/main/src/Mod/APIfunc.pm +++ b/copri4/main/src/Mod/APIfunc.pm @@ -963,6 +963,7 @@ sub booking_request(){ my $return = { bike => "$bike", + pos_id => "$pos_id", state => "requested", response_state => "$response_state", response_text => "$response_text" diff --git a/copri4/main/src/Mod/APIjsonserver.pm b/copri4/main/src/Mod/APIjsonserver.pm index 8d4368a..6cf2840 100755 --- a/copri4/main/src/Mod/APIjsonserver.pm +++ b/copri4/main/src/Mod/APIjsonserver.pm @@ -296,7 +296,7 @@ elsif($q->param('request') eq "booking_request"){ #usecase with reservationId (in ctpos) is in sig not defined, thats because using ct_bike.txt22 #$sig_book = $si->sig_booking(\%varenv,"rental",$authraw,$ct_bike,$ctpos); #we have to use $ct_bike->{txt22} because we doesn't using sig reserve in this case - system("$varenv{basedir}/src/scripts/sig_client.pl $varenv{syshost} 'rental' $authraw->{c_id} $ct_bike->{txt22} '' &"); + system("$varenv{basedir}/src/scripts/sig_client.pl $varenv{syshost} 'rental' $authraw->{c_id} $ct_bike->{txt22} $ctpos->{c_id} &"); $sig_book->{rentalId} = "$R::rentalId" if($R::rentalId);#only for cmd tests ($rows, $booking_values) = $apif->booking_update($q,\%varenv,$authraw,$aowner,$sig_book); $response = {%$response, %$booking_values}; @@ -379,7 +379,7 @@ elsif($q->param('request') eq "booking_cancel" || $q->param('request') eq "booki #update on sig if($ctpos->{int11} == 3){ if($q->param('state') eq "occupied"){ - system("$varenv{basedir}/src/scripts/sig_client.pl $varenv{syshost} 'rental' $authraw->{c_id} '' $ctpos->{c_id} &"); + system("$varenv{basedir}/src/scripts/sig_client.pl $varenv{syshost} 'rental' $authraw->{c_id} $ctpos->{txt22} $ctpos->{c_id} &"); } #rental/end will be done by sig push-notification #if($q->param('state') eq "available"){ diff --git a/copri4/main/src/Mod/APIsigclient.pm b/copri4/main/src/Mod/APIsigclient.pm index 2ea8beb..1c7dbd0 100755 --- a/copri4/main/src/Mod/APIsigclient.pm +++ b/copri4/main/src/Mod/APIsigclient.pm @@ -372,16 +372,7 @@ sub sig_booking { print FILE "<--- $now_dt failure sig_booking sig_post $todo , reset sig_book hash to empty\n"; } -my $posref = { - table => "contenttranspos", - fetch => "one", - ca_id => "$ctadr->{c_id}", - txt11 => "$sig_book->{rentalId}", - }; -my $ctpos2 = { c_id => 0 }; -$ctpos2 = $dbt->fetch_tablerecord($dbh,$posref) if(1==1); - - if($ctpos2->{c_id}){ + if($ctpos->{c_id}){ my $rows = 0; my $update_pos = { table => "contenttranspos", @@ -392,7 +383,7 @@ $ctpos2 = $dbt->fetch_tablerecord($dbh,$posref) if(1==1); table => "content", mtime => "now()", owner => "169", - c_id => $ctpos2->{cc_id}, + c_id => $ctpos->{cc_id}, }; #rentalId will be only on success! @@ -415,13 +406,13 @@ $ctpos2 = $dbt->fetch_tablerecord($dbh,$posref) if(1==1); } #keep in mind, all other states will be done on REST, hopefully - $update_pos->{txt25} = "$ctpos2->{txt25}\n$sig_book->{return_state}";# if($sig_book->{return_state}); - $rows = $dbt->update_record($dbh,$update_pos,$ctpos2); - print FILE "<--- rows: $rows, update_pos: $ctpos2->{c_id}, with:" . Dumper($update_pos) . "\n"; + $update_pos->{txt25} = "$ctpos->{txt25}\n$sig_book->{return_state}";# if($sig_book->{return_state}); + $rows = $dbt->update_record($dbh,$update_pos,$ctpos); + print FILE "<--- rows: $rows, update_pos: $ctpos->{c_id}, with:" . Dumper($update_pos) . "\n"; - if($ctpos2->{cc_id}){ + if($ctpos->{cc_id}){ $rows = $dbt->update_record($dbh,$update_content,$update_content); - print FILE "<--- rows: $rows, update_content: $ctpos2->{cc_id}, with:" . Dumper($update_content) . "\n"; + print FILE "<--- rows: $rows, update_content: $ctpos->{cc_id}, with:" . Dumper($update_content) . "\n"; } }