From 01d531aa237889c105b7854b30861f188b529287 Mon Sep 17 00:00:00 2001 From: Andrii Solianyk Date: Mon, 7 Apr 2025 08:02:48 +0200 Subject: [PATCH] WIP --- .../Controller/ArtisanConnectController.java | 12 +- .../artisanconnectbackend/Model/Notice.java | 96 +++++++++++++ .../Service/NoticeService.java | 36 +++++ .../artisanconnectbackend/dto/NoticeDTO.java | 129 ++++++++++++++++++ 4 files changed, 268 insertions(+), 5 deletions(-) create mode 100644 src/main/java/_11/asktpk/artisanconnectbackend/Service/NoticeService.java create mode 100644 src/main/java/_11/asktpk/artisanconnectbackend/dto/NoticeDTO.java diff --git a/src/main/java/_11/asktpk/artisanconnectbackend/Controller/ArtisanConnectController.java b/src/main/java/_11/asktpk/artisanconnectbackend/Controller/ArtisanConnectController.java index 8559543..e2b2033 100644 --- a/src/main/java/_11/asktpk/artisanconnectbackend/Controller/ArtisanConnectController.java +++ b/src/main/java/_11/asktpk/artisanconnectbackend/Controller/ArtisanConnectController.java @@ -1,7 +1,7 @@ package _11.asktpk.artisanconnectbackend.Controller; import _11.asktpk.artisanconnectbackend.Model.Notice; -import _11.asktpk.artisanconnectbackend.Service.PostgresDatabase; +import _11.asktpk.artisanconnectbackend.Service.NoticeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.*; @@ -12,16 +12,18 @@ import java.util.List; @RestController public class ArtisanConnectController { @Autowired - private PostgresDatabase postgresDatabase; + private NoticeService noticeService; @GetMapping("/notices/all") public List getAllNotices() { - return postgresDatabase.get(); + return noticeService.getAllNotices(); } @ResponseStatus(HttpStatus.CREATED) @PostMapping("/notices/add") - public void addNotice(@RequestBody Notice notice) { - postgresDatabase.add(notice); + public void addNotice(@RequestBody List notices_list) { + for (Notice notice : notices_list) { + noticeService.addNotice(notice); + } } } diff --git a/src/main/java/_11/asktpk/artisanconnectbackend/Model/Notice.java b/src/main/java/_11/asktpk/artisanconnectbackend/Model/Notice.java index f156a37..92cd0d3 100644 --- a/src/main/java/_11/asktpk/artisanconnectbackend/Model/Notice.java +++ b/src/main/java/_11/asktpk/artisanconnectbackend/Model/Notice.java @@ -43,5 +43,101 @@ public class Notice { @OneToMany(mappedBy = "notice", cascade = CascadeType.ALL) private List payments; + public Long getIdNotice() { + return idNotice; + } + + public void setIdNotice(Long idNotice) { + this.idNotice = idNotice; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public Client getClient() { + return client; + } + + public void setClient(Client client) { + this.client = client; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Double getPrice() { + return price; + } + + public void setPrice(Double price) { + this.price = price; + } + + public Category getCategory() { + return category; + } + + public void setCategory(Category category) { + this.category = category; + } + + public List getImages() { + return images; + } + + public void setImages(List images) { + this.images = images; + } + + public Status getStatus() { + return status; + } + + public void setStatus(Status status) { + this.status = status; + } + + public LocalDate getPublishDate() { + return publishDate; + } + + public void setPublishDate(LocalDate publishDate) { + this.publishDate = publishDate; + } + + public List getAttributesNotices() { + return attributesNotices; + } + + public void setAttributesNotices(List attributesNotices) { + this.attributesNotices = attributesNotices; + } + + public List getOrders() { + return orders; + } + + public void setOrders(List orders) { + this.orders = orders; + } + + public List getPayments() { + return payments; + } + + public void setPayments(List payments) { + this.payments = payments; + } + // Getters, setters, and constructors } diff --git a/src/main/java/_11/asktpk/artisanconnectbackend/Service/NoticeService.java b/src/main/java/_11/asktpk/artisanconnectbackend/Service/NoticeService.java new file mode 100644 index 0000000..b698061 --- /dev/null +++ b/src/main/java/_11/asktpk/artisanconnectbackend/Service/NoticeService.java @@ -0,0 +1,36 @@ +package _11.asktpk.artisanconnectbackend.Service; + +import _11.asktpk.artisanconnectbackend.Model.Notice; +import _11.asktpk.artisanconnectbackend.Repository.NoticeRepository; +import _11.asktpk.artisanconnectbackend.dto.NoticeDTO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class NoticeService { + + @Autowired + private NoticeRepository noticeRepository; + +// private NoticeDTO mapToDTO(Notice notice) { +// return new NoticeDTO( +// +// ); +// } +// +// private Notice mapToEntity(NoticeDTO productDTO) { +// return new Notice( +// +// ); +// } + + public List getAllNotices() { + return noticeRepository.findAll(); + } + + public void addNotice(Notice notice) { + noticeRepository.save(notice); + } +} diff --git a/src/main/java/_11/asktpk/artisanconnectbackend/dto/NoticeDTO.java b/src/main/java/_11/asktpk/artisanconnectbackend/dto/NoticeDTO.java new file mode 100644 index 0000000..904fa56 --- /dev/null +++ b/src/main/java/_11/asktpk/artisanconnectbackend/dto/NoticeDTO.java @@ -0,0 +1,129 @@ +package _11.asktpk.artisanconnectbackend.dto; + +import _11.asktpk.artisanconnectbackend.Model.AttributesNotice; +import _11.asktpk.artisanconnectbackend.Model.Client; +import _11.asktpk.artisanconnectbackend.Model.Orders; +import _11.asktpk.artisanconnectbackend.Model.Payments; +import _11.asktpk.artisanconnectbackend.Utils.Enums; + +import java.time.LocalDate; +import java.util.List; + +public class NoticeDTO { + private String title; + private Client client; + private String description; + private Double price; + private Enums.Category category; + private List images; + private Enums.Status status; + private LocalDate publishDate; + private List attributesNotices; + private List orders; + private List payments; + + public NoticeDTO(String title, Client client, String description, Double price, + Enums.Category category, List images, Enums.Status status, + LocalDate publishDate, List attributesNotices, + List orders, List payments) { + this.title = title; + this.client = client; + this.description = description; + this.price = price; + this.category = category; + this.images = images; + this.status = status; + this.publishDate = publishDate; + this.attributesNotices = attributesNotices; + this.orders = orders; + this.payments = payments; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public Client getClient() { + return client; + } + + public void setClient(Client client) { + this.client = client; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Double getPrice() { + return price; + } + + public void setPrice(Double price) { + this.price = price; + } + + public Enums.Category getCategory() { + return category; + } + + public void setCategory(Enums.Category category) { + this.category = category; + } + + public List getImages() { + return images; + } + + public void setImages(List images) { + this.images = images; + } + + public Enums.Status getStatus() { + return status; + } + + public void setStatus(Enums.Status status) { + this.status = status; + } + + public LocalDate getPublishDate() { + return publishDate; + } + + public void setPublishDate(LocalDate publishDate) { + this.publishDate = publishDate; + } + + public List getAttributesNotices() { + return attributesNotices; + } + + public void setAttributesNotices(List attributesNotices) { + this.attributesNotices = attributesNotices; + } + + public List getOrders() { + return orders; + } + + public void setOrders(List orders) { + this.orders = orders; + } + + public List getPayments() { + return payments; + } + + public void setPayments(List payments) { + this.payments = payments; + } +}