Advertisement
Guest User

Untitled

a guest
Mar 30th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.63 KB | None | 0 0
  1. package bean;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Date;
  5. import java.util.List;
  6.  
  7. import javax.persistence.CascadeType;
  8. import javax.persistence.Column;
  9. import javax.persistence.Entity;
  10. import javax.persistence.FetchType;
  11. import javax.persistence.GeneratedValue;
  12. import javax.persistence.GenerationType;
  13. import javax.persistence.Id;
  14. import javax.persistence.JoinColumn;
  15. import javax.persistence.JoinTable;
  16. import javax.persistence.ManyToMany;
  17. import javax.persistence.ManyToOne;
  18. import javax.persistence.Table;
  19.  
  20. import com.fasterxml.jackson.annotation.JsonBackReference;
  21.  
  22. @Entity
  23. @Table(name="t_orders")
  24. public class Order {
  25.  
  26.     /**
  27.      * Identifiant de la commande  
  28.      */
  29.     @Id
  30.     @GeneratedValue(strategy=GenerationType.IDENTITY)
  31.     private Integer id;
  32.  
  33.     /**
  34.      * Liste des plats dans la commande
  35.      * n-n bidirectionnelle
  36.      */
  37.     @ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE }, fetch = FetchType.EAGER)
  38.     @JoinTable( name="tnn_orders_dishes",
  39.                 joinColumns = @JoinColumn(name= "orderId"),
  40.                 inverseJoinColumns = @JoinColumn(name = "dishId")
  41.     )
  42.     private List<Dish> dishes;
  43.  
  44.     /**
  45.      * Identifiant de l'utilisateur lié à la commande  
  46.      */
  47.     @Column (name = "userId", insertable = false, updatable = false)
  48.     private Integer userId;
  49.    
  50.     @ManyToOne
  51.     @JoinColumn(name = "userId")
  52.     @JsonBackReference
  53.     private User user;
  54.  
  55.  
  56.     /**
  57.      * Date de la commande
  58.      */
  59.     @GeneratedValue(strategy=GenerationType.AUTO)
  60.     private Date datetime = null;
  61.  
  62.     /**
  63.      * Adresse de livraison de la commande
  64.      */
  65.     private String delivery = null;
  66.  
  67.     /**
  68.      * Adresse de facturation de la commande
  69.      */
  70.     private String invoice = null;
  71.  
  72.     /**
  73.      * Constructeur
  74.      */
  75.     public Order(){
  76.         dishes = new ArrayList<Dish>();
  77.     }
  78.  
  79.     /**
  80.      * Constructeur
  81.      * @param userId : Identifiant de l'utilisateur lié à la commande
  82.      * @param datetime : Date de la commande
  83.      * @param delivery : Adresse de livraison de la commande
  84.      * @param invoice : Adresse de facturation de la commande
  85.      */
  86.     public Order(Date datetime, String delivery, String invoice) {
  87.         super();
  88.         this.datetime = datetime;
  89.         this.delivery = delivery;
  90.         this.invoice = invoice;
  91.     }
  92.  
  93.  
  94.     public Integer getUserId() {
  95.         return userId;
  96.     }
  97.     public void setUserId(Integer integer) {
  98.         this.userId = integer;
  99.     }
  100.  
  101.    
  102.     public Date getDatetime() {
  103.         return datetime;
  104.     }
  105.     public void setDatetime(Date datetime) {
  106.         this.datetime = datetime;
  107.     }
  108.  
  109.  
  110.     public String getDelivery() {
  111.         return delivery;
  112.     }
  113.     public void setDelivery(String delivery) {
  114.         this.delivery = delivery;
  115.     }
  116.  
  117.  
  118.     public String getInvoice() {
  119.         return invoice;
  120.     }
  121.     public void setInvoice(String invoice) {
  122.         this.invoice = invoice;
  123.     }
  124.  
  125.  
  126.     public Integer getId() {
  127.         return id;
  128.     }
  129.     public void setId(Integer id){
  130.         this.id = id;
  131.     }
  132.  
  133.  
  134.     public User getUser() {
  135.         return user;
  136.     }
  137.     public void setUser(User user) {
  138.         this.user = user;
  139.     }
  140.  
  141.     public List<Dish> getDishes() {
  142.         return dishes;
  143.     }
  144.  
  145.     public void setDishes(List<Dish> dishes) {
  146.         this.dishes = dishes;
  147.     }
  148.  
  149.     public String toString(){
  150.         String str = "------------ COMMANDE ---------------\n";
  151.         str += "userId      : " + this.userId + "\n";
  152.         str += "nb plat(s)  : " + this.getDishes().size() + "\n";
  153.         str += "datetime    : " + this.datetime + "\n";
  154.         str += "delivery    : " + this.delivery + "\n";
  155.         str += "invoice     : " + this.invoice + "\n";
  156.         str += "----------------------------------\n";
  157.         return str;
  158.     }
  159.    
  160.     /**
  161.      * @return montant total de la commande
  162.      */
  163.     public Float amount(){
  164.         Float amount = new Float(0.0);
  165.         for(Dish dish : this.dishes){
  166.             amount += dish.getPrice();
  167.         }
  168.         return amount;
  169.     }
  170. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement