Skip to content
Snippets Groups Projects
Commit a8dbbce3 authored by bewe's avatar bewe
Browse files

fix: transaction

parent fa4301a2
No related merge requests found
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
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="MavenProjectsManager">
......
......@@ -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;
......
package org.toco;
import org.toco.publisher.service_publisher;
import org.toco.service.mail;
public class Main {
......
......@@ -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
......@@ -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;
......
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
......
......@@ -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;
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment