mirror of
https://gitlab.com/t6353/sharee.bike.git
synced 2025-02-22 11:46:27 +01:00
sigo api rental fork
This commit is contained in:
parent
0163c06893
commit
dd9be5f40e
14 changed files with 283 additions and 161 deletions
|
@ -25,7 +25,7 @@ use Mod::DBtank;
|
|||
use Mod::Callib;
|
||||
use Mod::Basework;
|
||||
use Mod::Pricing;
|
||||
#use Mod::APIsigoclient;#no!
|
||||
#use Mod::APIsigclient;#no!
|
||||
use Data::Dumper;
|
||||
use Sys::Hostname;
|
||||
my $hostname = hostname;
|
||||
|
@ -36,7 +36,7 @@ my $dbt = new DBtank;
|
|||
my $cal = new Callib;
|
||||
my $bw = new Basework;
|
||||
my $pri = new Pricing;
|
||||
#my $si = new APIsigoclient;
|
||||
#my $si = new APIsigclient;
|
||||
|
||||
sub new {
|
||||
my $class = shift;
|
||||
|
@ -1143,7 +1143,7 @@ sub booking_update(){
|
|||
$update_pos->{owner} = "$owner";
|
||||
|
||||
$update_pos->{int10} = "$state_key";
|
||||
$update_pos->{txt11} = "$sig_book->{rentalid}" if($sig_book->{rentalid});
|
||||
$update_pos->{txt11} = "$sig_book->{rentalId}" if($sig_book->{rentalId});
|
||||
$rows = $dbt->update_record($dbh,$update_pos,$record_pos);
|
||||
|
||||
if($rows > 0){
|
||||
|
@ -1171,7 +1171,7 @@ sub booking_update(){
|
|||
$update_pos->{int41} = "$counting->{int41}" if(looks_like_number($counting->{int41}));
|
||||
|
||||
$update_pos->{int10} = "$state_key";
|
||||
$update_pos->{txt11} = "$sig_book->{rentalid}" if($sig_book->{rentalid});
|
||||
$update_pos->{txt11} = "$sig_book->{rentalId}" if($sig_book->{rentalId});
|
||||
$rows = $dbt->update_record($dbh,$update_pos,$record_pos);
|
||||
|
||||
$booking_values->{response_state} = "OK: available bike " . $q->param('bike') . ", still locked";
|
||||
|
@ -1207,7 +1207,7 @@ sub booking_update(){
|
|||
$update_cc->{int04} = "$stations_raw->{$id}->{int04}";
|
||||
$update_pos->{int24} = "1";
|
||||
$update_pos->{int10} = "$state_key";
|
||||
$update_pos->{txt11} = "$sig_book->{rentalid}" if($sig_book->{rentalid});
|
||||
$update_pos->{txt11} = "$sig_book->{rentalId}" if($sig_book->{rentalId});
|
||||
$update_cc->{txt06} = "$gps";#end content coordinates
|
||||
$update_pos->{txt06} = "$gps";#end pos coordinates
|
||||
$update_pos->{int21} = "$gps_age_minutes";
|
||||
|
|
|
@ -25,7 +25,7 @@ use Mod::Basework;
|
|||
use Mod::Shareework;
|
||||
use Mod::APIfunc;
|
||||
use Mod::APIjsonclient;
|
||||
use Mod::APIsigoclient;
|
||||
use Mod::APIsigclient;
|
||||
use Data::Dumper;
|
||||
use Sys::Hostname;
|
||||
my $hostname = hostname;
|
||||
|
@ -42,7 +42,7 @@ sub handler {
|
|||
my $tk = new Shareework;
|
||||
my $apif = new APIfunc;
|
||||
my $jsc = new APIjsonclient;
|
||||
my $si = new APIsigoclient;
|
||||
my $si = new APIsigclient;
|
||||
|
||||
my $dbh = "";
|
||||
my %varenv = $cf->envonline();
|
||||
|
@ -185,6 +185,7 @@ elsif($q->param('request') eq "authorization"){
|
|||
elsif($q->param('request') eq "booking_request"){
|
||||
($aowner,my $return_merchant) = $apif->fetch_merchant($q,\%varenv,$coo,$q->param('merchant_id'));
|
||||
$varenv{merchant_id} = $return_merchant->{merchant_id};
|
||||
my $rows = 0;
|
||||
$response = { %$response, %$return_merchant };
|
||||
|
||||
my ($auth,$authraw) = $apif->auth_verify($q);
|
||||
|
@ -241,6 +242,7 @@ elsif($q->param('request') eq "booking_request"){
|
|||
($ct_bike,$ct_tariff) = $apif->fetch_bike_tariff(\%varenv,$authraw,$bike,$aowner);
|
||||
|
||||
my $sig_book = {
|
||||
bikeId => "$ct_bike->{txt22}",
|
||||
rentalId => "",
|
||||
reservationId => ""
|
||||
};
|
||||
|
@ -248,7 +250,7 @@ elsif($q->param('request') eq "booking_request"){
|
|||
if($ct_bike->{barcode} && $ct_tariff->{barcode}){
|
||||
#sig reservation. not mandatory
|
||||
if($ct_bike->{int11} == 3){
|
||||
$sig_book = $si->sig_booking(\%varenv,$auth,$ct_bike,"","reserve");
|
||||
$sig_book = $si->sig_booking(\%varenv,$authraw,$ct_bike,"","reserve");
|
||||
}
|
||||
$response_book = $apif->booking_request(\%varenv,$authraw,$bike,$ct_bike,$ct_tariff,$aowner,$gps,$sig_book);
|
||||
}elsif(!$ct_tariff->{barcode}){
|
||||
|
@ -261,6 +263,7 @@ elsif($q->param('request') eq "booking_request"){
|
|||
|
||||
#just in time booking
|
||||
if(ref($response_book) eq "HASH" && $response_book->{response_state} =~ /OK/ && $q->param('state') && $q->param('state') =~ /occupied/){
|
||||
my $booking_values = {};
|
||||
my $ctpos = {};
|
||||
my $booking_pos = {
|
||||
table => "contenttranspos",
|
||||
|
@ -274,13 +277,16 @@ elsif($q->param('request') eq "booking_request"){
|
|||
#sig booking
|
||||
if($ctpos->{int11} == 3){
|
||||
#usecase with reservationId (in ctpos) is in sig not defined, thats because using ct_bike.txt22
|
||||
$sig_book = $si->sig_booking(\%varenv,$auth,$ct_bike,$ctpos,"rental");
|
||||
#$sig_book = $si->sig_booking(\%varenv,$authraw,$ct_bike,$ctpos,"rental");
|
||||
system("$varenv{basedir}/src/scripts/sig_client.pl $varenv{syshost} 'rental' $authraw->{c_id} $ctpos->{c_id} &");
|
||||
($rows, $booking_values) = $apif->booking_update($q,\%varenv,$authraw,$aowner,$sig_book);
|
||||
$response = {%$response, %$booking_values};
|
||||
}else{
|
||||
($rows, $booking_values) = $apif->booking_update($q,\%varenv,$authraw,$aowner,$sig_book);
|
||||
$response = {%$response, %$booking_values};
|
||||
}
|
||||
|
||||
(my $rows, my $booking_values) = $apif->booking_update($q,\%varenv,$authraw,$aowner,$sig_book);
|
||||
$response = {%$response, %$booking_values};
|
||||
}else{
|
||||
$response = {%$response, %$response_book};
|
||||
$response = {%$response, %$response_book};
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -331,7 +337,8 @@ elsif($q->param('request') eq "booking_cancel" || $q->param('request') eq "booki
|
|||
$ctpos = $dbt->fetch_tablerecord($dbh,$booking_pos);
|
||||
|
||||
my $sig_book = {
|
||||
rentalId => "",
|
||||
bikeId => $ctpos->{txt22},
|
||||
rentalId => $ctpos->{txt11},
|
||||
reservationId => ""
|
||||
};
|
||||
|
||||
|
@ -339,10 +346,10 @@ elsif($q->param('request') eq "booking_cancel" || $q->param('request') eq "booki
|
|||
my $booking_values = {};
|
||||
|
||||
if($ctpos->{int11} == 3){
|
||||
#this sigo request is still not defined
|
||||
#$sig_book = $si->sig_booking(\%varenv,$auth,"",$ctpos,"reserve_end");
|
||||
$response->{response_state} = "Failure: sigo bike reservation can not be canceled on sigo";
|
||||
$response->{response_text} = "Abbruch, die Reservierung kann nicht storniert werden";
|
||||
#this sig request is still not defined
|
||||
#$response->{response_state} = "Failure: sig bike reservation can not be canceled on sig";
|
||||
#$response->{response_text} = "Abbruch, die Reservierung kann nicht storniert werden";
|
||||
$sig_book = $si->sig_booking(\%varenv,$authraw,"",$ctpos,"reserve_end");
|
||||
($rows, $booking_values) = $apif->booking_update($q,\%varenv,$authraw,$aowner,$sig_book);
|
||||
}else{
|
||||
($rows, $booking_values) = $apif->booking_update($q,\%varenv,$authraw,$aowner,$sig_book);
|
||||
|
@ -350,19 +357,24 @@ elsif($q->param('request') eq "booking_cancel" || $q->param('request') eq "booki
|
|||
$response = {%$response, %$booking_values};
|
||||
|
||||
}elsif($q->param('request') eq "booking_update" && (($q->param('state') && $q->param('state') =~ /occupied|available/) || ($q->param('lock_state') && $q->param('lock_state') =~ /locking|locked|unlocking|unlocked/))){
|
||||
|
||||
my $booking_values = {};
|
||||
|
||||
if($ctpos->{int11} == 3){
|
||||
if($q->param('state') eq "occupied"){
|
||||
$sig_book = $si->sig_booking(\%varenv,$auth,"",$ctpos,"rental");
|
||||
#$sig_book = $si->sig_booking(\%varenv,$authraw,"",$ctpos,"rental");
|
||||
system("$varenv{basedir}/src/scripts/sig_client.pl $varenv{syshost} 'rental' $authraw->{c_id} $ctpos->{c_id} &");
|
||||
}
|
||||
if($q->param('state') eq "available"){
|
||||
$sig_book = $si->sig_booking(\%varenv,$auth,"",$ctpos,"rental_end");
|
||||
#$sig_book = $si->sig_booking(\%varenv,$authraw,"",$ctpos,"rental_end");
|
||||
system("$varenv{basedir}/src/scripts/sig_client.pl $varenv{syshost} 'rental_end' $authraw->{c_id} $ctpos->{c_id} &");
|
||||
}
|
||||
}
|
||||
|
||||
($rows, my $booking_values) = $apif->booking_update($q,\%varenv,$authraw,$aowner,$sig_book);
|
||||
$response = {%$response, %$booking_values};
|
||||
($rows, $booking_values) = $apif->booking_update($q,\%varenv,$authraw,$aowner,$sig_book);
|
||||
$response = {%$response, %$booking_values};
|
||||
}else{
|
||||
($rows, $booking_values) = $apif->booking_update($q,\%varenv,$authraw,$aowner,$sig_book);
|
||||
$response = {%$response, %$booking_values};
|
||||
}
|
||||
|
||||
#keep in mind, it works on operator dependency
|
||||
$bw->log("user_miniquery via $varenv{dbname} exist count:",$authraw->{int23},"");
|
||||
|
@ -493,8 +505,8 @@ elsif($q->param('request') eq "bikes_available"){
|
|||
$bw->log("Y bikes_available by c_id $authraw->{c_id}, Tarif:",$authraw->{txt30},"");
|
||||
|
||||
if($varenv{syshost} eq "shareeapp-sx"){
|
||||
($response->{bikes},my $return2copri->{bikes}) = $si->sigo_available($q,\%varenv,$authraw);
|
||||
$tk->sigobike_cupdate($return2copri->{bikes});
|
||||
($response->{bikes},my $return2copri->{bikes}) = $si->sig_available($q,\%varenv,$authraw);
|
||||
$tk->sigbike_cupdate($return2copri->{bikes});
|
||||
}else{
|
||||
$response->{bikes} = $apif->bikes_available($q,\%varenv,$authraw);
|
||||
}
|
||||
|
@ -700,8 +712,8 @@ elsif($q->param('request') eq "stations_available"){
|
|||
my ($auth,$authraw) = $apif->auth_verify($q);
|
||||
$response = { %$response, %$auth };
|
||||
if($varenv{syshost} eq "shareeapp-sx"){
|
||||
($response->{stations},my $return2copri->{stations}) = $si->sigo_available($q,\%varenv,$authraw);
|
||||
$tk->sigostation_cupdate($return2copri->{stations});
|
||||
($response->{stations},my $return2copri->{stations}) = $si->sig_available($q,\%varenv,$authraw);
|
||||
$tk->sigstation_cupdate($return2copri->{stations});
|
||||
}else{
|
||||
($response->{stations}, my $response_raw) = $apif->stations_available($q,\%varenv,$authraw);
|
||||
}
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
package APIsigoclient;
|
||||
package APIsigclient;
|
||||
#
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
# Copyright (c) Rainer Gümpelein, TeilRad GmbH
|
||||
#
|
||||
#Client for sigo
|
||||
#Client for sig
|
||||
#
|
||||
#380116b5-0522-43da-ab66-477744a731a3
|
||||
#
|
||||
|
@ -49,18 +49,18 @@ sub new {
|
|||
my %apikeyconf = $aconf->getall;
|
||||
|
||||
my $ua = LWP::UserAgent->new;
|
||||
$ua->agent("sharee sigoclient");
|
||||
$ua->agent("sharee sigclient");
|
||||
my $size = $ua->max_size;
|
||||
my $bytes = 100000;
|
||||
$ua->max_size( $bytes );
|
||||
$ua->default_header( 'x-api-key' => $apikeyconf{sigo}->{api_key} );
|
||||
|
||||
#will be called on bikes_available
|
||||
sub sigo_available {
|
||||
sub sig_available {
|
||||
my $self = shift;
|
||||
my $q = shift;
|
||||
my $varenv = shift || {};
|
||||
my $auth = shift || {};
|
||||
my $ctadr = shift || {};
|
||||
|
||||
my $response_in = {};
|
||||
my $dbh = "";
|
||||
|
@ -68,8 +68,8 @@ sub sigo_available {
|
|||
|
||||
my $authed = 0;
|
||||
my $tariff_content = {};
|
||||
$authed = 1 if(ref($auth) eq "HASH" && $auth->{c_id} && $auth->{c_id} > 0);
|
||||
(my $bike_group,my $user_group,$tariff_content,my $user_tour) = $apif->fetch_tariff($varenv->{dbname},$auth,$q->param('authcookie'));
|
||||
$authed = 1 if(ref($ctadr) eq "HASH" && $ctadr->{c_id} && $ctadr->{c_id} > 0);
|
||||
(my $bike_group,my $user_group,$tariff_content,my $user_tour) = $apif->fetch_tariff($varenv->{dbname},$ctadr,$q->param('ctadrcookie'));
|
||||
|
||||
my $hotline_hash = {
|
||||
table => "contentuser",
|
||||
|
@ -80,15 +80,15 @@ sub sigo_available {
|
|||
my $hotline_data = $dbt->fetch_record($dbh,$hotline_hash);
|
||||
my $td_template = $dbt->rental_description_template();
|
||||
|
||||
open(FILE,">>$varenv->{logdir}/APIsigo_client.log");
|
||||
print FILE "\n*** $now_dt 'sigo_available' \n";
|
||||
open(FILE,">>$varenv->{logdir}/APIsigclient.log");
|
||||
print FILE "\n*** $now_dt 'sig_available' \n";
|
||||
|
||||
#my $endpoint = "https://sigo.dev.sigo.green/api/v1/bikes";
|
||||
my $endpoint = "$dbt->{operator}->{$varenv->{dbname}}->{endpoint}/bikes";
|
||||
my $response_out = {};
|
||||
my $return2copri = {};
|
||||
my $rest_json = "";
|
||||
(my $ret_json, my $ret_status) = $self->get_sigo("$endpoint",$rest_json);
|
||||
(my $ret_json, my $ret_status) = $self->get_sig("$endpoint",$rest_json);
|
||||
eval {
|
||||
$response_in = decode_json($ret_json);
|
||||
$now_dt = strftime "%Y-%m-%d %H:%M:%S", localtime;
|
||||
|
@ -200,13 +200,13 @@ sub sigo_available {
|
|||
$response_out->{$bike}->{tariff_description}->{max_eur_per_day} = "$tariff_content->{$tid}->{int17}" if($tariff_content->{$tid}->{int17});
|
||||
$response_out->{$bike}->{tariff_description}->{free_hours} = "$tariff_content->{$tid}->{int16}" if($tariff_content->{$tid}->{int16});
|
||||
$response_out->{$bike}->{tariff_description}->{abo_eur_per_month} = "$tariff_content->{$tid}->{int15}" if($tariff_content->{$tid}->{int15});
|
||||
$response_out->{$bike}->{tariff_description}->{operator_agb} = "Mit der Mietrad Anmietung wird folgender Betreiber <a href='$dbt->{operator}->{$varenv->{dbname}}->{operatorApp}/site/agb.html' target='_blank'>AGB</a> zugestimmt (Demo)." if($auth->{c_id} && ($auth->{c_id} == 1842 || $auth->{c_id} == 5781 || $auth->{c_id} == 22262));
|
||||
$response_out->{$bike}->{tariff_description}->{operator_agb} = "Mit der Mietrad Anmietung wird folgender Betreiber <a href='$dbt->{operator}->{$varenv->{dbname}}->{operatorApp}/site/agb.html' target='_blank'>AGB</a> zugestimmt (Demo)." if($ctadr->{c_id} && ($ctadr->{c_id} == 1842 || $ctadr->{c_id} == 5781 || $ctadr->{c_id} == 22262));
|
||||
|
||||
#new rental_description
|
||||
$response_out->{$bike}->{rental_description}->{name} = "$tariff_content->{$tid}->{ct_name}";
|
||||
$response_out->{$bike}->{rental_description}->{id} = "$tariff_content->{$tid}->{barcode}";
|
||||
$response_out->{$bike}->{rental_description}->{rental_info}->{1} = ["Tracking","Ich stimme der Speicherung (Tracking) meiner Fahrstrecke zwecks wissenschaftlicher Auswertung und Berechnung der CO2-Einsparung zu!"];#TODO if($resp->{gps_tracker_id});
|
||||
$response_out->{$bike}->{rental_description}->{rental_info}->{2} = ["AGB","Mit der Mietrad Anmietung wird folgender Betreiber <a href='$varenv->{wwwhost}/site/agb.html' target='_blank'>AGB</a> zugestimmt (als Demo sharee AGB)."] if($auth->{c_id} && ($auth->{c_id} == 1842 || $auth->{c_id} == 5781 || $auth->{c_id} == 22262));
|
||||
$response_out->{$bike}->{rental_description}->{rental_info}->{2} = ["AGB","Mit der Mietrad Anmietung wird folgender Betreiber <a href='$varenv->{wwwhost}/site/agb.html' target='_blank'>AGB</a> zugestimmt (als Demo sharee AGB)."] if($ctadr->{c_id} && ($ctadr->{c_id} == 1842 || $ctadr->{c_id} == 5781 || $ctadr->{c_id} == 22262));
|
||||
|
||||
my $i = 0;
|
||||
foreach my $td (sort keys (%$td_template)){
|
||||
|
@ -262,17 +262,17 @@ sub sigo_available {
|
|||
print FILE "warn:" . $@ . "\n";
|
||||
}
|
||||
|
||||
print FILE "sigo_available response_out from response_in\n" . Dumper($response_out) . "\n";
|
||||
print FILE "sig_available response_out from response_in\n" . Dumper($response_out) . "\n";
|
||||
close(FILE);
|
||||
|
||||
return ($response_out,$return2copri);
|
||||
}#end sigo_available
|
||||
}#end sig_available
|
||||
|
||||
#POST resverve, rental, ...
|
||||
sub sig_booking {
|
||||
my $self = shift;
|
||||
my $varenv = shift || {};
|
||||
my $auth = shift || {};
|
||||
my $ctadr = shift || {};
|
||||
my $ct_bike = shift || {};
|
||||
my $ctpos = shift || {};
|
||||
my $todo = shift || "";
|
||||
|
@ -281,8 +281,8 @@ sub sig_booking {
|
|||
my $owner = 169;
|
||||
my $sig_book = {};
|
||||
|
||||
open(FILE,">>$varenv->{logdir}/APIsigo_client.log");
|
||||
print FILE "\n*** $now_dt 'sigo_post $todo' \n";
|
||||
open(FILE,">>$varenv->{logdir}/APIsigclient.log");
|
||||
print FILE "\n*** $now_dt 'sig_post $todo' \n";
|
||||
|
||||
my $endpoint = "$dbt->{operator}->{$varenv->{dbname}}->{endpoint}/";
|
||||
my %json = ();
|
||||
|
@ -292,25 +292,24 @@ sub sig_booking {
|
|||
$endpoint .= "bikes/reserve";
|
||||
%json = (
|
||||
bikeId => "$ct_bike->{txt22}",
|
||||
email => "r.guempelein\@sharee.bike"
|
||||
email => "$ctadr->{txt08}"
|
||||
);
|
||||
}
|
||||
#reservation end, this sigo request is still not defined
|
||||
#reservation end, this sig request is still not defined. maybe end by rentalId
|
||||
elsif($todo eq "reserve_end"){
|
||||
$endpoint .= "reserve/end";
|
||||
%json = (
|
||||
reservationId => "$ctpos->{txt10}",
|
||||
email => "r.guempelein\@sharee.bike"
|
||||
email => "$ctadr->{txt08}"
|
||||
);
|
||||
}
|
||||
#rental start
|
||||
elsif($todo eq "rental"){
|
||||
$endpoint .= "rental";
|
||||
my $sig_serial = $ctpos->{txt22} || $ct_bike->{txt22};
|
||||
my $sig_bikeId = $ctpos->{txt22} || $ct_bike->{txt22};
|
||||
%json = (
|
||||
bikeId => "$sig_serial",
|
||||
#reservationId => "$ctpos->{txt10}",#not in sig implemented
|
||||
email => "r.guempelein\@sharee.bike"
|
||||
bikeId => "$sig_bikeId",
|
||||
email => "$ctadr->{txt08}"
|
||||
);
|
||||
}
|
||||
#rental end
|
||||
|
@ -318,7 +317,7 @@ sub sig_booking {
|
|||
$endpoint .= "rental/end";
|
||||
%json = (
|
||||
rentalId => "$ctpos->{txt11}",
|
||||
email => "r.guempelein\@sharee.bike"
|
||||
email => "$ctadr->{txt08}"
|
||||
);
|
||||
#keep in mind, it will return no json, just text: "Rental Ended"
|
||||
}
|
||||
|
@ -332,16 +331,16 @@ sub sig_booking {
|
|||
if(ref(\%json) eq "HASH" && $json{email}){
|
||||
my $rest_json = encode_json(\%json);
|
||||
|
||||
(my $ret_json, my $ret_status) = $self->post_sigo($endpoint,$rest_json);
|
||||
(my $ret_json, my $ret_status) = $self->post_sig($endpoint,$rest_json);
|
||||
$now_dt = strftime "%Y-%m-%d %H:%M:%S", localtime;
|
||||
eval {
|
||||
$sig_book = decode_json($ret_json);
|
||||
print FILE "<--- $now_dt sig_booking sigo_post $todo response_in with status_line: $ret_status\n" . Dumper($sig_book);
|
||||
print FILE "<--- $now_dt sig_booking sig_post $todo response_in with status_line: $ret_status\n" . Dumper($sig_book);
|
||||
#print $ret_json . "\n";
|
||||
|
||||
};
|
||||
if ($@){
|
||||
print FILE "<--- $now_dt failure sig_booking sigo_post $todo raw response_in with status_line: $ret_status\n" . Dumper($ret_json) . "\n";
|
||||
print FILE "<--- $now_dt failure sig_booking sig_post $todo raw response_in with status_line: $ret_status\n" . Dumper($ret_json) . "\n";
|
||||
#warn $@;
|
||||
print FILE "warn:" . $@ . "\n";
|
||||
}
|
||||
|
@ -349,10 +348,26 @@ sub sig_booking {
|
|||
|
||||
if(ref($sig_book) ne "HASH"){
|
||||
$sig_book = {
|
||||
bikeId => "",
|
||||
rentalId => "",
|
||||
reservationId => ""
|
||||
};
|
||||
print FILE "<--- $now_dt failure sig_booking sigo_post $todo , reset sig_book hash to empty\n";
|
||||
print FILE "<--- $now_dt failure sig_booking sig_post $todo , reset sig_book hash to empty\n";
|
||||
}
|
||||
|
||||
|
||||
if($ctpos->{c_id}){
|
||||
my $update_pos = {
|
||||
table => "contenttranspos",
|
||||
mtime => "now()",
|
||||
owner => "169",
|
||||
};
|
||||
my $rows = 0;
|
||||
$update_pos->{txt10} = "$sig_book->{reservationId}" if($sig_book->{reservationId});
|
||||
$update_pos->{txt11} = "$sig_book->{rentalId}" if($sig_book->{rentalid});
|
||||
$rows = $dbt->update_record($dbh,$update_pos,$ctpos);
|
||||
|
||||
print FILE "<--- rows: $rows, update_pos: $ctpos->{c_id}, with:" . Dumper($update_pos) . "\n";
|
||||
}
|
||||
|
||||
close(FILE);
|
||||
|
@ -361,15 +376,15 @@ sub sig_booking {
|
|||
|
||||
|
||||
#main GET
|
||||
sub get_sigo {
|
||||
sub get_sig {
|
||||
my $self = shift;
|
||||
my $endpoint = shift || "";
|
||||
my $rest_json = shift || "";
|
||||
my $sigo_request = "$endpoint";
|
||||
my $sig_request = "$endpoint";
|
||||
|
||||
print FILE "===> GET sigo >> " . $sigo_request . "\n" . $rest_json . "\n";
|
||||
print FILE "===> GET sig >> " . $sig_request . "\n" . $rest_json . "\n";
|
||||
|
||||
my $req = HTTP::Request->new(GET => "$sigo_request");
|
||||
my $req = HTTP::Request->new(GET => "$sig_request");
|
||||
$req->content_type('application/json');
|
||||
|
||||
$req->content($rest_json);
|
||||
|
@ -386,15 +401,15 @@ sub get_sigo {
|
|||
}
|
||||
|
||||
#main POST
|
||||
sub post_sigo {
|
||||
sub post_sig {
|
||||
my $self = shift;
|
||||
my $endpoint = shift || "";
|
||||
my $rest_json = shift || "";
|
||||
my $sigo_request = "$endpoint";
|
||||
my $sig_request = "$endpoint";
|
||||
|
||||
print FILE "===> POST sigo >> " . $sigo_request . "\n" . $rest_json . "\n";
|
||||
print FILE "===> POST sig >> " . $sig_request . "\n" . $rest_json . "\n";
|
||||
|
||||
my $req = HTTP::Request->new(POST => "$sigo_request");
|
||||
my $req = HTTP::Request->new(POST => "$sig_request");
|
||||
$req->content_type('application/json');
|
||||
|
||||
$req->content($rest_json);
|
|
@ -157,10 +157,12 @@ sub handler {
|
|||
|
||||
#keep all and add only LV userID if user email still exist
|
||||
my $update = {
|
||||
table => "contentadr",
|
||||
mtime => 'now()',
|
||||
owner => "$owner",
|
||||
int01 => $q->escapeHTML($xmlref->{userID}),
|
||||
table => "contentadr",
|
||||
txt17 => "sharee_lv",
|
||||
txt30 => "5511",
|
||||
mtime => 'now()',
|
||||
owner => "$owner",
|
||||
int01 => $q->escapeHTML($xmlref->{userID}),
|
||||
};
|
||||
my $rows = $dbt->update_record($dbh,$update,$record);
|
||||
|
||||
|
|
|
@ -276,7 +276,7 @@ sub users_map(){
|
|||
sub channel_map(){
|
||||
my $self = shift;
|
||||
my $channel = {
|
||||
169 => "sigo connector",
|
||||
169 => "sig connector",
|
||||
173 => "merchant fallback",#mig
|
||||
175 => "example App",#mig
|
||||
176 => "Mein konrad App",#mig
|
||||
|
@ -1314,6 +1314,7 @@ sub insert_pos(){
|
|||
my $status = shift || "";
|
||||
my $owner = shift || "";
|
||||
my $sig_book = shift || {};
|
||||
#txt11=$sig_book->{rentalId} will be set on booking_update
|
||||
|
||||
$ct_name = $ct->{barcode} if(!$ct_name);#artikelnr or bikenr
|
||||
my $prefix = "";
|
||||
|
@ -1366,7 +1367,7 @@ sub insert_pos(){
|
|||
my $sth;
|
||||
#Verleihräder
|
||||
if($ct->{template_id} && $ct->{template_id} == 205){#Leihrad_list
|
||||
$sth = $dbh->prepare("INSERT INTO contenttranspos (ct_id,cc_id,ca_id,ct_name,barcode,txt01,txt08,txt02,txt09,txt12,itime,start_time,end_time,int02,int03,int06,int04,txt05,txt06,txt07,int10,int12,int13,owner,int07,txt04,int09,int17,int15,int16,int11,int18,int19,txt17,txt18,int20,int25,int34,txt22,txt10,int35,int36,int37,time01,time02) VALUES ('$ctt_id','$ct->{c_id}','$ctadr->{c_id}','$ct_name','$ct->{barcode}','$ct->{txt01}','$user_name','$ct->{txt02}','$ctadr->{txt09}','$prefix',now(),now(),'$endRental','$unit_price','$menge','$station','$station','$ct->{txt06}','$ct->{txt06}','$ct->{txt07}','$status','$from_main_id','$deviceId','$owner','$rabatt','$tariff_desc','$tariff_nr','$daymax_price','$abo_price','$free_hours','$ct->{int11}','$sharing_type','$bike_charge','$ct->{txt17}','$ct->{txt18}','$ct->{int20}','$trackon','$staff','$ct->{txt22}','$sig_book->{reservationId}','$unit_price1','$unit_price2','$start_price','$unit_time','$free_time') RETURNING c_id");
|
||||
$sth = $dbh->prepare("INSERT INTO contenttranspos (ct_id,cc_id,ca_id,ct_name,barcode,txt01,txt08,txt02,txt09,txt12,itime,start_time,end_time,int02,int03,int06,int04,txt05,txt06,txt07,int10,int12,int13,owner,int07,txt04,int09,int17,int15,int16,int11,int18,int19,txt17,txt18,int20,int25,int34,txt22,txt10,int35,int36,int37,time01,time02) VALUES ('$ctt_id','$ct->{c_id}','$ctadr->{c_id}','$ct_name','$ct->{barcode}','$ct->{txt01}','$user_name','$ct->{txt02}','$ctadr->{txt09}','$prefix',now(),now(),'$endRental','$unit_price','$menge','$station','$station','$ct->{txt06}','$ct->{txt06}','$ct->{txt07}','$status','$from_main_id','$deviceId','$owner','$rabatt','$tariff_desc','$tariff_nr','$daymax_price','$abo_price','$free_hours','$ct->{int11}','$sharing_type','$bike_charge','$ct->{txt17}','$ct->{txt18}','$ct->{int20}','$trackon','$staff','$sig_book->{bikeId}','$sig_book->{reservationId}','$unit_price1','$unit_price2','$start_price','$unit_time','$free_time') RETURNING c_id");
|
||||
}else{
|
||||
$sth = $dbh->prepare("INSERT INTO contenttranspos (ct_id,cc_id,ca_id,ct_name,barcode,txt08,txt09,itime,int02,int03,txt01,txt06,txt07,int10,int12,owner) VALUES ('$ctt_id','$ct->{c_id}','$ctadr->{c_id}','$ct_name','0','$user_name','$ctadr->{txt09}',now(),'$unit_price1','1','$ct->{txt01}','$ct->{txt06}','$ct->{txt07}','0','$from_main_id','$owner') RETURNING c_id");
|
||||
}
|
||||
|
|
|
@ -353,8 +353,8 @@ sub handler {
|
|||
}elsif($R::rel_edit eq "new_relation" && $R::main_id && $R::main_id >= 200000){
|
||||
$return = $pl->new_relation($R::main_id,$users_dms->{u_id});
|
||||
}elsif($R::rel_edit eq "save_ctuser" && $R::main_id && $R::main_id >= 200000){
|
||||
$return = "failure::TODO Service-Config save";
|
||||
#$return = $pl->save_ctuser($users_dms);
|
||||
$return = "failure::under development, $node_meta->{tpl_name}";
|
||||
#$return = $pl->save_service_desc($users_dms);
|
||||
}elsif($R::rel_edit && $R::main_id && $R::main_id >= 200000){
|
||||
$return = $pm->maininit($users_dms);
|
||||
}
|
||||
|
|
|
@ -458,4 +458,24 @@ sub set_usertarif {
|
|||
return $ret;
|
||||
}
|
||||
|
||||
sub save_service_desc {
|
||||
my $self = shift;
|
||||
my $users_dms = shift;
|
||||
my @keywords = $q->param;
|
||||
|
||||
my @tpl_desc = ();
|
||||
foreach(@keywords){
|
||||
my @val = $q->param($_);
|
||||
my $valxx = $q->escapeHTML("@val");
|
||||
|
||||
if($_ =~ /txt\d/){
|
||||
print $_ . ":" . $valxx . "<br>\n";
|
||||
#@tpl_desc = $q->param($_);
|
||||
}
|
||||
}
|
||||
#my $tpl_obj = join('=',@tpl_desc);
|
||||
#print $tpl_obj . "<br> \n";
|
||||
|
||||
}
|
||||
|
||||
1;
|
||||
|
|
|
@ -781,16 +781,16 @@ sub send_password(){
|
|||
|
||||
}
|
||||
|
||||
#sigobike just like caching and not realy used by app
|
||||
sub sigobike_cupdate {
|
||||
#sigbike just like caching and not realy used by app
|
||||
sub sigbike_cupdate {
|
||||
my $self = shift;
|
||||
my $record_sigo = shift;
|
||||
my $record_sig = shift;
|
||||
my $dbh = "";
|
||||
|
||||
my $rows = 0;
|
||||
foreach my $bid (keys (%$record_sigo)){
|
||||
foreach my $bid (keys (%$record_sig)){
|
||||
my $update = {
|
||||
%{$record_sigo->{$bid}},
|
||||
%{$record_sig->{$bid}},
|
||||
table => "content",
|
||||
template_id => "205",
|
||||
main_id => "300102",
|
||||
|
@ -798,12 +798,12 @@ sub sigobike_cupdate {
|
|||
owner => "169",
|
||||
};
|
||||
|
||||
$bw->log("UPDATE content from record_sigo with bike nr:",$update,"");
|
||||
$rows = $dbt->update_record($dbh,$update,$record_sigo->{$bid});
|
||||
$bw->log("UPDATE content from record_sig with bike nr:",$update,"");
|
||||
$rows = $dbt->update_record($dbh,$update,$record_sig->{$bid});
|
||||
if($rows != 1){
|
||||
my $c_id = "";
|
||||
$update->{itime} = "now()";
|
||||
$bw->log("INSERT content from record_sigo with bike nr:",$update,"");
|
||||
$bw->log("INSERT content from record_sig with bike nr:",$update,"");
|
||||
$c_id = $dbt->insert_contentoid($dbh,$update,"");
|
||||
$rows = 1 if($c_id);
|
||||
}
|
||||
|
@ -812,16 +812,16 @@ sub sigobike_cupdate {
|
|||
}
|
||||
|
||||
|
||||
#sigostation just like caching and not realy used by app
|
||||
sub sigostation_cupdate {
|
||||
#sigstation just like caching and not realy used by app
|
||||
sub sigstation_cupdate {
|
||||
my $self = shift;
|
||||
my $record_sigo = shift;
|
||||
my $record_sig = shift;
|
||||
my $dbh = "";
|
||||
|
||||
my $rows = 0;
|
||||
foreach my $sid (keys (%$record_sigo)){
|
||||
foreach my $sid (keys (%$record_sig)){
|
||||
my $update = {
|
||||
%{$record_sigo->{$sid}},
|
||||
%{$record_sig->{$sid}},
|
||||
table => "content",
|
||||
template_id => "225",
|
||||
main_id => "300016",
|
||||
|
@ -829,12 +829,12 @@ sub sigostation_cupdate {
|
|||
owner => "169",
|
||||
};
|
||||
|
||||
$bw->log("UPDATE content from record_sigo with bike nr:",$update,"");
|
||||
$rows = $dbt->update_record($dbh,$update,$record_sigo->{$sid});
|
||||
$bw->log("UPDATE content from record_sig with bike nr:",$update,"");
|
||||
$rows = $dbt->update_record($dbh,$update,$record_sig->{$sid});
|
||||
if($rows != 1){
|
||||
my $c_id = "";
|
||||
$update->{itime} = "now()";
|
||||
$bw->log("INSERT content from record_sigo with bike nr:",$update,"");
|
||||
$bw->log("INSERT content from record_sig with bike nr:",$update,"");
|
||||
$c_id = $dbt->insert_contentoid($dbh,$update,"");
|
||||
$rows = 1 if($c_id);
|
||||
}
|
||||
|
|
|
@ -55,9 +55,9 @@ sub tpl(){
|
|||
my $u_id = $1 if($R::u_id && $R::u_id =~ /(\d+)/);
|
||||
$u_id = $1 if($R::c_idadr && $R::c_idadr =~ /(\d+)/ && $R::base_edit eq "new_dmsusers");
|
||||
my ($edit,$copy_key,$save_key,$relate_key,$move_key,$delete_key,$package_key);
|
||||
my $tpl;
|
||||
my @tpl_order;
|
||||
my $edit_template;
|
||||
my $tpl = {};
|
||||
my @tpl_order = ();
|
||||
my $edit_template = "";
|
||||
my $bg_color = "grey";
|
||||
my $ctrel = {};
|
||||
if($node_meta->{ct_table} eq "content" && $node_meta->{tpl_id}){
|
||||
|
@ -258,26 +258,41 @@ EOF
|
|||
;
|
||||
}
|
||||
|
||||
@tpl_order = split /,/,$tpl->{tpl_order};
|
||||
#2. table content
|
||||
print $q->start_table({-border=>'0', -width=>'100%',-align=>'center', -cellpadding=>'3', -cellspacing=>'0'});
|
||||
print "<tr>\n";
|
||||
|
||||
my $j=0;
|
||||
@tpl_order = split /,/,$tpl->{tpl_order};
|
||||
|
||||
#2.1 sub-table
|
||||
print "<td style='border-bottom:1px solid silver;border-right:1px solid silver;vertical-align:top;padding:15px;'>\n";
|
||||
print $q->start_table({-border=>'0', -width=>'100%',-align=>'center', -cellpadding=>'3', -cellspacing=>'0'});
|
||||
$j++;
|
||||
my @_service_valxx = ("","1","2","3","4");
|
||||
|
||||
foreach (@tpl_order){
|
||||
my ($key,$des,$size,$postdes) = split /=/,$_;
|
||||
my $seldes = $des;
|
||||
$des .= " ($key)" if($users_dms->{u_id} eq $varenv{superu_id});
|
||||
$j++;
|
||||
if($tpl->{tpl_id} == 199){
|
||||
if($j==1){
|
||||
print $q->Tr();
|
||||
print $q->td({-class=>'content1_cms',-colspan=>3},$q->b("under development, $tpl->{tpl_name}")),"\n";
|
||||
}
|
||||
my ($key,$tplkey,$des,$size,$service_interval,$service_type) = split /=/,$_;
|
||||
$des = " ($key:$tplkey)" if($users_dms->{u_id} eq $varenv{superu_id});
|
||||
if($key =~ /txt\d/ && $tplkey =~ /int\d/){
|
||||
print $q->Tr();
|
||||
print $q->td({-class=>'content1_cms'},"Wartung $des",$q->textfield(-class=>'etxt', -style=>"width:15em;",-name=>"$key", -default=>"")),"\n";
|
||||
print $q->td({-class=>'content1_cms'},"Intervall",$q->textfield(-class=>'etxt', -style=>"width:2em;",-name=>"$key", -default=>""),"Tage"),"\n";
|
||||
print $q->td({-class=>'content1_cms'},$but->radiobox2("$key","$ctrel->{$key}","aus","weich","hart")),"\n";
|
||||
|
||||
$ctrel->{$key} = $q->unescapeHTML("$ctrel->{$key}");
|
||||
$ctrel->{$key} = $lb->newline($ctrel->{$key},"",1);
|
||||
}
|
||||
}else{
|
||||
my ($key,$des,$size,$postdes) = split /=/,$_;
|
||||
my $seldes = $des;
|
||||
$des .= " ($key)" if($users_dms->{u_id} eq $varenv{superu_id});
|
||||
|
||||
$ctrel->{$key} = $q->unescapeHTML("$ctrel->{$key}");
|
||||
$ctrel->{$key} = $lb->newline($ctrel->{$key},"",1);
|
||||
if($key =~ /c_id|ct_name|barcode|txt/ && $size eq "readonly"){
|
||||
print $q->Tr();
|
||||
print $q->td({-class=>'left_italic_cms'},"$des"),"\n";
|
||||
|
@ -641,6 +656,7 @@ EOF
|
|||
$q->textfield(-class=>'etxt',-name=>"e_hh", -override=>'1',-default=>"$e_hh",-size=>"2",-maxlength=>2),":",
|
||||
$q->textfield(-class=>'etxt',-name=>"e_mi", -override=>'1',-default=>"$e_mi",-size=>"2",-maxlength=>2)),"\n";
|
||||
}
|
||||
}#end else
|
||||
}
|
||||
print $q->end_table;
|
||||
print "</td>\n";
|
||||
|
|
|
@ -85,6 +85,7 @@ sub tpl(){
|
|||
#setting to true to keeps lat,lng and zoom
|
||||
$preserve_view = "true" if($filesize < 200);
|
||||
|
||||
print $q->div({-class=>"content2_contact"},"Hier können Lastenfahrräder gemietet werden:"),"\n";
|
||||
print "<div style='background-color:#cccccc;width:100%;margin-top:1em;'>\n";
|
||||
|
||||
print "<div id='map' style='height:$mapheight'></div>\n";
|
||||
|
@ -95,7 +96,7 @@ print<<EOF
|
|||
function initMap() {
|
||||
var map = new google.maps.Map(document.getElementById('map'), {
|
||||
scrollwheel: false,
|
||||
draggable: !("ontouchend" in document),
|
||||
//draggable: !("ontouchend" in document),
|
||||
center: {lat: $lat, lng: $lng},
|
||||
zoom: $map_zoom
|
||||
});
|
||||
|
|
|
@ -1103,7 +1103,7 @@ sub tpl(){
|
|||
#print $q->div({-style=>"position:absolute;margin-left:$daymarker;border-right: solid thin #86cb00;height:1.7em;"}," "),"\n";# if("$mon" eq "$mon_today");
|
||||
my $calpath = "Mietjournal";
|
||||
$calpath = "Alarmjournal" if($ct4rel->{$id}->{int13} == $cttpos->{$ctid}->{int13} && $cttpos->{$ctid}->{int10} == 7);
|
||||
print $q->div({-style=>"position:static;margin-left:$day_stpx;width:$rent_day_px;background-color:$scale_color"},$q->a({-class=>"linknav3",-style=>"$time_style",-href=>"$varenv{wwwhost}/$calpath/?cttpos_id=$cttpos->{$ctid}->{c_id}",-title=>"Im $calpath öffnen"},"$hh_en:$mm_en")),"\n";
|
||||
print $q->div({-style=>"position:static;margin-left:$day_stpx;width:$rent_day_px;background-color:$scale_color"},$q->a({-class=>"linknav3",-style=>"$time_style",-href=>"$varenv{wwwhost}/DMS/$calpath/?cttpos_id=$cttpos->{$ctid}->{c_id}",-title=>"Im $calpath öffnen"},"$hh_en:$mm_en")),"\n";
|
||||
print "</td>\n";
|
||||
print $q->Tr();
|
||||
print $q->td({-style=>'padding-top:1px;'},""),"\n";
|
||||
|
|
113
copri4/main/src/scripts/sig_client.pl
Executable file
113
copri4/main/src/scripts/sig_client.pl
Executable file
|
@ -0,0 +1,113 @@
|
|||
#!/usr/bin/perl
|
||||
#
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
# Copyright (c) Rainer Gümpelein, TeilRad GmbH
|
||||
#
|
||||
# sudo su www-data -c "./src/scripts/sig_client.pl shareeapp-sx bikes_available"
|
||||
#
|
||||
# sudo su www-data -c "./src/scripts/sig_client.pl shareeapp-sx reserve 1842 '380116b5-0522-43da-ab66-477744a731a3'"
|
||||
# sudo su www-data -c "./src/scripts/sig_client.pl shareeapp-sx rental 1842 '380116b5-0522-43da-ab66-477744a731a3'"
|
||||
#
|
||||
use vars qw($syshost);
|
||||
|
||||
BEGIN {
|
||||
$syshost = $ARGV[0] || die 'syshost not defined';
|
||||
}
|
||||
|
||||
use lib "/var/www/copri-bike/$syshost/src";
|
||||
use strict;
|
||||
use warnings;
|
||||
use POSIX;
|
||||
use CGI;
|
||||
use Scalar::Util qw(looks_like_number);
|
||||
use Mod::DBtank;
|
||||
use Mod::APIsigclient;
|
||||
use Data::Dumper;
|
||||
|
||||
my $q = new CGI;
|
||||
my $cf = new Config;
|
||||
my $dbt = new DBtank;
|
||||
my $si = new APIsigclient;
|
||||
my $bw = new Basework;
|
||||
my $lang = "de";
|
||||
my $now_dt = strftime "%Y-%m-%d %H:%M:%S", localtime;
|
||||
my %varenv = $cf->envonline();
|
||||
my $dbh = "";
|
||||
|
||||
my $todo = $ARGV[1] || "";
|
||||
my $user_id = $ARGV[2] || "";
|
||||
my $sig_bike_id = $ARGV[3] || "";
|
||||
|
||||
open(FILE,">>$varenv{logdir}/APIsigclient.log");
|
||||
print FILE "\n*** $now_dt 'sig_client fork with todo:$todo|user_id:$user_id|sig_bike_id:$sig_bike_id' \n";
|
||||
|
||||
#get user and bike in copri by id
|
||||
my $apref = {
|
||||
table => "contentadr",
|
||||
fetch => "one",
|
||||
template_id => "202",
|
||||
c_id => "$user_id",
|
||||
};
|
||||
my $ctadr = { c_id => 0 };
|
||||
$ctadr = $dbt->fetch_record($dbh,$apref) if($user_id =~ /^\d+$/ && $user_id > 0);
|
||||
|
||||
my $ct_bike = { txt22 => "" };
|
||||
|
||||
my $posref = {
|
||||
table => "contenttranspos",
|
||||
fetch => "one",
|
||||
ca_id => "$ctadr->{c_id}",
|
||||
int10 => "IN::('3','2')",
|
||||
txt22 => "$sig_bike_id",
|
||||
};
|
||||
my $ctpos = { c_id => 0 };
|
||||
$ctpos = $dbt->fetch_tablerecord($dbh,$posref) if($user_id =~ /^\d+$/ && $user_id > 0 && $sig_bike_id);
|
||||
|
||||
print FILE "fetched from DB ctadr:$ctadr->{c_id}|ctpos:$ctpos->{c_id}\n";
|
||||
|
||||
#only for tests
|
||||
if($todo eq "stations_available"){
|
||||
$q->param(-name=>'request',-value=>"stations_available");
|
||||
$ctadr = { c_id => 0 };
|
||||
my $return = $si->sig_available($q,\%varenv,$ctadr);
|
||||
#print $0 . Dumper($return) . "\n";
|
||||
}
|
||||
|
||||
#only for tests
|
||||
if($todo eq "bikes_available"){
|
||||
$q->param(-name=>'request',-value=>"bikes_available");
|
||||
#$ctadr = { c_id => 0 };
|
||||
my $return = $si->sig_available($q,\%varenv,$ctadr);
|
||||
#print $0 . Dumper($return) . "\n";
|
||||
}
|
||||
|
||||
#only for tests
|
||||
elsif($todo eq "reserve"){
|
||||
#$ctadr = { c_id => 1842 };
|
||||
#$ct_bike = { txt22 => "380116b5-0522-43da-ab66-477744a731a3" };
|
||||
my $return = $si->sig_booking(\%varenv,$ctadr,$ct_bike,$ctpos,$todo);
|
||||
#print $0 . Dumper($return) . "\n";
|
||||
}
|
||||
|
||||
#used also live! to fork rental request with
|
||||
elsif($todo eq "rental" && $ctadr->{c_id} > 0 && $ctpos->{txt22}){
|
||||
#$ctadr = { c_id => 1842 };
|
||||
#$ct_bike = { txt22 => "380116b5-0522-43da-ab66-477744a731a3" };
|
||||
my $return = $si->sig_booking(\%varenv,$ctadr,$ct_bike,$ctpos,$todo);
|
||||
#print $0 . Dumper($return) . "\n";
|
||||
}
|
||||
|
||||
#used also live! to fork rental_end request with "rentalId"
|
||||
elsif($todo eq "rental_end" && $ctadr->{c_id} > 0 && $ctpos->{txt11}){
|
||||
my $return = $si->sig_booking(\%varenv,$ctadr,$ct_bike,$ctpos,$todo);
|
||||
#print $0 . Dumper($return) . "\n";
|
||||
}
|
||||
|
||||
else{
|
||||
print FILE "failure::sig_client request not defined: $todo && $ctadr->{c_id} > 0 && $ctpos->{txt22}\n";
|
||||
close(FILE);
|
||||
exit 1;
|
||||
}
|
||||
|
||||
close(FILE);
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
#!/usr/bin/perl
|
||||
#
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
# Copyright (c) Rainer Gümpelein, TeilRad GmbH
|
||||
#
|
||||
# sudo su www-data -c "./src/scripts/sigo_client.pl shareeapp-sx available"
|
||||
#
|
||||
# sudo su www-data -c "./src/scripts/sigo_client.pl shareeapp-sx reserve"
|
||||
# sudo su www-data -c "./src/scripts/sigo_client.pl shareeapp-sx rental"
|
||||
#
|
||||
use vars qw($syshost);
|
||||
|
||||
BEGIN {
|
||||
$syshost = $ARGV[0] || die 'syshost not defined';
|
||||
}
|
||||
|
||||
use lib "/var/www/copri-bike/$syshost/src";
|
||||
use strict;
|
||||
use warnings;
|
||||
use POSIX;
|
||||
use CGI;
|
||||
use Mod::APIsigoclient;
|
||||
use Data::Dumper;
|
||||
|
||||
my $q = new CGI;
|
||||
my $cf = new Config;
|
||||
my $si = new APIsigoclient;
|
||||
my $bw = new Basework;
|
||||
my $lang = "de";
|
||||
my $now_dt = strftime "%Y-%m-%d %H:%M:%S", localtime;
|
||||
my %varenv = $cf->envonline();
|
||||
|
||||
my $todo = $ARGV[1];
|
||||
|
||||
|
||||
if($todo eq "available"){
|
||||
$q->param(-name=>'request',-value=>"bikes_available");
|
||||
my $auth = { c_id => 0 };
|
||||
my $return = $si->sigo_available($q,\%varenv,$auth);
|
||||
#print $0 . Dumper($return) . "\n";
|
||||
}
|
||||
|
||||
if($todo eq "reserve"){
|
||||
my $auth = { c_id => 1842 };
|
||||
my $bike = { txt22 => "380116b5-0522-43da-ab66-477744a731a3" };# bike 1150
|
||||
#my $bike = "SX1150";# bike 1150 from app booking_request
|
||||
my $return = $si->sigo_booking(\%varenv,$auth,$bike,$todo);
|
||||
#print $0 . Dumper($return) . "\n";
|
||||
}
|
||||
|
||||
if($todo eq "rental"){
|
||||
my $auth = { c_id => 1842 };
|
||||
my $bike = { txt22 => "380116b5-0522-43da-ab66-477744a731a3" };# bike 1150
|
||||
#my $bike = "SX1150";# bike 1150 from app booking_request
|
||||
my $return = $si->sigo_booking(\%varenv,$auth,$bike,$todo);
|
||||
#print $0 . Dumper($return) . "\n";
|
||||
}
|
||||
|
|
@ -43,9 +43,9 @@ sub tpl(){
|
|||
my $coo = $q->cookie('domcookie') || $q->param('sessionid') || "";
|
||||
|
||||
#my $api_test = "sharee_kn";
|
||||
my $api_test = "sharee_fr01"; my $bike="FR1538";
|
||||
#my $api_test = "sharee_fr01"; my $bike="FR1538";
|
||||
#my $api_test = "sharee_wue";
|
||||
#my $api_test = "sharee_sx"; my $bike="S3X1001";
|
||||
my $api_test = "sharee_sx"; my $bike="S3X1001";
|
||||
#my $api_test = "sharee_ren"; my $bike="REN2";
|
||||
print $q->div({-style=>'float:right;text-align:right;height:25px;padding:6px 15px;background-color:white'},$q->a({-style=>"background-color:#ffffff;color:#$bgcolor1;", -href=>"$varenv->{metahost}/src/scripts/tests/index.pl?sessionid=$coo\&api_test=$api_test\&bike=$bike", -target=>'_blank'}," [ tests --> $api_test ] "),"$users_sharee->{txt08}",$q->a({-style=>"color:#$bgcolor1;", -href=>"logout_sharee$session"},"logout")),"\n";
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue