FreelanceBot
80 строк · 1.8 Кб
1package telegramBot.entity;
2
3
4import lombok.Getter;
5import lombok.NoArgsConstructor;
6import lombok.Setter;
7import jakarta.persistence.*;
8import java.time.LocalDate;
9
10@Entity
11@Table(name = "Orders")
12@NoArgsConstructor
13public class Order extends BaseEntity {
14
15
16@Column(name = "order_title")
17@Getter
18@Setter
19private String title;
20
21@Column(name = "order_link")
22@Getter
23@Setter
24private String link;
25
26@Column(name = "init_date")
27@Getter
28private LocalDate initDate;
29
30@ManyToOne(cascade = CascadeType.REFRESH)
31@JoinColumn(name = "exchange_id")
32@Getter
33private Exchange exchange;
34
35@ManyToOne(cascade = CascadeType.REFRESH)
36@JoinColumn(name = "subscription_id")
37@Getter
38private Subscription subscription;
39
40
41public Order(String title, String link) {
42this.title = title;
43this.link = link;
44this.initDate = now();
45}
46
47@Override
48public boolean equals(Object obj) {
49if(this == obj) return true;
50if(!(obj instanceof Order)) return false;
51Order order = (Order) obj;
52return this.title.equals(order.title);
53}
54
55private LocalDate now(){
56return LocalDate.now();
57}
58
59public void setExchange(Exchange exchange) {
60this.exchange = exchange;
61exchange.addOrder(this);
62}
63
64public void setSubscription(Subscription subscription) {
65this.subscription = subscription;
66subscription.addOrder(this);
67}
68
69@Override
70public String toString() {
71return "Order{" +
72"id=" + id +
73", title='" + title + '\'' +
74", link='" + link + '\'' +
75", initDate=" + initDate +
76", exchange=" + exchange +
77", subscription=" + subscription +
78'}';
79}
80}
81