[850b344] | 1 | package com.project.beautycenter.model;
|
---|
| 2 |
|
---|
| 3 | import org.hibernate.annotations.OnDelete;
|
---|
| 4 | import org.hibernate.annotations.OnDeleteAction;
|
---|
| 5 |
|
---|
| 6 | import javax.persistence.*;
|
---|
| 7 | import java.lang.reflect.Array;
|
---|
| 8 | import java.util.ArrayList;
|
---|
| 9 | import java.util.LinkedHashSet;
|
---|
| 10 | import java.util.List;
|
---|
| 11 | import java.util.Set;
|
---|
| 12 |
|
---|
| 13 | import static java.lang.Float.NaN;
|
---|
| 14 |
|
---|
| 15 | @Entity
|
---|
| 16 | @Table(name = "uslugi",schema = "project")
|
---|
| 17 | public class Uslugi {
|
---|
| 18 | @Id
|
---|
| 19 | @Column(name = "usluga_id", nullable = false, length = 100)
|
---|
| 20 | private String id;
|
---|
| 21 |
|
---|
| 22 | @Column(name = "dejnost", length = 100)
|
---|
| 23 | private String dejnost;
|
---|
| 24 |
|
---|
| 25 | @Column(name = "cena", nullable = false, length = 100)
|
---|
| 26 | private String cena;
|
---|
| 27 |
|
---|
| 28 | @OneToMany(mappedBy = "uslugi",cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY)
|
---|
| 29 | private Set<Ocena> ocenas = new LinkedHashSet<>();
|
---|
| 30 |
|
---|
| 31 | public Uslugi(){}
|
---|
| 32 | public Uslugi(String id, String dejnost, String cena) {
|
---|
| 33 | this.id = id;
|
---|
| 34 | this.dejnost = dejnost;
|
---|
| 35 | this.cena = cena;
|
---|
| 36 | }
|
---|
| 37 |
|
---|
| 38 | public Set<Ocena> getOcenas() {
|
---|
| 39 | return ocenas;
|
---|
| 40 | }
|
---|
| 41 |
|
---|
| 42 | public void setOcenas(Set<Ocena> ocenas) {
|
---|
| 43 | this.ocenas = ocenas;
|
---|
| 44 | }
|
---|
| 45 |
|
---|
| 46 | public Float getAvgRating(){
|
---|
| 47 | List<Ocena> oceni = oceniToList();
|
---|
| 48 | float sum = 0;
|
---|
| 49 | float num = 0;
|
---|
| 50 | for (Ocena x : oceni){
|
---|
| 51 | if(x.getUslugi().id.equals(this.id)){
|
---|
| 52 | sum+= x.getVrednost();
|
---|
| 53 | num++;
|
---|
| 54 | }
|
---|
| 55 |
|
---|
| 56 | }
|
---|
| 57 | float avg = sum/num;
|
---|
| 58 | return avg;
|
---|
| 59 | }
|
---|
| 60 | public List<Ocena> oceniToList(){
|
---|
| 61 | List<Ocena> oceni = new ArrayList<Ocena>(ocenas.size());
|
---|
| 62 | for (Ocena x : ocenas)
|
---|
| 63 | oceni.add(x);
|
---|
| 64 | return oceni;
|
---|
| 65 | }
|
---|
| 66 | @PreRemove
|
---|
| 67 | private void removeUslugaOdOcena() {
|
---|
| 68 | for (Ocena o : oceniToList()) {
|
---|
| 69 | o.getUslugi().oceniToList().remove(this);
|
---|
| 70 | }
|
---|
| 71 | }
|
---|
| 72 | public List<Ocena> removeOcenaOdUsluga(Ocena o){
|
---|
| 73 | oceniToList().remove(o);
|
---|
| 74 | return oceniToList();
|
---|
| 75 | }
|
---|
| 76 |
|
---|
| 77 | public String getCena() {
|
---|
| 78 | return cena;
|
---|
| 79 | }
|
---|
| 80 |
|
---|
| 81 | public void setCena(String cena) {
|
---|
| 82 | this.cena = cena;
|
---|
| 83 | }
|
---|
| 84 |
|
---|
| 85 | public String getDejnost() {
|
---|
| 86 | return dejnost;
|
---|
| 87 | }
|
---|
| 88 |
|
---|
| 89 | public void setDejnost(String dejnost) {
|
---|
| 90 | this.dejnost = dejnost;
|
---|
| 91 | }
|
---|
| 92 |
|
---|
| 93 | public String getId() {
|
---|
| 94 | return id;
|
---|
| 95 | }
|
---|
| 96 |
|
---|
| 97 | public void setId(String id) {
|
---|
| 98 | this.id = id;
|
---|
| 99 | }
|
---|
| 100 | } |
---|