Kaynağa Gözat

Added few more GET requests in OrderService

Makumbacz 3 yıl önce
ebeveyn
işleme
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")
     private Plant plant;
     @JsonIgnore
+    @JoinColumn(name = "app_user_id", referencedColumnName = "id")
     @OneToOne(targetEntity = AppUser.class)
     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> {
     Optional<Cart> findByPlantAndAppUser(Plant plant, 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) {
         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
     @JoinColumn(name = "plant_id", referencedColumnName = "id")
     private Plant plant;
-    @ManyToOne
+    @OneToOne
     @JoinColumn(name = "order_id", referencedColumnName = "id")
     private Order order;
     @NotNull

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

@@ -36,7 +36,7 @@ public class Order {
     private double totalPrice;
     @OneToOne
     @JsonIgnore
-    @JoinColumn(name = "appuser_id", referencedColumnName = "id")
+    @JoinColumn(name = "app_user_id", referencedColumnName = "id")
     private AppUser appUser;
     @OneToMany
     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.ResponseEntity;
 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.ServletRequestAttributes;
 
+import java.util.List;
+
 @Controller
 @RequestMapping("api/v1/order")
 public class OrderController {
@@ -35,5 +35,17 @@ public class OrderController {
         orderService.placeOrder(placeOrderDto,appUser);
         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 java.util.List;
+
 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);
             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",
                     59,
                     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.",
                     PlantTypeOfLight.shadow,
                     PlantCareDifficulty.EASY,