diff --git a/db/db.sql b/db/db.sql index 5735ce5a6d708c7201c3b3f22d8017ffac6668f8..7ad7d4b977e5d281a49fc1a3969f64bf536db24c 100644 --- a/db/db.sql +++ b/db/db.sql @@ -33,6 +33,18 @@ CREATE TABLE `coins` ( -- Dumping data for table `coins` -- +INSERT INTO `coins` (`id`, `coin`) VALUES + ('4169868951', 10), + ('6621876564', 45), + ('0068131062', 54), + ('2534892940', 5345), + ('2542003092', 645), + ('2076048790', 6564), + ('7833528552', 8), + ('5858179630', 4), + ('7807240504', 23), + ('7589780480', 1); + LOCK TABLES `coins` WRITE; /*!40000 ALTER TABLE `coins` DISABLE KEYS */; /*!40000 ALTER TABLE `coins` ENABLE KEYS */; diff --git a/src/main/java/org/nutricraft/Main.java b/src/main/java/org/nutricraft/Main.java index 13c6ec470f32eb8350581f85924e0e6dbc79878b..a71d10c8d3bdd635fcb1a7624e6bed94a103f792 100644 --- a/src/main/java/org/nutricraft/Main.java +++ b/src/main/java/org/nutricraft/Main.java @@ -1,7 +1,7 @@ package org.nutricraft; import org.nutricraft.Database.Database; -//import org.nutricraft.Services.CoinServicesImpl; +import org.nutricraft.Services.CoinServicesImpl; import org.nutricraft.Services.SubscriptionServicesImpl; //import java.lang.reflect.Field; import javax.xml.ws.Endpoint; @@ -16,7 +16,7 @@ public class Main { Endpoint.publish("http://nutricraft-soap:8081/ws/subscription", new SubscriptionServicesImpl()); // Endpoint.publish("http://nutricraft-soap:8081/ws/userLevels", new SubscriptionServicesImpl()); // Endpoint.publish("http://nutricraft-soap:8081/ws/creatorLevels", new SubscriptionServicesImpl()); -// Endpoint.publish("http://nutricraft-soap:8081/ws/coins", new CoinServicesImpl()); + Endpoint.publish("http://nutricraft-soap:8081/ws/coins", new CoinServicesImpl()); // Thread.sleep(10000); // Database db = new Database(); // Connection connection = db.getConn(); diff --git a/src/main/java/org/nutricraft/Services/CoinServices.java b/src/main/java/org/nutricraft/Services/CoinServices.java index 096cb2dbd59ceb950c224103070125973ea46e32..c7255c2eb353e5853368317bfc739bda103b93cd 100644 --- a/src/main/java/org/nutricraft/Services/CoinServices.java +++ b/src/main/java/org/nutricraft/Services/CoinServices.java @@ -1,4 +1,29 @@ package org.nutricraft.Services; + +import org.nutricraft.Model.Coins; + +import javax.jws.WebMethod; +import javax.jws.WebService; +import java.util.List; + +@WebService public interface CoinServices { + + @WebMethod + public List<Coins> getAllCoins(); + + @WebMethod + public Integer getCoins(String id); + + @WebMethod + public String addCoins(String id, int coins); + + @WebMethod + public String substractCoins(String id, int coins); + + @WebMethod + public String deleteCoins(String id); + + } diff --git a/src/main/java/org/nutricraft/Services/CoinServicesImpl.java b/src/main/java/org/nutricraft/Services/CoinServicesImpl.java index cb0f3f7e6962d9413b04324cb6c95cd43f55b526..943b6d0ea014ca0f7582fe26d4ce26ddadbcb193 100644 --- a/src/main/java/org/nutricraft/Services/CoinServicesImpl.java +++ b/src/main/java/org/nutricraft/Services/CoinServicesImpl.java @@ -1,4 +1,104 @@ package org.nutricraft.Services; +import org.nutricraft.Database.Database; +import org.nutricraft.Model.Coins; + +import javax.jws.WebMethod; +import javax.jws.WebService; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.Statement; +import java.util.ArrayList; +import java.util.List; + +@WebService(endpointInterface = "org.nutricraft.Services.CoinServices") public class CoinServicesImpl implements CoinServices{ + + @WebMethod + public List<Coins> getAllCoins() { + List<Coins> coins = new ArrayList<Coins>(); + try{ + Database db = new Database(); + Connection connection = db.getConn(); + Statement statement = connection.createStatement(); + String query = "SELECT * FROM coins"; + ResultSet result = statement.executeQuery(query); + while (result.next()) { + coins.add(new Coins(result.getString("id"), result.getInt("coin"))); + } + }catch (Exception e){ + e.printStackTrace(); + } + for (Coins coin : coins) { + System.out.print(coin.getId()+" "); + System.out.println(coin.getCoins()); + } + + return coins; + } + + @WebMethod + public Integer getCoins(String id) { + Integer coin=0; + try { + Database db = new Database(); + Connection connection = db.getConn(); + Statement statement = connection.createStatement(); + String query = "SELECT coin FROM coins JOIN subscribers ON coins.id = subscribers.id_creator WHERE coins.id = '" + id + "'"; + ResultSet result = statement.executeQuery(query); + if(result.next()){ + coin = result.getInt("coin"); + } + }catch (Exception e){ + e.printStackTrace(); + } + return coin; + } + + @WebMethod + public String addCoins(String id, int coins) { + try{ + Database db = new Database(); + Connection connection = db.getConn(); + Statement statement = connection.createStatement(); + String query = "UPDATE coins SET coin = coin + " + coins + " WHERE id = '" + id + "'"; + statement.executeUpdate(query); + return "Successfully added coins"; + }catch (Exception e){ + e.printStackTrace(); + } + return "Failed to add coins"; + } + + @WebMethod + public String substractCoins(String id, int coins) { + try{ + Database db = new Database(); + Connection connection = db.getConn(); + Statement statement = connection.createStatement(); + String query = "UPDATE coins SET coin = coin - " + coins + " WHERE id = '" + id + "'"; + statement.executeUpdate(query); + return "Successfully removed coins"; + }catch (Exception e){ + e.printStackTrace(); + } + return "Failed to remove coins"; + } + + @WebMethod + public String deleteCoins(String id) { + try{ + Database db = new Database(); + Connection connection = db.getConn(); + Statement statement = connection.createStatement(); + String query = "DELETE FROM coins WHERE id = '" + id + "'"; + statement.executeUpdate(query); + return "Successfully deleted coins"; + }catch (Exception e){ + e.printStackTrace(); + } + return "Failed to delete coins"; + } + + }