From a8dbbce3c56ac0362fe9076b12177074b1601719 Mon Sep 17 00:00:00 2001 From: bewe <93899302+bernarduswillson@users.noreply.github.com> Date: Thu, 16 Nov 2023 18:36:18 +0700 Subject: [PATCH] fix: transaction --- .env.xmpl | 2 +- .idea/misc.xml | 1 - db/{toco_soap.sql => tocosoap.sql} | 1 + src/main/java/org/toco/Main.java | 1 - src/main/java/org/toco/entity/transaction_entity.java | 4 +++- src/main/java/org/toco/model/transaction_model.java | 2 +- src/main/java/org/toco/service/toco_service.java | 5 ++--- src/main/java/org/toco/service/toco_service_impl.java | 11 +++++------ 8 files changed, 13 insertions(+), 14 deletions(-) rename db/{toco_soap.sql => tocosoap.sql} (92%) diff --git a/.env.xmpl b/.env.xmpl index 4fa4824..349acf6 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 ae9c995..44e8301 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 3c4287b..98d40c7 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 394c2f6..2e1135a 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 b0ef16c..4198368 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 32a264c..f7002a2 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 a6f6990..30ad53f 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 f575790..a1df6c1 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; -- GitLab