Merge branch 'features/apiFront' into develop
This commit is contained in:
commit
4f794b5bca
|
@ -3,55 +3,55 @@ package database.transaction;
|
||||||
import com.j256.ormlite.field.DatabaseField;
|
import com.j256.ormlite.field.DatabaseField;
|
||||||
import com.j256.ormlite.table.DatabaseTable;
|
import com.j256.ormlite.table.DatabaseTable;
|
||||||
|
|
||||||
import java.math.BigInteger;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
@DatabaseTable(tableName = "T_TRANSACTION")
|
@DatabaseTable(tableName = "T_TRANSACTION")
|
||||||
public class Transaction {
|
public class Transaction {
|
||||||
@DatabaseField
|
@DatabaseField(generatedId = true)
|
||||||
private int transactionId;
|
private int transactionId;
|
||||||
@DatabaseField(canBeNull = false)
|
@DatabaseField(canBeNull = false)
|
||||||
private int userId;
|
private int userId;
|
||||||
@DatabaseField(canBeNull = false)
|
@DatabaseField(canBeNull = false)
|
||||||
private long transactionDate;
|
private long transactionDate;
|
||||||
@DatabaseField(columnName = "transactionFrom", canBeNull = false)
|
@DatabaseField(canBeNull = false)
|
||||||
private String sourceAddress;
|
private String transactionFrom;
|
||||||
@DatabaseField(columnName = "transactionTo", canBeNull = false)
|
@DatabaseField(canBeNull = false)
|
||||||
private String destAddress;
|
private String transactionTo;
|
||||||
@DatabaseField(canBeNull = false)
|
@DatabaseField(canBeNull = false)
|
||||||
private String transactionHash;
|
private String transactionHash;
|
||||||
@DatabaseField(canBeNull = false)
|
@DatabaseField(canBeNull = false)
|
||||||
private BigInteger amount;
|
private Double transactionAmount;
|
||||||
@DatabaseField(canBeNull = false)
|
@DatabaseField(canBeNull = false)
|
||||||
private String unit;
|
private String transactionUnit;
|
||||||
|
|
||||||
public Transaction() {
|
public Transaction() {
|
||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Transaction(long transactionDate, String sourceAddress, String destAddress, String transactionHash, BigInteger amount, String unit) {
|
public Transaction(long transactionDate, String transactionFrom, String transactionTo, String transactionHash, Double transactionAmount, String transactionUnit) {
|
||||||
super();
|
super();
|
||||||
this.transactionDate = transactionDate;
|
this.transactionDate = transactionDate;
|
||||||
this.sourceAddress = sourceAddress;
|
this.transactionFrom = transactionFrom;
|
||||||
this.destAddress = destAddress;
|
this.transactionTo = transactionTo;
|
||||||
this.transactionHash = transactionHash;
|
this.transactionHash = transactionHash;
|
||||||
this.amount = amount;
|
this.transactionAmount = transactionAmount;
|
||||||
this.unit = unit;
|
this.transactionUnit = transactionUnit;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSourceAddress() {
|
public String getTransactionFrom() {
|
||||||
return sourceAddress;
|
return transactionFrom;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setSourceAddress(String sourceAddress) {
|
public void setTransactionFrom(String transactionFrom) {
|
||||||
this.sourceAddress = sourceAddress;
|
this.transactionFrom = transactionFrom;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getDestAddress() {
|
public String getDestAddress() {
|
||||||
return destAddress;
|
return transactionTo;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDestAddress(String destAddress) {
|
public void setTransactionTo(String transactionTo) {
|
||||||
this.destAddress = destAddress;
|
this.transactionTo = transactionTo;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getTransactionHash() {
|
public String getTransactionHash() {
|
||||||
|
@ -62,12 +62,12 @@ public class Transaction {
|
||||||
this.transactionHash = transactionHash;
|
this.transactionHash = transactionHash;
|
||||||
}
|
}
|
||||||
|
|
||||||
public BigInteger getAmount() {
|
public Double getTransactionAmount() {
|
||||||
return amount;
|
return transactionAmount;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAmount(BigInteger amount) {
|
public void setTransactionAmount(Double transactionAmount) {
|
||||||
this.amount = amount;
|
this.transactionAmount = transactionAmount;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getTransactionId() {
|
public int getTransactionId() {
|
||||||
|
@ -94,12 +94,25 @@ public class Transaction {
|
||||||
this.transactionDate = transactionDate;
|
this.transactionDate = transactionDate;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getUnit() {
|
public String getTransactionUnit() {
|
||||||
return unit;
|
return transactionUnit;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setUnit(String unit) {
|
public void setTransactionUnit(String transactionUnit) {
|
||||||
this.unit = unit;
|
this.transactionUnit = transactionUnit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "Transaction{" +
|
||||||
|
"transactionId=" + transactionId +
|
||||||
|
", userId=" + userId +
|
||||||
|
", transactionDate=" + transactionDate +
|
||||||
|
", transactionFrom='" + transactionFrom + '\'' +
|
||||||
|
", transactionTo='" + transactionTo + '\'' +
|
||||||
|
", transactionHash='" + transactionHash + '\'' +
|
||||||
|
", transactionAmount=" + transactionAmount +
|
||||||
|
", transactionUnit='" + transactionUnit + '\'' +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@ import com.j256.ormlite.table.DatabaseTable;
|
||||||
//Class User which represent an User in the postgresDB
|
//Class User which represent an User in the postgresDB
|
||||||
@DatabaseTable(tableName = "T_USER")
|
@DatabaseTable(tableName = "T_USER")
|
||||||
public class User {
|
public class User {
|
||||||
@DatabaseField
|
@DatabaseField(generatedId = true)
|
||||||
private int userId;
|
private int userId;
|
||||||
@DatabaseField(canBeNull = false)
|
@DatabaseField(canBeNull = false)
|
||||||
private String name;
|
private String name;
|
||||||
|
@ -127,4 +127,19 @@ public class User {
|
||||||
this.approved = approved;
|
this.approved = approved;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "User{" +
|
||||||
|
"userId=" + userId +
|
||||||
|
", name='" + name + '\'' +
|
||||||
|
", firstname='" + firstname + '\'' +
|
||||||
|
", email='" + email + '\'' +
|
||||||
|
", password='" + password + '\'' +
|
||||||
|
", creation_date=" + creation_date +
|
||||||
|
", modification_date=" + modification_date +
|
||||||
|
", verified=" + verified +
|
||||||
|
", approved=" + approved +
|
||||||
|
", user_hash='" + user_hash + '\'' +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
package restImplementation;
|
||||||
|
|
||||||
|
import database.transaction.Transaction;
|
||||||
|
import database.transaction.TransactionDao;
|
||||||
|
|
||||||
|
import java.time.Instant;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class DatabaseTransactionImplementation {
|
||||||
|
|
||||||
|
public void saveTransaction(Transaction transaction) throws Exception{
|
||||||
|
TransactionDao transactionDao = new TransactionDao();
|
||||||
|
long now = Instant.now().toEpochMilli();
|
||||||
|
transaction.setTransactionDate(now);
|
||||||
|
transactionDao.addTransaction(transaction);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Transaction getUserTransaction(int userId, String transactionHash)throws Exception{
|
||||||
|
TransactionDao transactionDao = new TransactionDao();
|
||||||
|
Transaction tx = transactionDao.getTransaction(userId,transactionHash);
|
||||||
|
if(tx != null){
|
||||||
|
return tx;
|
||||||
|
}else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Transaction> getAllUserTransactions(int userId)throws Exception{
|
||||||
|
TransactionDao transactionDao = new TransactionDao();
|
||||||
|
return transactionDao.getUserTransactions(userId);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Transaction> getLastTenTransactions(int userId)throws Exception{
|
||||||
|
TransactionDao transactionDao = new TransactionDao();
|
||||||
|
return transactionDao.getTenLastUserTransactions(userId);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -38,11 +38,9 @@ public class DatabaseUserImplementation {
|
||||||
if(BCrypt.checkpw(password, hash)){
|
if(BCrypt.checkpw(password, hash)){
|
||||||
return user1;
|
return user1;
|
||||||
}else{
|
}else{
|
||||||
System.out.println("Bcrypt nope");
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
System.out.println("nope");
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,77 @@
|
||||||
package restService;
|
package restService;
|
||||||
|
|
||||||
|
import database.transaction.Transaction;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import restImplementation.DatabaseTransactionImplementation;
|
||||||
|
|
||||||
|
import javax.validation.Valid;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping(value = "/api/rest/transaction")
|
||||||
public class DatabaseTransactionResource {
|
public class DatabaseTransactionResource {
|
||||||
|
|
||||||
|
@PostMapping("/save")
|
||||||
|
@ResponseStatus(HttpStatus.CREATED)
|
||||||
|
public ResponseEntity<String> saveTransaction(@Valid @RequestBody Transaction transaction){
|
||||||
|
try{
|
||||||
|
DatabaseTransactionImplementation databaseTransactionImplementation = new DatabaseTransactionImplementation();
|
||||||
|
databaseTransactionImplementation.saveTransaction(transaction);
|
||||||
|
return ResponseEntity.status(HttpStatus.OK).body("");
|
||||||
|
}catch (Exception e){
|
||||||
|
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/get")
|
||||||
|
@ResponseStatus(HttpStatus.OK)
|
||||||
|
public ResponseEntity<Transaction> getTransaction(@Valid @RequestBody Transaction transaction){
|
||||||
|
try{
|
||||||
|
DatabaseTransactionImplementation databaseTransactionImplementation = new DatabaseTransactionImplementation();
|
||||||
|
Transaction tx = databaseTransactionImplementation.getUserTransaction(transaction.getUserId(),transaction.getTransactionHash());
|
||||||
|
if(tx != null){
|
||||||
|
return ResponseEntity.status(HttpStatus.OK).body(tx);
|
||||||
|
}else {
|
||||||
|
return new ResponseEntity("Error", HttpStatus.NOT_FOUND);
|
||||||
|
}
|
||||||
|
}catch (Exception e){
|
||||||
|
return new ResponseEntity(e.getMessage(), HttpStatus.BAD_REQUEST);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/getLatest", method = RequestMethod.GET, params = {"userId"}, produces = "application/json")
|
||||||
|
@ResponseStatus(HttpStatus.OK)
|
||||||
|
public ResponseEntity<List<Transaction>> getLatestTransactions(@RequestParam(value = "userId") int userId){
|
||||||
|
try{
|
||||||
|
DatabaseTransactionImplementation databaseTransactionImplementation = new DatabaseTransactionImplementation();
|
||||||
|
List<Transaction> transactionList = databaseTransactionImplementation.getLastTenTransactions(userId);
|
||||||
|
if(!transactionList.isEmpty()){
|
||||||
|
return ResponseEntity.status(HttpStatus.OK).body(transactionList);
|
||||||
|
}else {
|
||||||
|
return new ResponseEntity("Error", HttpStatus.NOT_FOUND);
|
||||||
|
}
|
||||||
|
}catch (Exception e){
|
||||||
|
return new ResponseEntity(e.getMessage(), HttpStatus.BAD_REQUEST);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@RequestMapping(value = "/getAll", method = RequestMethod.GET, params = {"userId"}, produces = "application/json")
|
||||||
|
@ResponseStatus(HttpStatus.OK)
|
||||||
|
public ResponseEntity<List<Transaction>> getAllTransactions(@RequestParam(value = "userId") int userId){
|
||||||
|
try{
|
||||||
|
DatabaseTransactionImplementation databaseTransactionImplementation = new DatabaseTransactionImplementation();
|
||||||
|
List<Transaction> transactionList = databaseTransactionImplementation.getAllUserTransactions(userId);
|
||||||
|
if(!transactionList.isEmpty()){
|
||||||
|
return ResponseEntity.status(HttpStatus.OK).body(transactionList);
|
||||||
|
}else {
|
||||||
|
return new ResponseEntity("Error", HttpStatus.NOT_FOUND);
|
||||||
|
}
|
||||||
|
}catch (Exception e){
|
||||||
|
return new ResponseEntity(e.getMessage(), HttpStatus.BAD_REQUEST);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,7 +58,7 @@ public class DatabaseUserResource {
|
||||||
userResponse.setUserId(response.getUserId());
|
userResponse.setUserId(response.getUserId());
|
||||||
return ResponseEntity.status(HttpStatus.OK).body(userResponse);
|
return ResponseEntity.status(HttpStatus.OK).body(userResponse);
|
||||||
}else{
|
}else{
|
||||||
return new ResponseEntity("Error", HttpStatus.CONFLICT);
|
return new ResponseEntity("Error", HttpStatus.NOT_FOUND);
|
||||||
}
|
}
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
return new ResponseEntity(e.getMessage(), HttpStatus.CONFLICT);
|
return new ResponseEntity(e.getMessage(), HttpStatus.CONFLICT);
|
||||||
|
|
Loading…
Reference in a new issue