diff --git a/public/models/readRecords.php b/public/models/readRecords.php
index 74ca4ae..b5a5de5 100644
--- a/public/models/readRecords.php
+++ b/public/models/readRecords.php
@@ -19,11 +19,11 @@
$params["antenne_slug"] = $antenne_slug;
$requete = "SELECT products.*, users.username, users.pubkey
- FROM products
- LEFT JOIN antennes
- ON antennes.id = products.antenne_id
- LEFT JOIN users
- ON users.id = products.user_id
+ FROM products
+ LEFT JOIN antennes
+ ON antennes.id = products.antenne_id
+ LEFT JOIN users
+ ON users.id = products.user_id
WHERE antennes.slug = :antenne_slug";
$stmt = $bdd->prepare($requete);
$stmt2 = $bdd->prepare($requete);
@@ -51,8 +51,8 @@
$number | ";
$prix = $row['prix'];
$vendeur = $row['username'];
- $status = $row['status'];
- if ($status == "solde") {
+ $quantite = $row['quantite'];
+ if ($quantite == "0") {
$produit = "[Vendu] ";
} else {
$produit = "";
@@ -66,7 +66,7 @@
$data .= ' | ';
$data .= ''.$vendeur_format.' | ';
$data .= ''.$cle_pub_format.' | ';
- $data .= ''.$row['quantite'].' | ';
+ $data .= ''.$quantite.' | ';
$data .= ''.$prix.' | ';
if ($row['username'] == $nom_connecte ) {
$data .= '';
diff --git a/scripts/check_sold.sh b/scripts/check_sold.sh
index 7b743c8..d856203 100755
--- a/scripts/check_sold.sh
+++ b/scripts/check_sold.sh
@@ -1,31 +1,51 @@
#!/bin/bash
+## TODO: Prendre en compte les transactions déjà appliqués
+
+start=`date +%s`
+date=$(date +'%d-%m-%y à %H:%M')
+echo "### $date ###"
+
+## Inistialisation
DUNITER=$(grep g1_node ../config/config.php | awk '{ print $3}' | tr -d ';' | tr -d "'")
TXBLOCKS=$(curl -s $DUNITER/blockchain/with/tx | jq '.result.blocks[]')
-TXBLOCKS=$(echo "$TXBLOCKS" | tail -n 5 | tr '\n' ' ')
+TXBLOCKS=$(echo "$TXBLOCKS" | tail -n 2 | tr '\n' ' ')
keyword="\[Achat GMarche] : "
+## Récupération des transactions avec commentaire GMarche
for i in $TXBLOCKS; do
result=$(curl -s $DUNITER/blockchain/block/$i | jq '.transactions[].comment' | grep -v '""' | tr -d '"')
-
- #result=$(echo "$result" | grep "$keyword")
- [[ ! -z $result ]] && isSell+=$(echo -e "$result;") && echo "$result"
- echo ---
+ result=$(echo "$result" | grep "$keyword")
+ [[ ! -z $result ]] && isSell+=$(echo -e "$result;")
sleep 1
done
-# isSell="[Achat GMarche] : testCesium" # Test hors sol
-isSell=$(echo $isSell | sed "s/$keyword//g")
+## Ajout des transactions en piscine pour les users GMarche
-echo "$isSell est vendu"
+req="SELECT pubkey FROM users;"
+usersPubkeys=$(sudo mysql --database gmarche -e "$req" | grep .)
-IFS=';'; ADDR=($isSell); unset IFS;
-for i in "${ADDR[@]}"; do
- req="UPDATE products SET status = 'solde' WHERE name = '$i';"
- echo "$req"
-# sudo mysql --database gmarche -e "$req"
+for i in $usersPubkeys; do
+ isSell+=$(curl -s $DUNITER/tx/history/$i/pending | jq '. | select(.history.sending == [])' | jq '.history.pending[].comment' | tr -d '"')
+ #[ ! -z "$pendingTX" ] && echo "$pendingTX"
done
-sudo mysql --database gmarche -e "SELECT name,status FROM products;"
+## Retrait de l'identifiant gmarche des commentaires
+isSell=$(echo $isSell | sed "s/$keyword//g")
+[[ ! -z $isSell ]] && echo "$isSell est vendu"
+
+## Retrait d'un quantité pour les articles vendu
+IFS=';'; ADDR=($isSell); unset IFS;
+for i in "${ADDR[@]}"; do
+ #req="UPDATE products SET status = 'solde' WHERE name = '$i';"
+ req="UPDATE products SET quantite = CASE WHEN quantite = 0 THEN quantite ELSE quantite - 1 END WHERE name = '$i';"
+ sudo mysql --database gmarche -e "$req"
+done
+
+#sudo mysql --database gmarche -e "SELECT name,status FROM products;"
+
+end=`date +%s`
+runtime=$((end-start))
+echo "Temps d'execution: ${runtime}s"
exit 0
|