Parcel and Veg/Non-Veg Toggle added

This commit is contained in:
Sidharth Prabhu
2026-06-25 14:14:50 +05:30
parent b0a6a2ff49
commit 0de0ab4b44
13 changed files with 252 additions and 54 deletions

View File

@@ -155,6 +155,15 @@ public class OrderController {
// Use offer price if present, otherwise base price
BigDecimal unitPrice = (product.getOfferPrice() != null && product.getOfferPrice().compareTo(BigDecimal.ZERO) > 0)
? product.getOfferPrice() : product.getPrice();
// Add parcel fee if selected and parcellable
if (item.getProductName() != null && item.getProductName().endsWith(" (Parcel)") && product.isParcellable()) {
unitPrice = unitPrice.add(BigDecimal.valueOf(5));
}
// Update item's saved price so it reflects the unitPrice + parcel fee
item.setPrice(unitPrice);
serverTotal = serverTotal.add(unitPrice.multiply(BigDecimal.valueOf(item.getQuantity())));
}
}

View File

@@ -99,6 +99,7 @@ public class ProductController {
product.setVeg(productDetails.isVeg());
product.setHasAllergy(productDetails.isHasAllergy());
product.setParcelNotAllowed(productDetails.isParcelNotAllowed());
product.setParcellable(productDetails.isParcellable());
product.setSessionOptional(productDetails.isSessionOptional());
product.getSessions().clear();
@@ -238,6 +239,7 @@ public class ProductController {
live.setImageData(productDetails.getImageData());
live.setDraft(false);
live.setActive(true);
live.setParcellable(productDetails.isParcellable());
Product savedLive = productRepository.save(live);
productRepository.delete(product); // Delete the draft
@@ -257,6 +259,7 @@ public class ProductController {
product.setBarcode(productDetails.getBarcode());
product.setImageData(productDetails.getImageData());
product.setStock(productDetails.getStock());
product.setParcellable(productDetails.isParcellable());
product.getSessions().clear();
if (productDetails.getSessions() != null) {

View File

@@ -49,11 +49,13 @@ public class Product {
private boolean attributesOptional;
// Additional Attributes
private boolean isVeg;
private boolean isVeg = true;
private boolean hasAllergy;
private boolean parcelNotAllowed;
private boolean parcellable;
private boolean sessionOptional;
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
@@ -133,6 +135,9 @@ public class Product {
public boolean isParcelNotAllowed() { return parcelNotAllowed; }
public void setParcelNotAllowed(boolean parcelNotAllowed) { this.parcelNotAllowed = parcelNotAllowed; }
public boolean isParcellable() { return parcellable; }
public void setParcellable(boolean parcellable) { this.parcellable = parcellable; }
public boolean isSessionOptional() { return sessionOptional; }
public void setSessionOptional(boolean sessionOptional) { this.sessionOptional = sessionOptional; }