mirror of
https://gitlab.com/t6353/sharee.bike.git
synced 2025-05-13 15:16:38 +02:00
tarif handling for caching
This commit is contained in:
parent
729dad2be4
commit
0ce7c7bea5
16 changed files with 305 additions and 148 deletions
|
@ -67,7 +67,7 @@ my $response = {
|
|||
apiserver => "$apiserver",
|
||||
response => "$respreq",
|
||||
uri_primary => "$dbt->{primary}->{sharee_primary}->{primaryApp}",
|
||||
copri_version => "4.1.22.19",
|
||||
copri_version => "4.1.23.03",
|
||||
user_id => "",
|
||||
authcookie => "",
|
||||
new_authcoo => "0",
|
||||
|
@ -84,7 +84,6 @@ my $response = {
|
|||
lang => "de",
|
||||
last_used_operator => {
|
||||
operator_name => "sharee.bike | TeilRad GmbH",
|
||||
operator_color => "#009699",
|
||||
operator_email => "hotline\@sharee.bike",
|
||||
operator_phone => "+49 761 45370097",
|
||||
operator_hours => "Bürozeiten: Montag, Mittwoch, Freitag 9-12 Uhr",
|
||||
|
@ -157,8 +156,8 @@ if($q->param('request') eq "auth_verify"){
|
|||
my ($auth,$authraw) = $apif->auth_verify($q);
|
||||
$response = { %$response, %$auth };
|
||||
if(ref($auth) eq "HASH" && $auth->{authcookie}){
|
||||
$response = { %$response, %$auth };
|
||||
}else{
|
||||
$response = { %$response, %$auth };
|
||||
}else{
|
||||
$response->{response_state} = "Failure 1001: authcookie not defined";
|
||||
$response->{response_text} = "Entschuldigung, die Sitzung wurde unterbrochen";
|
||||
}
|
||||
|
@ -214,7 +213,7 @@ elsif($q->param('request') eq "booking_request"){
|
|||
$bike_id = $1 if($bike_id =~ /(\d+)/);
|
||||
|
||||
#check count of occcupied/requested bikes
|
||||
my $record = $apif->user_bikes_occupied($q,$authraw,"");
|
||||
my $record = $apif->user_bikes_occupied($dbh,$authraw,"");
|
||||
my $count=0;
|
||||
my $still_requested = 0;
|
||||
foreach my $id (keys(%$record)){
|
||||
|
@ -311,7 +310,7 @@ elsif($q->param('request') eq "booking_request"){
|
|||
}
|
||||
|
||||
#return list of occupied/requested bikes
|
||||
$record = $apif->user_bikes_occupied($q,$authraw,"");
|
||||
$record = $apif->user_bikes_occupied($dbh,$authraw,"");
|
||||
$response->{bikes_occupied} = $apif->rentals($record,$authraw,"1");#returns JSON rental values
|
||||
|
||||
}#end still_requested
|
||||
|
@ -392,7 +391,7 @@ elsif($q->param('request') eq "booking_cancel" || $q->param('request') eq "booki
|
|||
($rows, $booking_values) = $apif->booking_update($q,\%varenv,$authraw,$aowner,$sig_book);
|
||||
$response = {%$response, %$booking_values};
|
||||
|
||||
my $record = $apif->user_bikes_occupied($q,$authraw,"show_dialog");
|
||||
my $record = $apif->user_bikes_occupied($dbh,$authraw,"show_dialog");
|
||||
$response->{bikes_occupied} = $apif->rentals($record,$authraw,"1");
|
||||
|
||||
#update on Ilockit
|
||||
|
@ -400,12 +399,12 @@ elsif($q->param('request') eq "booking_cancel" || $q->param('request') eq "booki
|
|||
($rows, $booking_values) = $apif->booking_update($q,\%varenv,$authraw,$aowner,$sig_book);
|
||||
$response = {%$response, %$booking_values};
|
||||
|
||||
my $record = $apif->user_bikes_occupied($q,$authraw,"");
|
||||
my $record = $apif->user_bikes_occupied($dbh,$authraw,"");
|
||||
$response->{bikes_occupied} = $apif->rentals($record,$authraw,"1");
|
||||
}
|
||||
}#end occupied|available
|
||||
else{
|
||||
my $record = $apif->user_bikes_occupied($q,$authraw,"");
|
||||
my $record = $apif->user_bikes_occupied($dbh,$authraw,"");
|
||||
$response->{bikes_occupied} = $apif->rentals($record,$authraw,"1");
|
||||
}
|
||||
|
||||
|
@ -429,7 +428,7 @@ elsif($q->param('request') eq "user_bikes_occupied"){
|
|||
my ($auth,$authraw) = $apif->auth_verify($q);
|
||||
if(ref($auth) eq "HASH" && $auth->{authcookie}){
|
||||
$response = { %$response, %$auth };
|
||||
($response->{bikes_occupied},$response->{uri_operator_array},$response->{user_group},$response->{user_tour}) = $jsc->loop_sharees($q,$authraw,$return_merchant);
|
||||
($response->{bikes_occupied},$response->{uri_operator_array},$response->{user_group},$response->{user_tour}) = $jsc->loop_sharees($q,$auth,$authraw,$return_merchant);
|
||||
}else{
|
||||
$response->{response_state} = "Failure 1001: authcookie not defined";
|
||||
$response->{response_text} = "Entschuldigung, die Sitzung wurde unterbrochen";
|
||||
|
@ -440,7 +439,7 @@ elsif($q->param('request') eq "user_bikes_occupied"){
|
|||
my ($auth,$authraw) = $apif->auth_verify($q);
|
||||
if(ref($auth) eq "HASH" && $auth->{authcookie}){
|
||||
$response = { %$response, %$auth };
|
||||
my $record = $apif->user_bikes_occupied($q,$authraw,"show_dialog");
|
||||
my $record = $apif->user_bikes_occupied($dbh,$authraw,"show_dialog");
|
||||
$response->{bikes_occupied} = $apif->rentals($record,$authraw,"1");
|
||||
}else{
|
||||
$response->{response_state} = "Failure 1001: authcookie not defined";
|
||||
|
@ -461,7 +460,7 @@ elsif($q->param('request') eq "bikes_available"){
|
|||
my $authraw = {};
|
||||
($auth,$authraw) = $apif->auth_verify($q);
|
||||
$response = { %$response, %$auth };
|
||||
($response->{bikes},$response->{uri_operator_array},$response->{user_group},$response->{user_tour}) = $jsc->loop_sharees($q,$authraw,$return_merchant);
|
||||
($response->{bikes},$response->{uri_operator_array},$response->{user_group},$response->{user_tour}) = $jsc->loop_sharees($q,$auth,$authraw,$return_merchant);
|
||||
#$bw->log("X bikes_available $varenv{syshost} $stamp: $response->{user_group}",$response,"");
|
||||
}else{
|
||||
($aowner,my $return_merchant) = $apif->fetch_merchant($q,\%varenv,$coo,$q->param('merchant_id'));
|
||||
|
@ -497,7 +496,7 @@ elsif($q->param('request') eq "bikes_all"){
|
|||
|
||||
my ($auth,$authraw) = $apif->auth_verify($q);
|
||||
$response = { %$response, %$auth };
|
||||
($response->{bikes},$response->{uri_operator_array},$response->{user_group},$response->{user_tour}) = $jsc->loop_sharees($q,$authraw,$return_merchant);
|
||||
($response->{bikes},$response->{uri_operator_array},$response->{user_group},$response->{user_tour}) = $jsc->loop_sharees($q,$auth,$authraw,$return_merchant);
|
||||
}else{
|
||||
($aowner,my $return_merchant) = $apif->fetch_merchant($q,\%varenv,$coo,$q->param('merchant_id'));
|
||||
$varenv{merchant_id} = $return_merchant->{merchant_id};
|
||||
|
@ -638,7 +637,7 @@ elsif($q->param('request') eq "stations_all"){
|
|||
|
||||
my ($auth,$authraw) = $apif->auth_verify($q);
|
||||
$response = { %$response, %$auth };
|
||||
($response->{stations},$response->{uri_operator_array},$response->{user_group},$response->{user_tour}) = $jsc->loop_sharees($q,$authraw,$return_merchant);
|
||||
($response->{stations},$response->{uri_operator_array},$response->{user_group},$response->{user_tour}) = $jsc->loop_sharees($q,$auth,$authraw,$return_merchant);
|
||||
}else{
|
||||
($aowner,my $return_merchant) = $apif->fetch_merchant($q,\%varenv,$coo,$q->param('merchant_id'));
|
||||
$varenv{merchant_id} = $return_merchant->{merchant_id};
|
||||
|
@ -662,41 +661,60 @@ elsif($q->param('request') eq "stations_available"){
|
|||
my ($auth,$authraw) = $apif->auth_verify($q);
|
||||
|
||||
my $user_agent_subversion = 1000;
|
||||
$user_agent_subversion = $3 if($user_agent =~ /3\.0\.(\d+)/);
|
||||
#$user_agent = "3.0.348";#test
|
||||
$user_agent_subversion = $1 if($user_agent =~ /3\.0\.(\d+)/);
|
||||
|
||||
#for tests only contributors with service-tour defined
|
||||
if(1==2 && $user_agent_subversion <= 398 && $authraw->{txt18} && $authraw->{c_id} =~ /$dbt->{copri_conf}->{contributors}/){
|
||||
my $pref_ctu = {
|
||||
table => "contentuser",
|
||||
fetch => "one",
|
||||
ct_name => "App-update-message",
|
||||
};
|
||||
my $uadr = { c_id => 0 };
|
||||
$uadr = $dbt->fetch_tablerecord($dbh,$pref_ctu);
|
||||
$response->{merchant_message} = $uadr->{txt01};
|
||||
$response->{merchant_message} = $uadr->{txt02} if($q->param('lang') eq "en");
|
||||
}
|
||||
#bayern-maintanance-message
|
||||
#merchant_message timerange
|
||||
my $lnow = strftime("%Y-%m-%d %H:%M:%S", localtime(time));
|
||||
my $localtime = Time::Piece->strptime($lnow, "%Y-%m-%d %H:%M:%S");
|
||||
my $epoch_now = $localtime->epoch;
|
||||
my $maintanance_start = Time::Piece->strptime("2023-02-16 21:00:00", "%Y-%m-%d %H:%M:%S");
|
||||
my $maintanance_end = Time::Piece->strptime("2023-02-17 03:00:00", "%Y-%m-%d %H:%M:%S");
|
||||
my $maintanance_start = Time::Piece->strptime("2023-03-06 00:00:00", "%Y-%m-%d %H:%M:%S");
|
||||
my $maintanance_end = Time::Piece->strptime("2023-04-01 01:00:00", "%Y-%m-%d %H:%M:%S");
|
||||
my $epoch_start = $maintanance_start->epoch;
|
||||
my $epoch_end = $maintanance_end->epoch;
|
||||
if(1==1 && $return_merchant->{merchant_id} eq $dbt->{appsframe}->{LastenradBayern}->{merchant_id} && $epoch_now >= $epoch_start && $epoch_now <= $epoch_end){
|
||||
my $pref_ctu = {
|
||||
table => "contentuser",
|
||||
fetch => "one",
|
||||
ct_name => "bayern-maintanance-message",
|
||||
};
|
||||
my $uadr = { c_id => 0 };
|
||||
$uadr = $dbt->fetch_tablerecord($dbh,$pref_ctu);
|
||||
$response->{merchant_message} = $uadr->{txt01};
|
||||
|
||||
#App update message
|
||||
if($user_agent_subversion <= 348){
|
||||
if($epoch_now >= $epoch_start && $epoch_now <= $epoch_end){
|
||||
my $pref_ctu = {
|
||||
table => "contentuser",
|
||||
fetch => "one",
|
||||
ct_name => "App-update-message",
|
||||
};
|
||||
my $uadr = { c_id => 0 };
|
||||
$uadr = $dbt->fetch_tablerecord($dbh,$pref_ctu);
|
||||
$response->{merchant_message} = $uadr->{txt01} . $user_agent;
|
||||
$response->{merchant_message} = $uadr->{txt02} if($q->param('lang') eq "en");
|
||||
}else{
|
||||
$apif->authout($q,$coo);
|
||||
}
|
||||
}
|
||||
|
||||
#user_rental
|
||||
$response->{user_rental} = {};
|
||||
if($authraw->{txt19} && $authraw->{txt19} =~ /sharee_/){
|
||||
my $last_used_operator = $authraw->{txt19};
|
||||
my $dbh_operator = $dbt->dbconnect_extern("$last_used_operator");
|
||||
my $record_rentals = {};
|
||||
$record_rentals = $apif->user_bikes_occupied($dbh_operator,$authraw,"");
|
||||
foreach my $r_id (keys (%$record_rentals)){
|
||||
if($record_rentals->{$r_id}->{c_id}){
|
||||
my $prefix = $record_rentals->{$r_id}->{txt12};
|
||||
my $station_type = "A-B";
|
||||
$station_type = "A-A" if($record_rentals->{$r_id}->{int41});
|
||||
$response->{user_rental} = { $record_rentals->{$r_id}->{c_id} => {
|
||||
bike_id => "$prefix$record_rentals->{$r_id}->{barcode}",
|
||||
station_id => "$prefix$record_rentals->{$r_id}->{int06}",
|
||||
station_group => "$prefix$record_rentals->{$r_id}->{int29}",
|
||||
station_type => "$station_type",
|
||||
}};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$response = { %$response, %$auth };
|
||||
($response->{stations},$response->{uri_operator_array},$response->{user_group},$response->{user_tour}) = $jsc->loop_sharees($q,$authraw,$return_merchant);
|
||||
($response->{stations},$response->{uri_operator_array},$response->{user_group},$response->{user_tour}) = $jsc->loop_sharees($q,$auth,$authraw,$return_merchant);
|
||||
}else{
|
||||
($aowner,my $return_merchant) = $apif->fetch_merchant($q,\%varenv,$coo,$q->param('merchant_id'));
|
||||
$varenv{merchant_id} = $return_merchant->{merchant_id};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue