Update database transaction api rest

This commit is contained in:
GME 2018-11-22 17:47:16 +01:00
parent f51df72704
commit 4c7a65816d
5 changed files with 68 additions and 6 deletions

View file

@ -42,7 +42,7 @@ public class Transaction {
this.transactionFrom = transactionFrom; this.transactionFrom = transactionFrom;
} }
public String getDestAddress() { public String getTransactionTo() {
return transactionTo; return transactionTo;
} }

View file

@ -29,7 +29,8 @@ public class TransactionDao {
public List<Transaction> getUserTransactions(String userHash)throws Exception{ public List<Transaction> getUserTransactions(String userHash)throws Exception{
transactionDao = createTransactionDaoConnection(); transactionDao = createTransactionDaoConnection();
QueryBuilder<Transaction, String> queryBuilder = transactionDao.queryBuilder(); QueryBuilder<Transaction, String> queryBuilder = transactionDao.queryBuilder();
queryBuilder.where().eq("transactionFrom",userHash); queryBuilder.where().eq("transactionFrom",userHash).or().eq("transactionTo",userHash);
queryBuilder.orderBy("transactionDate",false);
PreparedQuery<Transaction> preparedQuery = queryBuilder.prepare(); PreparedQuery<Transaction> preparedQuery = queryBuilder.prepare();
return transactionDao.query(preparedQuery); return transactionDao.query(preparedQuery);
} }
@ -52,5 +53,23 @@ public class TransactionDao {
return transactionDao.queryForFirst(preparedQuery); return transactionDao.queryForFirst(preparedQuery);
} }
public List<Transaction> getUserSentTransaction(String userHash)throws Exception{
transactionDao = createTransactionDaoConnection();
QueryBuilder<Transaction, String> queryBuilder = transactionDao.queryBuilder();
queryBuilder.where().eq("transactionFrom",userHash);
queryBuilder.orderBy("transactionDate",false);
PreparedQuery<Transaction> preparedQuery = queryBuilder.prepare();
return transactionDao.query(preparedQuery);
}
public List<Transaction> getUserReceivedTransaction(String userHash)throws Exception{
transactionDao = createTransactionDaoConnection();
QueryBuilder<Transaction, String> queryBuilder = transactionDao.queryBuilder();
queryBuilder.where().eq("transactionTo",userHash);
queryBuilder.orderBy("transactionDate",false);
PreparedQuery<Transaction> preparedQuery = queryBuilder.prepare();
return transactionDao.query(preparedQuery);
}
} }

View file

@ -35,4 +35,14 @@ public class DatabaseTransactionImplementation {
return transactionDao.getTenLastUserTransactions(userHash); return transactionDao.getTenLastUserTransactions(userHash);
} }
public List<Transaction> getSentTransaction(String userHash)throws Exception{
TransactionDao transactionDao = new TransactionDao();
return transactionDao.getUserSentTransaction(userHash);
}
public List<Transaction> getReceivedTransaction(String userHash)throws Exception{
TransactionDao transactionDao = new TransactionDao();
return transactionDao.getUserReceivedTransaction(userHash);
}
} }

View file

@ -74,4 +74,37 @@ public class DatabaseTransactionResource {
} }
} }
@RequestMapping(value = "/sent", method = RequestMethod.GET, params = {"userHash"}, produces = "application/json")
@ResponseStatus(HttpStatus.OK)
public ResponseEntity<List<Transaction>> getSentTransactions(@RequestParam(value = "userHash") String userHash){
try {
DatabaseTransactionImplementation databaseTransactionImplementation = new DatabaseTransactionImplementation();
List<Transaction> transactionList = databaseTransactionImplementation.getSentTransaction(userHash);
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 = "/received", method = RequestMethod.GET, params = {"userHash"}, produces = "application/json")
@ResponseStatus(HttpStatus.OK)
public ResponseEntity<List<Transaction>> getReceivedTransactions(@RequestParam(value = "userHash") String userHash){
try {
DatabaseTransactionImplementation databaseTransactionImplementation = new DatabaseTransactionImplementation();
List<Transaction> transactionList = databaseTransactionImplementation.getReceivedTransaction(userHash);
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);
}
}
} }

View file

@ -12,7 +12,7 @@ import javax.validation.Valid;
@RequestMapping(value = "/api/rest/user") @RequestMapping(value = "/api/rest/user")
public class DatabaseUserResource { public class DatabaseUserResource {
@PostMapping("/save") @PostMapping(value = "/save")
@ResponseStatus(HttpStatus.CREATED) @ResponseStatus(HttpStatus.CREATED)
public ResponseEntity<String> saveUser(@Valid @RequestBody User user){ public ResponseEntity<String> saveUser(@Valid @RequestBody User user){
try{ try{
@ -28,7 +28,7 @@ public class DatabaseUserResource {
} }
} }
@PostMapping("/login") @PostMapping(value = "/login")
@ResponseStatus(HttpStatus.OK) @ResponseStatus(HttpStatus.OK)
public ResponseEntity<String> login(@Valid @RequestBody User user){ public ResponseEntity<String> login(@Valid @RequestBody User user){
try{ try{
@ -46,7 +46,7 @@ public class DatabaseUserResource {
} }
} }
@PostMapping("/get") @PostMapping(value = "/get")
@ResponseBody @ResponseBody
public ResponseEntity<User> getUser(@RequestBody User user){ public ResponseEntity<User> getUser(@RequestBody User user){
try{ try{
@ -65,7 +65,7 @@ public class DatabaseUserResource {
} }
} }
@PostMapping("/update") @PostMapping(value = "/update")
@ResponseStatus(HttpStatus.OK) @ResponseStatus(HttpStatus.OK)
public ResponseEntity updateUser(@RequestBody User user){ public ResponseEntity updateUser(@RequestBody User user){
return new ResponseEntity(null, HttpStatus.OK); return new ResponseEntity(null, HttpStatus.OK);