package org.beesden.shop.model;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Transient;
@Entity
@Table(name = "bees_basket")
public class Basket implements Serializable {
private static final long serialVersionUID = 3465391201648368058L;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "customerId")
private Customer customer;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "deliveryAddress")
private Address deliveryAddress;
@Transient
private DeliveryCharge deliveryCharge;
@Column(name = "deliveryChargeName")
private String deliveryChargeName;
@Column(name = "deliveryChargePrice")
private double deliveryChargePrice;
@Column(name = "deliveryType", length = 150)
private String deliveryType;
@Id
@Column(name = "ID")
@GeneratedValue
private Integer id;
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinColumn(name = "basketId")
private List<BasketItem> items;
@Column(name = "orderPlaced")
private Date orderPlaced;
@Column(name = "orderStatus", length = 150)
private String orderStatus;
@ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinColumn(name = "paymentDetails")
private Tender paymentDetails;
@Column(name = "subTotal")
private Double subTotal;
@Transient
private Boolean termsAgree;
@Column(name = "total")
private Double total;
// Getters and Setters
public Customer getCustomer() {
return customer;
}
public Address getDeliveryAddress() {
return deliveryAddress;
}
public DeliveryCharge getDeliveryCharge() {
return deliveryCharge;
}
public String getDeliveryChargeName() {
return deliveryChargeName;
}
public double getDeliveryChargePrice() {
return deliveryChargePrice;
}
public String getDeliveryType() {
return deliveryType;
}
public Integer getId() {
return id;
}
public List<BasketItem> getItems() {
return items;
}
public Date getOrderPlaced() {
return orderPlaced;
}
public String getOrderStatus() {
return orderStatus;
}
public Tender getPaymentDetails() {
return paymentDetails;
}
public Double getSubTotal() {
return subTotal;
}
public Boolean getTermsAgree() {
return termsAgree;
}
public Double getTotal() {
return total;
}
public void setCustomer(Customer customer) {
this.customer = customer;
}
public void setDeliveryAddress(Address deliveryAddress) {
this.deliveryAddress = deliveryAddress;
}
public void setDeliveryCharge(DeliveryCharge deliveryCharge) {
this.deliveryCharge = deliveryCharge;
}
public void setDeliveryChargeName(String deliveryChargeName) {
this.deliveryChargeName = deliveryChargeName;
}
public void setDeliveryChargePrice(double deliveryChargePrice) {
this.deliveryChargePrice = deliveryChargePrice;
}
public void setDeliveryType(String deliveryType) {
this.deliveryType = deliveryType;
}
public void setId(Integer id) {
this.id = id;
}
public void setItems(List<BasketItem> items) {
this.items = items;
}
public void setOrderPlaced(Date orderPlaced) {
this.orderPlaced = orderPlaced;
}
public void setOrderStatus(String orderStatus) {
this.orderStatus = orderStatus;
}
public void setPaymentDetails(Tender paymentDetails) {
this.paymentDetails = paymentDetails;
}
public void setSubTotal(Double subTotal) {
this.subTotal = subTotal;
}
public void setTermsAgree(Boolean termsAgree) {
this.termsAgree = termsAgree;
}
public void setTotal(Double total) {
this.total = total;
}
}