diff --git a/sql/sequence_transaction_script.sql b/sql/sequence_transaction_script.sql index 4fb55c0..a877e03 100644 --- a/sql/sequence_transaction_script.sql +++ b/sql/sequence_transaction_script.sql @@ -1,8 +1,8 @@ --- SEQUENCE: public."T_TRANSACTION_transactionId_seq" +-- SEQUENCE: public.t_transaction_id_seq" --- DROP SEQUENCE public."T_TRANSACTION_transactionId_seq"; +-- DROP SEQUENCE public."t_transaction_id_seq"; -CREATE SEQUENCE public."T_TRANSACTION_transactionId_seq"; +CREATE SEQUENCE public."t_transaction_id_seq"; -ALTER SEQUENCE public."T_TRANSACTION_transactionId_seq" +ALTER SEQUENCE public."t_transaction_id_seq" OWNER TO monnethicadmin; \ No newline at end of file diff --git a/sql/table_transaction_script.sql b/sql/table_transaction_script.sql index f58ae3d..aeba37b 100644 --- a/sql/table_transaction_script.sql +++ b/sql/table_transaction_script.sql @@ -4,14 +4,14 @@ CREATE TABLE public."T_TRANSACTION" ( - "transactionId" integer NOT NULL DEFAULT nextval('"T_TRANSACTION_transactionId_seq"'::regclass), - "transactionDate" bigint NOT NULL, - "transactionFrom" character varying(255) COLLATE pg_catalog."default" NOT NULL, - "transactionTo" character varying(255) COLLATE pg_catalog."default" NOT NULL, - "transactionHash" character varying(255) COLLATE pg_catalog."default" NOT NULL, - "transactionAmount" numeric(255,5) NOT NULL, - "transactionUnit" character varying(255) COLLATE pg_catalog."default" NOT NULL, - CONSTRAINT "T_TRANSACTION_pkey" PRIMARY KEY ("transactionId") + "transaction_id" integer NOT NULL DEFAULT nextval('"t_transaction_id_seq"'::regclass), + "transaction_date" bigint NOT NULL, + "transaction_from" character varying(255) COLLATE pg_catalog."default" NOT NULL, + "transaction_to" character varying(255) COLLATE pg_catalog."default" NOT NULL, + "transaction_hash" character varying(255) COLLATE pg_catalog."default" NOT NULL, + "transaction_amount" numeric(255,5) NOT NULL, + "transaction_unit" character varying(255) COLLATE pg_catalog."default" NOT NULL, + CONSTRAINT "T_TRANSACTION_pkey" PRIMARY KEY ("transaction_id") ) WITH ( OIDS = FALSE diff --git a/src/main/java/blockchain/configuration/Config.java b/src/main/java/blockchain/configuration/Config.java index 45dd2ca..60b1b0f 100644 --- a/src/main/java/blockchain/configuration/Config.java +++ b/src/main/java/blockchain/configuration/Config.java @@ -38,7 +38,7 @@ public class Config { //public static final String CHAINCODE_NAME = "mycc"; public static final String CHAINCODE_NAME = "monnethic_2"; //public static final String CHAINCODE_NAME = "monnethic-dev-4"; - public static final String CHAINCODE_PROD = "monnethic-prod"; + //public static final String CHAINCODE_PROD = "monnethic-prod"; //PEER 0 public static final String ORG1_PEER_0 = "peer0.org1.example.com"; diff --git a/src/main/java/database/Wallet/WalletDao.java b/src/main/java/database/Wallet/WalletDao.java index b064b77..1a3fa04 100644 --- a/src/main/java/database/Wallet/WalletDao.java +++ b/src/main/java/database/Wallet/WalletDao.java @@ -65,7 +65,7 @@ public class WalletDao { updateBuilder.updateColumnValue("user_hash",newUserHash); Timestamp timestamp = new Timestamp(System.currentTimeMillis()); updateBuilder.updateColumnValue("modification_date",timestamp.getTime()); - updateBuilder.where().eq("walletHash",walletHash).and().eq("is_active",true); + updateBuilder.where().eq("wallet_hash",walletHash).and().eq("is_active",true); updateBuilder.update(); } diff --git a/src/main/java/database/transaction/Transaction.java b/src/main/java/database/transaction/Transaction.java index 82548ce..a3087a8 100644 --- a/src/main/java/database/transaction/Transaction.java +++ b/src/main/java/database/transaction/Transaction.java @@ -6,100 +6,99 @@ import com.j256.ormlite.table.DatabaseTable; @DatabaseTable(tableName = "T_TRANSACTION") public class Transaction { @DatabaseField(generatedId = true) - private int transactionId; + private int transaction_id; @DatabaseField(canBeNull = false) - private long transactionDate; + private long transaction_date; @DatabaseField(canBeNull = false) - private String transactionFrom; + private String transaction_from; @DatabaseField(canBeNull = false) - private String transactionTo; + private String transaction_to; @DatabaseField(canBeNull = false) - private String transactionHash; + private String transaction_hash; @DatabaseField(canBeNull = false) - private Double transactionAmount; + private double transaction_amount; @DatabaseField(canBeNull = false) - private String transactionUnit; + private String transaction_unit; public Transaction() { } - public Transaction(long transactionDate, String transactionFrom, String transactionTo, String transactionHash, Double transactionAmount, String transactionUnit) { - super(); - this.transactionDate = transactionDate; - this.transactionFrom = transactionFrom; - this.transactionTo = transactionTo; - this.transactionHash = transactionHash; - this.transactionAmount = transactionAmount; - this.transactionUnit = transactionUnit; + public Transaction(int transaction_id, long transaction_date, String transaction_from, String transaction_to, String transaction_hash, double transaction_amount, String transaction_unit) { + this.transaction_id = transaction_id; + this.transaction_date = transaction_date; + this.transaction_from = transaction_from; + this.transaction_to = transaction_to; + this.transaction_hash = transaction_hash; + this.transaction_amount = transaction_amount; + this.transaction_unit = transaction_unit; } - public String getTransactionFrom() { - return transactionFrom; + public int getTransaction_id() { + return transaction_id; } - public void setTransactionFrom(String transactionFrom) { - this.transactionFrom = transactionFrom; + public void setTransaction_id(int transaction_id) { + this.transaction_id = transaction_id; } - public String getTransactionTo() { - return transactionTo; + public long getTransaction_date() { + return transaction_date; } - public void setTransactionTo(String transactionTo) { - this.transactionTo = transactionTo; + public void setTransaction_date(long transaction_date) { + this.transaction_date = transaction_date; } - public String getTransactionHash() { - return transactionHash; + public String getTransaction_from() { + return transaction_from; } - public void setTransactionHash(String transactionHash) { - this.transactionHash = transactionHash; + public void setTransaction_from(String transaction_from) { + this.transaction_from = transaction_from; } - public Double getTransactionAmount() { - return transactionAmount; + public String getTransaction_to() { + return transaction_to; } - public void setTransactionAmount(Double transactionAmount) { - this.transactionAmount = transactionAmount; + public void setTransaction_to(String transaction_to) { + this.transaction_to = transaction_to; } - public int getTransactionId() { - return transactionId; + public String getTransaction_hash() { + return transaction_hash; } - public void setTransactionId(int id) { - this.transactionId = transactionId; + public void setTransaction_hash(String transaction_hash) { + this.transaction_hash = transaction_hash; } - - public long getTransactionDate() { - return transactionDate; + public double getTransaction_amount() { + return transaction_amount; } - public void setTransactionDate(long transactionDate) { - this.transactionDate = transactionDate; + public void setTransaction_amount(double transaction_amount) { + this.transaction_amount = transaction_amount; } - public String getTransactionUnit() { - return transactionUnit; + public String getTransaction_unit() { + return transaction_unit; } - public void setTransactionUnit(String transactionUnit) { - this.transactionUnit = transactionUnit; + public void setTransaction_unit(String transaction_unit) { + this.transaction_unit = transaction_unit; } @Override public String toString() { return "Transaction{" + - "transactionId=" + transactionId + - ", transactionDate=" + transactionDate + - ", transactionFrom='" + transactionFrom + '\'' + - ", transactionTo='" + transactionTo + '\'' + - ", transactionHash='" + transactionHash + '\'' + - ", transactionAmount=" + transactionAmount + - ", transactionUnit='" + transactionUnit + '\'' + + "transaction_id=" + transaction_id + + ", transaction_date=" + transaction_date + + ", transaction_from='" + transaction_from + '\'' + + ", transaction_to='" + transaction_to + '\'' + + ", transaction_hash='" + transaction_hash + '\'' + + ", transaction_amount=" + transaction_amount + + ", transaction_unit='" + transaction_unit + '\'' + '}'; } } diff --git a/src/main/java/database/transaction/TransactionDao.java b/src/main/java/database/transaction/TransactionDao.java index 4077573..0296ea1 100644 --- a/src/main/java/database/transaction/TransactionDao.java +++ b/src/main/java/database/transaction/TransactionDao.java @@ -29,8 +29,8 @@ public class TransactionDao { public List getUserTransactions(String userHash)throws Exception{ transactionDao = createTransactionDaoConnection(); QueryBuilder queryBuilder = transactionDao.queryBuilder(); - queryBuilder.where().eq("transactionFrom",userHash).or().eq("transactionTo",userHash); - queryBuilder.orderBy("transactionDate",false); + queryBuilder.where().eq("transaction_from",userHash).or().eq("transaction_to",userHash); + queryBuilder.orderBy("transaction_date",false); PreparedQuery preparedQuery = queryBuilder.prepare(); return transactionDao.query(preparedQuery); } @@ -38,9 +38,9 @@ public class TransactionDao { public List getTenLastUserTransactions(String userHash)throws Exception{ transactionDao = createTransactionDaoConnection(); QueryBuilder queryBuilder = transactionDao.queryBuilder(); - queryBuilder.where().eq("transactionFrom",userHash).or().eq("transactionTo",userHash); + queryBuilder.where().eq("transaction_from",userHash).or().eq("transaction_to",userHash); queryBuilder.limit(new Long(10)); - queryBuilder.orderBy("transactionDate",false); + queryBuilder.orderBy("transaction_date",false); PreparedQuery preparedQuery = queryBuilder.prepare(); return transactionDao.query(preparedQuery); } @@ -48,7 +48,7 @@ public class TransactionDao { public Transaction getTransaction(String userHash, String transactionHash)throws Exception{ transactionDao = createTransactionDaoConnection(); QueryBuilder queryBuilder = transactionDao.queryBuilder(); - queryBuilder.where().eq("transactionTo",userHash).or().eq("transactionFrom",userHash).and().eq("transactionHash",transactionHash); + queryBuilder.where().eq("transaction_to",userHash).or().eq("transaction_from",userHash).and().eq("transaction_hash",transactionHash); PreparedQuery preparedQuery = queryBuilder.prepare(); return transactionDao.queryForFirst(preparedQuery); } @@ -56,8 +56,8 @@ public class TransactionDao { public List getUserSentTransaction(String userHash)throws Exception{ transactionDao = createTransactionDaoConnection(); QueryBuilder queryBuilder = transactionDao.queryBuilder(); - queryBuilder.where().eq("transactionFrom",userHash); - queryBuilder.orderBy("transactionDate",false); + queryBuilder.where().eq("transaction_from",userHash); + queryBuilder.orderBy("transaction_date",false); PreparedQuery preparedQuery = queryBuilder.prepare(); return transactionDao.query(preparedQuery); } @@ -65,8 +65,8 @@ public class TransactionDao { public List getUserReceivedTransaction(String userHash)throws Exception{ transactionDao = createTransactionDaoConnection(); QueryBuilder queryBuilder = transactionDao.queryBuilder(); - queryBuilder.where().eq("transactionTo",userHash); - queryBuilder.orderBy("transactionDate",false); + queryBuilder.where().eq("transaction_to",userHash); + queryBuilder.orderBy("transaction_date",false); PreparedQuery preparedQuery = queryBuilder.prepare(); return transactionDao.query(preparedQuery); } diff --git a/src/main/java/restImplementation/TransactionImplementation.java b/src/main/java/restImplementation/TransactionImplementation.java index a97e3d3..968c5a5 100644 --- a/src/main/java/restImplementation/TransactionImplementation.java +++ b/src/main/java/restImplementation/TransactionImplementation.java @@ -40,12 +40,12 @@ public class TransactionImplementation { Transaction transaction = new Transaction(); long now = Instant.now().toEpochMilli(); - transaction.setTransactionDate(now); - transaction.setTransactionFrom(sourceWalletHash); - transaction.setTransactionTo(destinationWalletHash); - transaction.setTransactionAmount(amount); - transaction.setTransactionHash(txID); - transaction.setTransactionUnit(transactionUnit); + transaction.setTransaction_date(now); + transaction.setTransaction_from(sourceWalletHash); + transaction.setTransaction_to(destinationWalletHash); + transaction.setTransaction_amount(amount); + transaction.setTransaction_hash(txID); + transaction.setTransaction_unit(transactionUnit); TransactionDao transactionDao = new TransactionDao(); diff --git a/src/main/java/restImplementation/WalletImplementation.java b/src/main/java/restImplementation/WalletImplementation.java index adc72b9..100d4a2 100644 --- a/src/main/java/restImplementation/WalletImplementation.java +++ b/src/main/java/restImplementation/WalletImplementation.java @@ -82,6 +82,8 @@ public class WalletImplementation { public void setBalanceToWallet(String walletHash, double amount) throws Exception { double newBalance = 0.0; TransactionWrapper transactionWrapper = new TransactionWrapper(); + System.out.println("String.valueOf(amount) : "+String.valueOf(amount)); + System.out.println("walletHash : "+walletHash); transactionWrapper.sendTransaction("setSoldOnWallet",new String[]{walletHash,String.valueOf(amount)}); diff --git a/src/main/java/restService/TransactionResource.java b/src/main/java/restService/TransactionResource.java index e6842bf..5fcdce9 100644 --- a/src/main/java/restService/TransactionResource.java +++ b/src/main/java/restService/TransactionResource.java @@ -19,7 +19,7 @@ public class TransactionResource { public ResponseEntity saveTransaction(@Valid @RequestBody Transaction transaction){ TransactionImplementation transactionImplementation = new TransactionImplementation(); try{ - HashMap mapResponse = transactionImplementation.sendTransaction(transaction.getTransactionFrom(),transaction.getTransactionTo(),transaction.getTransactionAmount(),transaction.getTransactionUnit()); + HashMap mapResponse = transactionImplementation.sendTransaction(transaction.getTransaction_from(),transaction.getTransaction_to(),transaction.getTransaction_amount(),transaction.getTransaction_unit()); if(Boolean.parseBoolean(mapResponse.get("success").toString())){ return ResponseEntity.status(HttpStatus.OK).body("{\"response\":\""+mapResponse.get("message")+"\"}"); diff --git a/src/main/java/restService/WalletResource.java b/src/main/java/restService/WalletResource.java index ad5b4d1..d74ebf5 100644 --- a/src/main/java/restService/WalletResource.java +++ b/src/main/java/restService/WalletResource.java @@ -71,6 +71,7 @@ public class WalletResource { } + @RequestMapping(value = "/setBalance", method = RequestMethod.POST,produces = "application/json") @ResponseStatus(HttpStatus.OK) public ResponseEntity setBalance(@RequestBody Wallet wallet){ @@ -85,6 +86,7 @@ public class WalletResource { } + @RequestMapping(value = "/transfer", method = RequestMethod.POST, produces = "application/json") @ResponseStatus(HttpStatus.OK) public ResponseEntity transferWallet(@RequestBody Wallet wallet){ diff --git a/src/test/java/blockchain/query/Wallet/QueryWalletByOwnerTest.java b/src/test/java/blockchain/query/Wallet/QueryWalletByOwnerTest.java index ce9c78e..f47e0f3 100644 --- a/src/test/java/blockchain/query/Wallet/QueryWalletByOwnerTest.java +++ b/src/test/java/blockchain/query/Wallet/QueryWalletByOwnerTest.java @@ -24,7 +24,8 @@ public class QueryWalletByOwnerTest { try{ QueryWrapper queryWrapper = new QueryWrapper(); String functionName = "queryWalletsByOwner"; - String[] args = new String[]{"$2a$10$tdkMwJ7BQSOXO2uofu/fEOlncUfuX7SsjB.2N9KVsXJUQiarAQzpG"}; + //String[] args = new String[]{"$2a$10$tdkMwJ7BQSOXO2uofu/fEOlncUfuX7SsjB.2N9KVsXJUQiarAQzpG"}; + String[] args = new String[]{"chef"}; String response = queryWrapper.sendQuery(functionName,args); logger.info("response : "+response); diff --git a/src/test/java/blockchain/query/Wallet/ReadWalletTest.java b/src/test/java/blockchain/query/Wallet/ReadWalletTest.java index cb3b79e..458aa7b 100644 --- a/src/test/java/blockchain/query/Wallet/ReadWalletTest.java +++ b/src/test/java/blockchain/query/Wallet/ReadWalletTest.java @@ -24,7 +24,7 @@ public class ReadWalletTest { try{ QueryWrapper queryWrapper = new QueryWrapper(); String functionName = "readWallet"; - String[] args = new String[]{"$2a$10$PuJBO70uMfzUwbQ/Qz9kTe7JYJppwetyLyP0e6JAITr3B6pQf0cbe"}; + String[] args = new String[]{"$2a$10$B2bESpzYaYlGtuf69Y8HIu1.libPO5NGKRnatvd2R7K/vciTAj/DS"}; String response = queryWrapper.sendQuery(functionName,args); if(response!=null){ diff --git a/src/test/java/restImplementation/WalletImplementationTest.java b/src/test/java/restImplementation/WalletImplementationTest.java index 391818a..e6ece0c 100644 --- a/src/test/java/restImplementation/WalletImplementationTest.java +++ b/src/test/java/restImplementation/WalletImplementationTest.java @@ -115,12 +115,35 @@ public class WalletImplementationTest { + @Test public void TestSetBalance(){ //TODO BasicConfigurator.configure(); WalletImplementation walletImplementation = new WalletImplementation(); try{ - walletImplementation.setBalanceToWallet("$2a$10$PuJBO70uMfzUwbQ/Qz9kTe7JYJppwetyLyP0e6JAITr3B6pQf0cbe",20.0); + walletImplementation.setBalanceToWallet("$2a$10$B2bESpzYaYlGtuf69Y8HIu1.libPO5NGKRnatvd2R7K/vciTAj/DS",20.0); + } catch (Exception e){ + logger.warn("Error: "+e.getMessage()); + } + } + + @Test + public void TestTransferWalelt(){ //TODO + BasicConfigurator.configure(); + WalletImplementation walletImplementation = new WalletImplementation(); + try{ + walletImplementation.transferWallet("$2a$10$PuJBO70uMfzUwbQ/Qz9kTe7JYJppwetyLyP0e6JAITr3B6pQf0cbe","$2a$10$tdkMwJ7BQSOXO2uofu/fEOlncUfuX7SsjB.2N9KVsXJUQiarAQzpG"); + } catch (Exception e){ + logger.warn("Error: "+e.getMessage()); + } + } + + @Test + public void TestGetUserWallet(){ //TODO + BasicConfigurator.configure(); + WalletImplementation walletImplementation = new WalletImplementation(); + try{ + walletImplementation.getAllUserWallets("$2a$10$tdkMwJ7BQSOXO2uofu/fEOlncUfuX7SsjB.2N9KVsXJUQiarAQzpG"); } catch (Exception e){ logger.warn("Error: "+e.getMessage()); } @@ -129,4 +152,5 @@ public class WalletImplementationTest { + }