Ver código fonte

Added few more GET requests in OrderService

Makumbacz 3 anos atrás
pai
commit
b8f244cbc7

+ 1 - 0
src/main/java/com/example/plantsforyou/cart/Cart.java

@@ -24,6 +24,7 @@ public class Cart {
     @JoinColumn(name = "plant_id", referencedColumnName = "id")
     @JoinColumn(name = "plant_id", referencedColumnName = "id")
     private Plant plant;
     private Plant plant;
     @JsonIgnore
     @JsonIgnore
+    @JoinColumn(name = "app_user_id", referencedColumnName = "id")
     @OneToOne(targetEntity = AppUser.class)
     @OneToOne(targetEntity = AppUser.class)
     private AppUser appUser;
     private AppUser appUser;
 
 

+ 1 - 0
src/main/java/com/example/plantsforyou/cart/CartRepository.java

@@ -12,4 +12,5 @@ import java.util.Optional;
 public interface CartRepository extends JpaRepository<Cart, Long> {
 public interface CartRepository extends JpaRepository<Cart, Long> {
     Optional<Cart> findByPlantAndAppUser(Plant plant, AppUser appUser);
     Optional<Cart> findByPlantAndAppUser(Plant plant, AppUser appUser);
     List<Cart> findAllByAppUserOrderByCreatedDate(AppUser appUser);
     List<Cart> findAllByAppUserOrderByCreatedDate(AppUser appUser);
+    void deleteByAppUser(AppUser appUser);
 }
 }

+ 4 - 0
src/main/java/com/example/plantsforyou/cart/CartService.java

@@ -46,4 +46,8 @@ public class CartService {
     private ItemCartDto getDtoFromCart(Cart cart) {
     private ItemCartDto getDtoFromCart(Cart cart) {
         return new ItemCartDto(cart);
         return new ItemCartDto(cart);
     }
     }
+
+    public void deleteItemsFromCart(AppUser appUser){
+         cartRepository.deleteByAppUser(appUser);
+    }
 }
 }

+ 1 - 1
src/main/java/com/example/plantsforyou/items_order/ItemOrder.java

@@ -26,7 +26,7 @@ public class ItemOrder {
     @OneToOne
     @OneToOne
     @JoinColumn(name = "plant_id", referencedColumnName = "id")
     @JoinColumn(name = "plant_id", referencedColumnName = "id")
     private Plant plant;
     private Plant plant;
-    @ManyToOne
+    @OneToOne
     @JoinColumn(name = "order_id", referencedColumnName = "id")
     @JoinColumn(name = "order_id", referencedColumnName = "id")
     private Order order;
     private Order order;
     @NotNull
     @NotNull

+ 1 - 1
src/main/java/com/example/plantsforyou/order/Order.java

@@ -36,7 +36,7 @@ public class Order {
     private double totalPrice;
     private double totalPrice;
     @OneToOne
     @OneToOne
     @JsonIgnore
     @JsonIgnore
-    @JoinColumn(name = "appuser_id", referencedColumnName = "id")
+    @JoinColumn(name = "app_user_id", referencedColumnName = "id")
     private AppUser appUser;
     private AppUser appUser;
     @OneToMany
     @OneToMany
     private List<ItemOrder> itemsOrders;
     private List<ItemOrder> itemsOrders;

+ 15 - 3
src/main/java/com/example/plantsforyou/order/OrderController.java

@@ -7,12 +7,12 @@ import com.example.plantsforyou.dto.PlaceOrderDto;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Controller;
 import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 import org.springframework.web.context.request.ServletRequestAttributes;
 
 
+import java.util.List;
+
 @Controller
 @Controller
 @RequestMapping("api/v1/order")
 @RequestMapping("api/v1/order")
 public class OrderController {
 public class OrderController {
@@ -35,5 +35,17 @@ public class OrderController {
         orderService.placeOrder(placeOrderDto,appUser);
         orderService.placeOrder(placeOrderDto,appUser);
         return new ResponseEntity<>(HttpStatus.CREATED);
         return new ResponseEntity<>(HttpStatus.CREATED);
     }
     }
+    @GetMapping()
+    public ResponseEntity<List<Order>>getAllOrdersFromUser(){
+        String token = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest().getHeader("Authorization").substring("Bearer ".length());
+        AppUser appUser = appUserService.getUserFromToken(token);
+        return new ResponseEntity<>(orderService.getAllOrdersFromUserId(appUser.getId()), HttpStatus.OK);
+    }
+
+    @GetMapping("/all")
+    public List<Order> getAllOrdersFromBase(){
+        return orderService.getAllOrders();
+    }
+
 
 
 }
 }

+ 3 - 0
src/main/java/com/example/plantsforyou/order/OrderRepository.java

@@ -2,5 +2,8 @@ package com.example.plantsforyou.order;
 
 
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaRepository;
 
 
+import java.util.List;
+
 public interface OrderRepository extends JpaRepository<Order, Long> {
 public interface OrderRepository extends JpaRepository<Order, Long> {
+    List<Order> findAllByAppUserIdOrderByCreatedDateDesc(Long id);
 }
 }

+ 10 - 1
src/main/java/com/example/plantsforyou/order/OrderService.java

@@ -49,6 +49,15 @@ public class OrderService {
             itemOrder.setOrder(order);
             itemOrder.setOrder(order);
             itemOrderRepository.save(itemOrder);
             itemOrderRepository.save(itemOrder);
         }
         }
-        //todo:delete items from cart
+
+  //      cartService.deleteItemsFromCart(appUser);
+
+    }
+    List<Order> getAllOrdersFromUserId(Long id){
+        return orderRepository.findAllByAppUserIdOrderByCreatedDateDesc(id);
+    }
+
+    public List<Order> getAllOrders() {
+        return orderRepository.findAll();
     }
     }
 }
 }

+ 1 - 1
src/main/java/com/example/plantsforyou/plant/PlantConfig.java

@@ -41,7 +41,7 @@ public class PlantConfig {
                     "Anturium Andrego",
                     "Anturium Andrego",
                     59,
                     59,
                     3,
                     3,
-                    "https://cdn.shopify.com/s/files/1/0150/6262/products/the-sill_red-anthurium_small_kent_white.jpg?v=1652382922",
+                    "https://cdn.shopify.com/s/files/1/0150/6262/products/the-sill_red-anthurium_small_upcycled-saucer_stonewash.jpg?v=1653589431",
                     "Znane także jako kwiat flaminga, Anthurium jest najdłużej kwitnącą rośliną domową na świecie. Rzadko można spotkać ją bez efektownych kwiatów.",
                     "Znane także jako kwiat flaminga, Anthurium jest najdłużej kwitnącą rośliną domową na świecie. Rzadko można spotkać ją bez efektownych kwiatów.",
                     PlantTypeOfLight.shadow,
                     PlantTypeOfLight.shadow,
                     PlantCareDifficulty.EASY,
                     PlantCareDifficulty.EASY,