diff --git a/src/main/java/ru/skypro/weblibrary/controller/StoreController.java b/src/main/java/ru/skypro/weblibrary/controller/StoreController.java new file mode 100644 index 0000000..62121b1 --- /dev/null +++ b/src/main/java/ru/skypro/weblibrary/controller/StoreController.java @@ -0,0 +1,26 @@ +package ru.skypro.weblibrary.controller; + +import org.springframework.web.bind.annotation.*; +import ru.skypro.weblibrary.service.StoreService; + +import java.util.List; + +@RestController +@RequestMapping("store/order") +public class StoreController { + + private final StoreService storeService; + + public StoreController(StoreService storeService) { + this.storeService = storeService; + } + + @GetMapping("get") + public List getOrder(){ + return storeService.getOrder(); + } + @PostMapping("add") + public String addOrder(@RequestBody List listId){ + return storeService.addOrder(listId); + } +} diff --git a/src/main/java/ru/skypro/weblibrary/entity/Bukket.java b/src/main/java/ru/skypro/weblibrary/entity/Bukket.java new file mode 100644 index 0000000..a5491ab --- /dev/null +++ b/src/main/java/ru/skypro/weblibrary/entity/Bukket.java @@ -0,0 +1,25 @@ +package ru.skypro.weblibrary.entity; + +import org.springframework.context.annotation.Bean; +import org.springframework.stereotype.Component; +import org.springframework.web.context.annotation.SessionScope; + +import java.util.List; + +@Component +@SessionScope +public class Bukket { + private List ids; + + public Bukket(List ids) { + this.ids = ids; + } + + public List getIds() { + return ids; + } + + public void addIds(List ids) { + this.ids.addAll(ids); + } +} diff --git a/src/main/java/ru/skypro/weblibrary/service/StoreService.java b/src/main/java/ru/skypro/weblibrary/service/StoreService.java new file mode 100644 index 0000000..0177dee --- /dev/null +++ b/src/main/java/ru/skypro/weblibrary/service/StoreService.java @@ -0,0 +1,9 @@ +package ru.skypro.weblibrary.service; + +import java.util.List; + +public interface StoreService { + List getOrder(); + + String addOrder(List listId); +} diff --git a/src/main/java/ru/skypro/weblibrary/service/StoreServiceImpl.java b/src/main/java/ru/skypro/weblibrary/service/StoreServiceImpl.java new file mode 100644 index 0000000..3fc7d36 --- /dev/null +++ b/src/main/java/ru/skypro/weblibrary/service/StoreServiceImpl.java @@ -0,0 +1,29 @@ +package ru.skypro.weblibrary.service; + +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Service; +import org.springframework.web.context.annotation.SessionScope; +import ru.skypro.weblibrary.entity.Bukket; + +import java.util.List; + +@Service +public class StoreServiceImpl implements StoreService { + + private final Bukket bukket; + + public StoreServiceImpl(Bukket bukket) { + this.bukket = bukket; + } + + @Override + public List getOrder() { + return this.bukket.getIds(); + } + + @Override + public String addOrder(List listId) { + this.bukket.addIds(listId); + return "done"; + } +} diff --git a/store-service.http b/store-service.http new file mode 100644 index 0000000..f91bede --- /dev/null +++ b/store-service.http @@ -0,0 +1,9 @@ +###Получение списка id товаров +GET http://localhost:8080/store/order/get +###Добавление списка id товаров +POST http://localhost:8080/store/order/add +Content-Type: application/json + +[ + 1,2,3,4 +] \ No newline at end of file