From 29f90d96895b6804b8b2e386228c2b8a3f71ff2d Mon Sep 17 00:00:00 2001 From: Raditss <raditya.naufal.a@gmail.com> Date: Wed, 15 Nov 2023 20:48:20 +0700 Subject: [PATCH] fix output get transaction and refactor --- db/toco_soap.sql | 6 +++++- src/main/java/org/toco/model/transaction_model.java | 4 ++-- src/main/java/org/toco/service/toco_service.java | 2 +- src/main/java/org/toco/service/toco_service_impl.java | 6 +++--- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/db/toco_soap.sql b/db/toco_soap.sql index 27b1a8b..3c4287b 100644 --- a/db/toco_soap.sql +++ b/db/toco_soap.sql @@ -34,10 +34,14 @@ CREATE TABLE `transaction`( CREATE TABLE `api`( api_id int(11) NOT NULL AUTO_INCREMENT, api_key VARCHAR(255) NOT NULL, - service VARCHAR(255) NOT NULL, PRIMARY KEY (`api_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +INSERT INTO `api` (`api_key`) VALUES + ('Postman'), + ('toco_rest'), + ('toco_php'); + diff --git a/src/main/java/org/toco/model/transaction_model.java b/src/main/java/org/toco/model/transaction_model.java index ee5fc7c..32a264c 100644 --- a/src/main/java/org/toco/model/transaction_model.java +++ b/src/main/java/org/toco/model/transaction_model.java @@ -21,13 +21,13 @@ public class transaction_model { } // GET TRANSACTION a user does return in transaction_entity array public transaction_entity[] getTransaction(Integer user_id){ - String sql = "select * from transaction where user_id = (?)"; + String sql = "select * from transaction where user_id = (?) order by tid desc"; try (Connection connection = connector.connect() ; PreparedStatement command = connection.prepareStatement(sql)) { command.setInt(1, user_id); command.execute(); ResultSet rs = command.getResultSet(); - transaction_entity[] transactions = new transaction_entity[100]; + 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)); diff --git a/src/main/java/org/toco/service/toco_service.java b/src/main/java/org/toco/service/toco_service.java index bd7bc6f..b5a5f9e 100644 --- a/src/main/java/org/toco/service/toco_service.java +++ b/src/main/java/org/toco/service/toco_service.java @@ -32,7 +32,7 @@ public interface toco_service { ); @WebMethod - public String getTransactions( + public String[] getTransactions( @WebParam(name = "user_id") Integer user_id ); 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 c357cf7..06509ea 100644 --- a/src/main/java/org/toco/service/toco_service_impl.java +++ b/src/main/java/org/toco/service/toco_service_impl.java @@ -85,15 +85,15 @@ public class toco_service_impl implements toco_service { } @Override - public String getTransactions(Integer user_id) { + public String[] getTransactions(Integer user_id) { if(validateApiKey()){ transaction_model transactionModel = new transaction_model(); transaction_entity[] transactions = transactionModel.getTransaction(user_id); // create transactions to a string with each transaction on a new line - String ret = ""; + String[] ret = new String[transactionModel.getTransactionCount(user_id)]; int len = transactionModel.getTransactionCount(user_id); for (int i = 0; i < len; i++) { - ret += transactions[i].toString() + "\n"; + ret[i] =transactions[i].getAmount().toString()+", "+transactions[i].getImage()+", "+transactions[i].getStatus(); } addLoggging("User with id " + user_id + " requested his transactions"); return ret; -- GitLab