Compare commits

...

2 Commits

Author SHA1 Message Date
poka 1987ca71b3 Add piscine scanning. Deincrease quantity rather than status 2019-11-24 03:48:51 +01:00
poka 46a4b54118 Add case for several solds 2019-11-23 18:43:13 +01:00
2 changed files with 44 additions and 21 deletions

View File

@ -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 @@
<td>$number</td>";
$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 .= '<td><img src="/uploads/products/'.$antenne_slug.'/'.$row['image'].'" width="100" height="100" /></td>';
$data .= '<td>'.$vendeur_format.'</td>';
$data .= '<td>'.$cle_pub_format.'</td>';
$data .= '<td>'.$row['quantite'].'</td>';
$data .= '<td>'.$quantite.'</td>';
$data .= '<td>'.$prix.'</td>';
if ($row['username'] == $nom_connecte ) {
$data .= '<td>';

View File

@ -1,28 +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' ' ')
keyword="merci"
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 '"')
### TODO: Finaliser pour cas réel, prendre en compte plusieurs transactions gmarche dans même block, ainsi que transaction déjà passé en Vendu.
isSell=$(echo "$result" | grep "$keyword")
[[ ! -z $isSell ]] && echo $isSell
echo ---
result=$(echo "$result" | grep "$keyword")
[[ ! -z $result ]] && isSell+=$(echo -e "$result;")
sleep 1
done
isSell="[Achat GMarche] : testCesium"
isSell=$(echo $isSell | cut -d' ' -f4-)
## 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 .)
req="UPDATE products SET status = 'solde' WHERE name = '$isSell';"
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 "$req"
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