Page 1 sur 3

Appel de Qs à l'achat

Publié : 21 mai 2016, 21:06
par Killer_of_Space
Bonjour :3

J'aimerai savoir s'il est possible de savoir quels items et en quelle quantité ont été achetés dans des shops, et ce, en temps réel (plus précis que l'affichage des derniers achats à la connexion donc). J'ai dans l'idée d'étudier les achats de mes clients afin d'organiser mieux mon shop, afin de pouvoir mettre en avant les produits qu'ils achètent régulièrement et de me concentrer uniquement sur ce qui doit être rechargé en conséquence.

Dans mon étude, je souhaiterai également savoir quels sont les revenus générés par mon shop entre telle et telle date, telle et telle plage horaire, afin de réellement dresser des statistiques de fréquentation de mon shop et des statistiques de vente. J'ai pour cela pensé à un appel d'une page PHP indiquant en paramètre quels articles ont été achetés (l'ID de l'item), et sa quantité (éventuellement son prix mais comme je le fixe ça n'est pas nécessaire). Le but étant juste d'enregistrer mes ventes.

Merci d'avance,
KoS

Re: Appel de Qs à l'achat

Publié : 22 mai 2016, 04:03
par Enkidiev
Super idée tout ça, si l'on peut trouver une solution, je suis preneur !

Re: Appel de Qs à l'achat

Publié : 22 mai 2016, 10:24
par ORelio
Hello,
Il n'y a pas de commande pour cela et cela nécessiterait des développements spécifiques.
Après si vous êtes motivés et avez des connaissances en Java...

Re: Appel de Qs à l'achat

Publié : 22 mai 2016, 15:45
par Enkidiev
Personnellement j'étudie le Java ces temps ci. Quand je maîtriserai, j'essayerai de voir si j'arrive a faire un petit plugin de ce style pour HM en cas ;) Vous pourriez me faire une liste précise de ce que vous souhaiteriez y intégrer ? Je dois d'abord finir de lire les cours, et me faire quelques plugins avant de me lancer par contre ^^ Mais c'est un projet qui me plait bien !

Re: Appel de Qs à l'achat

Publié : 22 mai 2016, 16:00
par ORelio
Super. Si jamais tu as des questions spécifiques n'hésite pas ^^

Re: Appel de Qs à l'achat

Publié : 22 mai 2016, 16:04
par Enkidiev
Merci beaucoup ! :D Si besoin, je te les pose en MP :) (ou via skype)

Re: Appel de Qs à l'achat

Publié : 22 mai 2016, 18:43
par JoGoiA
Là Enki, je suis fier de toi !
De mon coté, j'ai aussi commencé un peu le JAVA mais je me dirige plus sur un mod pour forge (client)... Ca me donnera toujours des bases que je pourrais utiliser pour te filer un coup de main plus tard avec spigot^^

Re: Appel de Qs à l'achat

Publié : 22 mai 2016, 19:43
par GenialJerome
Je te conseille d'apprendre aussi le SQL pour communiquer avec une BDD et ainsi pouvoir y stocker des informations Enki

Re: Appel de Qs à l'achat

Publié : 22 mai 2016, 23:59
par Enkidiev
@JoGo : Merci :D Bonne chance à toi aussi alors !

@Jeje : Okep, lequel en premier ? La j'ai juste fini l'intro sur OpenClassroom pour Java ^^

Re: Appel de Qs à l'achat

Publié : 23 mai 2016, 11:46
par Killer_of_Space
Code terminé :

Code : Tout sélectionner

/* * @author Pyrrha * @brief Send transaction data to TandT.tech for notification * Compare owner's shop's UUID with KoS UUID * If yes call script to record the purchase */ if (shop.getOwner() == UUID.fromString("958eb51f-1a80-4ca0-9f32-d18229b4458d")) { try { /* * Send a few information about purshase : * - the key identifier to be a little bit secure * - UUID of player * - object of the transaction * - amount of items buy * - shop's price (per u) */ URL myURL = new URL("http://tandt.tech/hm_stock/record_new_purchase.php?k=XXXXXXX" + "&p="+ p.getUniqueId() + "&o=" + shop.getDataName() + "&a=" + amount + "&m=" + shop.getPrice()); URLConnection myURLConnection = myURL.openConnection(); myURLConnection.connect(); //Here, you can check if return from PHP script is 'OK' } catch (MalformedURLException MURLErr) { // new URL() failed } catch (IOException IOErr) { // openConnection() failed } }
Il serait à implémenter dans la classe shop manager, dans le package package org.maxgamer.quickshop.Shop;
Code Github du plugin (mais je pense que tu l'avais déjà ORel')

Sous :

Code : Tout sélectionner

// Transfers the item from A to B shop.sell(p, amount); MsgUtil.sendPurchaseSuccess(p, shop, amount); plugin.log(p.getName() + " bought " + amount + " for " + (shop.getPrice() * amount) + " from " + shop.toString());
(lignes 515 à 519 code original, au cas où tu as touché à cette classe précédemment pour d'autres modifications)

et avant :

Code : Tout sélectionner

} else if (shop.isBuying()) { int space = shop.getRemainingSpace(); if (space < amount) { p.sendMessage(MsgUtil.getMessage("shop-has-no-space", "" + space, shop.getDataName())); return; }
Les dépendances ajoutées :
import java.net.MalformedURLException; //Exception à la connexion
import java.net.URL; //Création de l'URL
import java.net.URLConnection; //Connexion
import java.util.UUID; //Classe UUID

Je m'occupe de mon côté de l'enregistrement et de l'analyse des données.
Merci d'avance.

Sinon, ce qu'on peut faire, c'est un système complet pour tout le monde, et on accède à ses shops via un panel utilisant le plugin HM pour identification. À réfléchir si ça vous tente, je peux le finir dans la semaine...

Bien évidemment, à moins que l'ajout ne puisse se faire sur un quelconque topic officiel, si ce code est accepté, le Ghast se dotera d'un panneau d'information sur la collecte des données personnelles.

Bisous !!
- KoS