diff --git a/.env.xmpl b/.env.xmpl index 4fa48240b2835ed17ebb46212f7285e919af3ff2..349acf6d8e19ce551b4aa87e50705d168fc0760c 100644 --- a/.env.xmpl +++ b/.env.xmpl @@ -1,3 +1,3 @@ -DB_URL=jdbc:mysql://localhost:3306/toco_soap +DB_URL=jdbc:mysql://mysql:3306/tocosoap DB_USERNAME=toco DB_PASSWORD=toco \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index ae9c99552a28ca0fdfecb979c426ddf5a99199bc..44e8301fc72e44a6bf853c295dc4c0dd7ea96b8a 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="ExternalStorageConfigurationManager" enabled="true" /> <component name="MavenProjectsManager"> diff --git a/db/toco_soap.sql b/db/tocosoap.sql similarity index 92% rename from db/toco_soap.sql rename to db/tocosoap.sql index 3c4287bed729bdf5e984716d9c39de19f5d25c98..98d40c79696d34370afa08c57a35ea633e209359 100644 --- a/db/toco_soap.sql +++ b/db/tocosoap.sql @@ -28,6 +28,7 @@ CREATE TABLE `transaction`( `amount` int NOT NULL, `image` VARCHAR(255) NOT NULL, `status` enum('PENDING','ACCEPTED','REJECTED') NOT NULL DEFAULT 'PENDING', + `created_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), PRIMARY KEY (`tid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; diff --git a/src/main/java/org/toco/Main.java b/src/main/java/org/toco/Main.java index 394c2f6be5a212ce02ca57b82a4ebe1d1bfe85f3..2e1135ae277b418d9695825c15a58a12d6f6b4b0 100644 --- a/src/main/java/org/toco/Main.java +++ b/src/main/java/org/toco/Main.java @@ -1,7 +1,6 @@ package org.toco; import org.toco.publisher.service_publisher; -import org.toco.service.mail; public class Main { diff --git a/src/main/java/org/toco/entity/transaction_entity.java b/src/main/java/org/toco/entity/transaction_entity.java index b0ef16c384542a4e8d9f410e7f2b370a1313069d..4198368960373d1a7873f04cfe5e710250c31fce 100644 --- a/src/main/java/org/toco/entity/transaction_entity.java +++ b/src/main/java/org/toco/entity/transaction_entity.java @@ -7,11 +7,13 @@ public class transaction_entity { private Integer amount; private String image; private String status; + private String created_at; - public transaction_entity(Integer user_id, Integer amount, String image, String status) { + public transaction_entity(Integer user_id, Integer amount, String image, String status, String created_at) { this.user_id = user_id; this.amount = amount; this.image = image; this.status = status; + this.created_at = created_at; } } \ No newline at end of file diff --git a/src/main/java/org/toco/model/transaction_model.java b/src/main/java/org/toco/model/transaction_model.java index 32a264c035a42372ee1e6ec222514bb8972ba2a5..f7002a2a7687dec908e550f4b4057c3a28711759 100644 --- a/src/main/java/org/toco/model/transaction_model.java +++ b/src/main/java/org/toco/model/transaction_model.java @@ -30,7 +30,7 @@ public class transaction_model { transaction_entity[] transactions = new transaction_entity[getTransactionCount(user_id)]; int i = 0; while(rs.next()){ - transactions[i] = new transaction_entity(rs.getInt(2), rs.getInt(3), rs.getString(4), rs.getString(5)); + transactions[i] = new transaction_entity(rs.getInt(2), rs.getInt(3), rs.getString(4), rs.getString(5), rs.getString(6)); i++; } return transactions; diff --git a/src/main/java/org/toco/service/toco_service.java b/src/main/java/org/toco/service/toco_service.java index a6f6990b5ba326841aa9dbfcb58b30f025cc872a..30ad53f216302ef3f5b44944d3f38685912fa8e6 100644 --- a/src/main/java/org/toco/service/toco_service.java +++ b/src/main/java/org/toco/service/toco_service.java @@ -1,7 +1,5 @@ package org.toco.service; -import org.toco.entity.*; - import javax.jws.WebService; import javax.jws.WebMethod; import javax.jws.WebParam; @@ -16,7 +14,8 @@ public interface toco_service { @WebMethod public String addGems( @WebParam(name = "user_id") Integer user_id, - @WebParam(name = "gem") Integer gem + @WebParam(name = "gem") Integer gem, + @WebParam(name = "type") String type ); @WebMethod diff --git a/src/main/java/org/toco/service/toco_service_impl.java b/src/main/java/org/toco/service/toco_service_impl.java index f5757902c789ad0677970c0d9dcf10da44b5d4a3..a1df6c149d4caeed539a49dd4dc5851fecb1afed 100644 --- a/src/main/java/org/toco/service/toco_service_impl.java +++ b/src/main/java/org/toco/service/toco_service_impl.java @@ -2,7 +2,6 @@ package org.toco.service; import org.toco.model.*; import org.toco.entity.*; -import org.toco.service.mail; import javax.jws.WebService; @@ -21,12 +20,12 @@ public class toco_service_impl implements toco_service { WebServiceContext wsctx; @Override - public String addGems(Integer user_id, Integer gem) { + public String addGems(Integer user_id, Integer gem, String type) { if (validateApiKey()){ userGems_Entity userGems = new userGems_Entity(user_id, gem); userGems_model userGemsModel = new userGems_model(); transaction_model transactionModel = new transaction_model(); - transaction_entity tan = new transaction_entity(user_id, gem, "add gems", "ACCEPTED"); + transaction_entity tan = new transaction_entity(user_id, gem, type, "ACCEPTED", "0"); if (userGemsModel.checkUser(user_id)) { Integer currentGems = userGemsModel.getUserGems(user_id); userGems.setGem(currentGems + gem); @@ -69,13 +68,13 @@ public class toco_service_impl implements toco_service { if (userGems >= amount) { userGemsModel.update(new userGems_Entity(user_id, userGems - amount)); transaction_model transactionModel = new transaction_model(); - transactionModel.insert(new transaction_entity(user_id, amount, type, "accepted")); + transactionModel.insert(new transaction_entity(user_id, amount, type, "accepted", "0")); addLoggging("User with id " + user_id + " created a transaction with amount " + amount + " and status ACCEPTED"); mail.sendMail(email,"Your transaction with " + amount + " gems has been accepted and will be processed immediately."); return "success"; } else { transaction_model transactionModel = new transaction_model(); - transactionModel.insert(new transaction_entity(user_id, amount, type, "rejected")); + transactionModel.insert(new transaction_entity(user_id, amount, type, "rejected", "0")); addLoggging("User with id " + user_id + " created a transaction with amount " + amount + " and status REJECTED"); return "insufficient gems"; } @@ -95,7 +94,7 @@ public class toco_service_impl implements toco_service { String[] ret = new String[transactionModel.getTransactionCount(user_id)]; int len = transactionModel.getTransactionCount(user_id); for (int i = 0; i < len; i++) { - ret[i] =transactions[i].getAmount().toString()+", "+transactions[i].getImage()+", "+transactions[i].getStatus(); + ret[i] =transactions[i].getAmount().toString()+", "+transactions[i].getImage()+", "+transactions[i].getStatus()+", "+transactions[i].getCreated_at(); } addLoggging("User with id " + user_id + " requested his transactions"); return ret;