FreelanceBot

Форк
0
80 строк · 1.8 Кб
1
package telegramBot.entity;
2

3

4
import lombok.Getter;
5
import lombok.NoArgsConstructor;
6
import lombok.Setter;
7
import jakarta.persistence.*;
8
import java.time.LocalDate;
9

10
@Entity
11
@Table(name = "Orders")
12
@NoArgsConstructor
13
public class Order extends BaseEntity {
14

15

16
    @Column(name = "order_title")
17
    @Getter
18
    @Setter
19
    private String title;
20

21
    @Column(name = "order_link")
22
    @Getter
23
    @Setter
24
    private String link;
25

26
    @Column(name = "init_date")
27
    @Getter
28
    private LocalDate initDate;
29

30
    @ManyToOne(cascade = CascadeType.REFRESH)
31
    @JoinColumn(name = "exchange_id")
32
    @Getter
33
    private Exchange exchange;
34

35
    @ManyToOne(cascade = CascadeType.REFRESH)
36
    @JoinColumn(name = "subscription_id")
37
    @Getter
38
    private Subscription subscription;
39

40

41
    public Order(String title, String link) {
42
       this.title = title;
43
       this.link = link;
44
       this.initDate = now();
45
    }
46

47
    @Override
48
    public boolean equals(Object obj) {
49
        if(this == obj) return true;
50
        if(!(obj instanceof Order)) return false;
51
        Order order = (Order) obj;
52
        return this.title.equals(order.title);
53
    }
54

55
    private LocalDate now(){
56
        return LocalDate.now();
57
    }
58

59
    public void setExchange(Exchange exchange) {
60
        this.exchange = exchange;
61
        exchange.addOrder(this);
62
    }
63

64
    public void setSubscription(Subscription subscription) {
65
        this.subscription = subscription;
66
        subscription.addOrder(this);
67
    }
68

69
    @Override
70
    public String toString() {
71
        return "Order{" +
72
                "id=" + id +
73
                ", title='" + title + '\'' +
74
                ", link='" + link + '\'' +
75
                ", initDate=" + initDate +
76
                ", exchange=" + exchange +
77
                ", subscription=" + subscription +
78
                '}';
79
    }
80
}
81

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.