Skip to content
Snippets Groups Projects
Commit f70d3360 authored by Pedro Pablo Cardona Arroyave's avatar Pedro Pablo Cardona Arroyave
Browse files

Merge branch '150-add-current-price-to-fridge-product' into 'main'

Resolve "Add current price to fridge-product"

Closes #150

See merge request idatt2106-v23-03/backend!185
parents c50b440f da4ce094
No related branches found
No related tags found
No related merge requests found
...@@ -112,24 +112,5 @@ public class FridgeController { ...@@ -112,24 +112,5 @@ public class FridgeController {
return fridgeService.wasteProductFromFridge(fridgeProductId).map(ResponseEntity::ok).orElseGet(() -> ResponseEntity.notFound().build()); return fridgeService.wasteProductFromFridge(fridgeProductId).map(ResponseEntity::ok).orElseGet(() -> ResponseEntity.notFound().build());
} }
/**
* Deletes all products in a fridge
* @param fridgeId the id of the fridge
* @return success if the products were deleted, bad request if the fridge doesn't exist
*
@DeleteMapping("/delete/all/{fridgeId}")
public ResponseEntity<String> deleteAllProductsInFridge(@PathVariable("fridgeId") long fridgeId) {
try {
boolean success = fridgeService.deleteAllProductsInFridge(fridgeId);
if (success){
return ResponseEntity.ok("Success");
}
return ResponseEntity.badRequest().body("Fridge not found");
} catch (Exception e) {
return ResponseEntity.status(500).body("Internal server error");
}
}
*/
} }
...@@ -3,7 +3,6 @@ package ntnu.idatt2016.v233.SmartMat.dto.request; ...@@ -3,7 +3,6 @@ package ntnu.idatt2016.v233.SmartMat.dto.request;
/** /**
* FridgeProductRequest is a record class representing a request to add a product to a fridge. * FridgeProductRequest is a record class representing a request to add a product to a fridge.
* @param groupId the id of the group * @param groupId the id of the group
* @param productId the id of the product
*/ */
public record FridgeProductRequest(long fridgeProductId, long groupId, long ean, int amount, int days) { public record FridgeProductRequest(long fridgeProductId, long groupId, long ean, int amount, int days, double price) {
} }
...@@ -53,4 +53,7 @@ public class Waste { ...@@ -53,4 +53,7 @@ public class Waste {
@Column(name = "unit") @Column(name = "unit")
String unit; String unit;
@Column(name = "buy_price")
double buyPrice;
} }
...@@ -40,5 +40,8 @@ public class FridgeProductAsso { ...@@ -40,5 +40,8 @@ public class FridgeProductAsso {
@Column(name = "amount") @Column(name = "amount")
private double amount; private double amount;
@Column(name = "buy_price")
private double buyPrice;
} }
...@@ -72,6 +72,10 @@ public class FridgeService { ...@@ -72,6 +72,10 @@ public class FridgeService {
public Optional<Object> addProductToFridge(FridgeProductRequest fridgeProductRequest) { public Optional<Object> addProductToFridge(FridgeProductRequest fridgeProductRequest) {
Optional<Product> product = productService.getProductById(fridgeProductRequest.ean()); Optional<Product> product = productService.getProductById(fridgeProductRequest.ean());
Optional<Fridge> fridge = fridgeRepository.findByGroupGroupId(fridgeProductRequest.groupId()); Optional<Fridge> fridge = fridgeRepository.findByGroupGroupId(fridgeProductRequest.groupId());
double price = 100.0;
if(fridgeProductRequest.price() != 0.0){
price = fridgeProductRequest.price();
}
if(product.isEmpty() || fridge.isEmpty()) return Optional.empty(); if(product.isEmpty() || fridge.isEmpty()) return Optional.empty();
...@@ -81,6 +85,7 @@ public class FridgeService { ...@@ -81,6 +85,7 @@ public class FridgeService {
.amount(fridgeProductRequest.amount()) .amount(fridgeProductRequest.amount())
.daysToExpiration(fridgeProductRequest.days()) .daysToExpiration(fridgeProductRequest.days())
.purchaseDate(java.sql.Date.valueOf(LocalDate.now())) .purchaseDate(java.sql.Date.valueOf(LocalDate.now()))
.buyPrice(price)
.build()); .build());
fridgeRepository.save(fridge.get()); fridgeRepository.save(fridge.get());
...@@ -192,7 +197,7 @@ public class FridgeService { ...@@ -192,7 +197,7 @@ public class FridgeService {
group.setLevel(GroupUtil.getLevel(group.getPoints())); group.setLevel(GroupUtil.getLevel(group.getPoints()));
} }
groupRepository.save(group); groupRepository.save(group);
return Optional.of(wasteRepository.save(Waste.builder().amount(fridgeProductAsso1.getAmount()).unit(fridgeProductAsso1.getEan().getUnit()).ean(fridgeProductAsso1.getEan()).groupId(fridgeProductAsso1.getFridgeId().getGroup()).timestamp(new Timestamp(System.currentTimeMillis())).build())); return Optional.of(wasteRepository.save(Waste.builder().buyPrice(fridgeProductAsso1.getBuyPrice()).amount(fridgeProductAsso1.getAmount()).unit(fridgeProductAsso1.getEan().getUnit()).ean(fridgeProductAsso1.getEan()).groupId(fridgeProductAsso1.getFridgeId().getGroup()).timestamp(new Timestamp(System.currentTimeMillis())).build()));
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment