diff --git a/api/client/payer.php b/api/client/payer.php index ed0cf8f..10bffb1 100644 --- a/api/client/payer.php +++ b/api/client/payer.php @@ -25,6 +25,7 @@ if (donne("quantite")) { $montant = $prixItem * $quantite; } else { $montant = floatval($_POST["montant"]); + $quantite = 0; } if ($montant <= 0) { @@ -52,7 +53,7 @@ if (!$requete->execute()) { retour("erreur_bdd", ["message" => $requete->error]); } $requete->close(); -$id = transaction(TRANSACTION_PAIEMENT, $_POST["idCarte"], $montant); +$id = transaction(TRANSACTION_PAIEMENT, $_POST["idCarte"], $montant, $quantite); retour("ok", ["id" => $id, "soldeAncien" => $soldeAncien, "soldeNouveau" => $soldeNouveau]); diff --git a/api/client/vidange.php b/api/client/vidange.php new file mode 100644 index 0000000..3b14803 --- /dev/null +++ b/api/client/vidange.php @@ -0,0 +1,39 @@ +prepare("SELECT solde FROM Clients WHERE idCarte=?"); +$requete->bind_param("s", $_POST["idCarte"]); +$requete->bind_result($soldeAncien); +if (!$requete->execute()) { + retour("erreur_bdd", ["message" => $requete->error]); +} +$requete->fetch(); +$requete->close(); + +if ($soldeAncien <= 0) { + retour("solde_negatif"); +} + +$requete = $db->prepare("UPDATE Clients SET solde=0 WHERE idCarte=?"); +$requete->bind_param("s", $_POST["idCarte"]); +if (!$requete->execute()) { + retour("erreur_bdd", ["message" => $requete->error]); +} +$requete->close(); +$id = transaction(TRANSACTION_VIDANGE, $_POST["idCarte"], $soldeAncien); + + +retour("ok", ["id" => $id, "soldeAncien" => $soldeAncien]); + +?> -- libgit2 0.21.2