Bike-smartlock archive refactoring and adding fleed hotline. 0 euro tariff extension

This commit is contained in:
ragu 2023-11-23 19:02:16 +01:00
parent 60f5bf58ed
commit b1c6a62657
11 changed files with 85 additions and 69 deletions

View file

@ -921,8 +921,7 @@ sub booking_request(){
fetch => "one",
main_id => 300008,
template_id => 218,
ca_id => "$auth->{c_id}",
#int10 => "$auth->{c_id}",#deprecated
int10 => "$auth->{c_id}",
state => "null",
close_time => "is::null",
};
@ -948,7 +947,7 @@ sub booking_request(){
$ct_station = $dbt->fetch_record($dbh,$pref_station) if($ct_bike->{int04});
#get invoice
$ctt = $dbt->fetch_record($dbh,$pref);
$ctt = $dbt->fetch_record($dbh,$pref) if($auth->{c_id});
if(!$ctt->{c_id}){
my $ct_id = $dbt->insert_contenttrans($dbh,$auth,"300008","218","----","$owner");
$pref->{c_id} = $ct_id;
@ -1744,7 +1743,7 @@ sub rental_to_feedback{
}
}
return ($ctpos,$show_dialog);
}
}#end rental_to_feedback
#user bikes occupied
@ -1961,11 +1960,21 @@ sub bikes_available(){
if(ref($tariff_content) eq "HASH"){
foreach my $tid (sort { $tariff_content->{$a}->{barcode} <=> $tariff_content->{$b}->{barcode} } keys (%$tariff_content)){
my $unit_price1 = $tariff_content->{$tid}->{int35};
my $unit_price2 = $tariff_content->{$tid}->{int36};
my $max_fee = $tariff_content->{$tid}->{int17};
my $unit_time = $tariff_content->{$tid}->{time01};
my $free_time = $tariff_content->{$tid}->{time02};
if($lang eq "de"){
$unit_price1 =~ s/\./,/ if(looks_like_number($unit_price1));
$unit_price2 =~ s/\./,/ if(looks_like_number($unit_price2));
$max_fee =~ s/\./,/ if(looks_like_number($max_fee));
}
foreach my $atid (keys (%$adrtarif_hash)){
#print "if($record->{$id}->{main_id} == $tariff_content->{$tid}->{int12} && $atid == $tariff_content->{$tid}->{barcode}){\n";
if($record->{$id}->{main_id} == $tariff_content->{$tid}->{int12} && $atid == $tariff_content->{$tid}->{barcode}){
#$bw->log("bikes_available for user c_id: $auth->{c_id} if($record->{$id}->{main_id} == $tariff_content->{$tid}->{int12} && $atid == $tariff_content->{$tid}->{barcode}) on BIKE:",$return->{$id}->{bike},"");
$bw->log("bikes_available for user c_id: $auth->{c_id} if($record->{$id}->{main_id} == $tariff_content->{$tid}->{int12} && $atid == $tariff_content->{$tid}->{barcode}) on BIKE:",$return->{$id}->{bike},"");
$return->{$id}->{rental_description}->{name} = "$tariff_content->{$tid}->{ct_name}";
$return->{$id}->{rental_description}->{id} = "$tariff_content->{$tid}->{barcode}";
@ -1978,30 +1987,33 @@ sub bikes_available(){
my $i = 0;
foreach my $td (sort keys (%$td_template)){
my $time_unit = "";
my $time_unit = "Min";
#print "$tid|$tariff_content->{$tid}->{barcode}|$tariff_content->{$tid}->{int35}|$tariff_content->{$tid}->{time02}\n";
if($td_template->{$td}->{int35} && $tariff_content->{$tid}->{int35} && $tariff_content->{$tid}->{int35} > 0){
$tariff_content->{$tid}->{int35} =~ s/\./,/ if($lang eq "de");
$time_unit = $dbt->time_format($varenv_prim,$tariff_content->{$tid}->{time01});
$return->{$id}->{rental_description}->{tarif_elements}->{$td} = ["$td_template->{$td}->{int35}","$tariff_content->{$tid}->{int35} € / $time_unit"];
if($td_template->{$td}->{int35} && looks_like_number($tariff_content->{$tid}->{int35})){
$time_unit = $dbt->time_format($varenv_prim,$tariff_content->{$tid}->{time01}) if($tariff_content->{$tid}->{time01} =~ /[1-9]/);
$return->{$id}->{rental_description}->{tarif_elements}->{$td} = ["$td_template->{$td}->{int35}","$unit_price1 € / $time_unit"];
}elsif($td_template->{$td}->{int36} && $tariff_content->{$tid}->{int36} && $tariff_content->{$tid}->{int36} > 0){
$tariff_content->{$tid}->{int36} =~ s/\./,/ if($lang eq "de");
$time_unit = $dbt->time_format($varenv_prim,$tariff_content->{$tid}->{time01});
$return->{$id}->{rental_description}->{tarif_elements}->{$td} = ["$td_template->{$td}->{int36}", "$tariff_content->{$tid}->{int36} € / $time_unit"];
$time_unit = $dbt->time_format($varenv_prim,$tariff_content->{$tid}->{time01}) if($tariff_content->{$tid}->{time01} =~ /[1-9]/);
$return->{$id}->{rental_description}->{tarif_elements}->{$td} = ["$td_template->{$td}->{int36}", "$unit_price2 € / $time_unit"];
}elsif($td_template->{$td}->{int17} && $tariff_content->{$tid}->{int17} && $tariff_content->{$tid}->{int17} > 0){
$tariff_content->{$tid}->{int17} =~ s/\./,/ if($lang eq "de");
$return->{$id}->{rental_description}->{tarif_elements}->{$td} = ["$td_template->{$td}->{int17}","$tariff_content->{$tid}->{int17} € / 24 $varenv_prim->{cms}->{'unit-hour'}->{txt}"];
}elsif($td_template->{$td}->{time02} && $tariff_content->{$tid}->{time02} =~ /[1-9]/){
if($further_freedtime_available == 1 || !$auth->{c_id}){
$return->{$id}->{rental_description}->{tarif_elements}->{$td} = ["$td_template->{$td}->{int17}","$max_fee € / 24 $varenv_prim->{cms}->{'unit-hour'}->{txt}"];
}elsif($td_template->{$td}->{time02}){
if($tariff_content->{$tid}->{time02} =~ /[1-9]/){
if($further_freedtime_available == 1 || !$auth->{c_id}){
$time_unit = $dbt->time_format($varenv_prim,$tariff_content->{$tid}->{time02});
$time_unit .= " / $varenv_prim->{cms}->{'unit-day'}->{txt}" if($dbt->{operator}->{$varenv->{dbname}}->{project} ne "Konstanz");
$return->{$id}->{rental_description}->{tarif_elements}->{$td} = ["$td_template->{$td}->{time02}","$time_unit"];
}
}else{
delete $return->{$id}->{rental_description}->{tarif_elements}->{$td};
}
}
}#end new rental_description
}#end foreach my $td (sort keys (%$td_template))
}
}
}#end foreach my $atid (keys (%$adrtarif_hash))
}
}
$op_return->{$dbt->{operator}->{$varenv->{dbname}}->{oprefix} . $id} = $return->{$id};