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 | } |
---|