shareeweb-ren, Mlogic and sigo_cupdate

This commit is contained in:
Rainer Gümpelein 2022-04-04 14:57:43 +02:00
parent fd29218991
commit d06556bd60
11 changed files with 125 additions and 79 deletions

View file

@ -805,7 +805,7 @@ sub booking_update(){
station_state => "",
co2saving => "",
response_state => "OK 1017: No update",
response_text => "Es wurden keine Daten aktualisiert",
response_text => "Der Mietstatus wurde nicht geändert.",
};
my $pref = {
@ -945,7 +945,9 @@ sub booking_update(){
$ct_state = $state_key;
}elsif($gps && $gps_age_minutes <= 3){#client GPS must have
}
#client GPS must have. sigo ist done without client gps
elsif(($gps && $gps_age_minutes <= 3) || ($record_pos->{int11} == 3)){
#geofencing for Ilockit
my $geo_distance_next = 100000;
my $station_next = 0;
@ -954,9 +956,9 @@ sub booking_update(){
foreach my $id (sort { $stations_raw->{$a}->{barcode} <=> $stations_raw->{$b}->{barcode} } keys (%$stations_raw)){
my $latitude_station = $1 if($stations_raw->{$id}->{txt06} =~ /^(\d+\.\d+)/);
my $longitude_station = $1 if($stations_raw->{$id}->{txt06} =~ /(\d+\.\d+)$/);
if(!looks_like_number($latitude) || !looks_like_number($longitude)){
if((!looks_like_number($latitude) || !looks_like_number($longitude)) && ($record_pos->{int11} != 3)){
$geo_debug .= "ERROR no user GPS: $stations_raw->{$id}->{barcode}|$latitude,$longitude,$latitude_station,$longitude_station --> $geo_distance Meter\n";
}elsif(looks_like_number($latitude) && looks_like_number($longitude) && looks_like_number($latitude_station) && looks_like_number($longitude_station)){
}elsif((looks_like_number($latitude) && looks_like_number($longitude) && looks_like_number($latitude_station) && looks_like_number($longitude_station)) || ($record_pos->{int11} == 3)){
$update_pos->{owner_end} = "$owner";
$update_pos->{end_time} = "now()";
@ -1025,8 +1027,8 @@ sub booking_update(){
#print "$geo_debug\n";
$bw->log("GEOfencing geo_debug:$geo_debug",$q,"");
#end if gps && gps_age <= 3
}else{
#end if gps && gps_age <= 3 and not sigo
}elsif($record_pos->{int11} != 3){
if(!$gps){
$booking_values->{response_state} = "Failure 2245: No GPS data, state change forbidden.";
$booking_values->{response_text} = "Fehler! Keine GPS Standortdaten, Die Miete Fahrrad Nr. " . $q->param('bike') . " kann wegen fehlendem GPS nicht $state_text werden. Bitte aktivieren Sie das GPS.";