Commit 5860a6dc authored by Christopher Cottier's avatar Christopher Cottier

hotfix post orders

parent 1efa0c11
package com.nisum.ecomservice.dto;
//needed for post route, do not delete / change names
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class CartPostDTO {
private String id;
private String userId;
private List<CartItemDTO> cartItems;
}
package com.nisum.ecomservice.dto; package com.nisum.ecomservice.dto;
import com.nisum.ecomservice.model.Address; import com.nisum.ecomservice.model.Address;
import com.nisum.ecomservice.model.CartEntity;
import com.nisum.ecomservice.model.User; import com.nisum.ecomservice.model.User;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
@Getter @Getter
@Setter @Setter
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor
public class OrderRequest { public class OrderRequest {
private User user; private User user;
private Address address; private Address address;
private CartEntity cartEntity; private CartPostDTO cart;
} }
package com.nisum.ecomservice.model; package com.nisum.ecomservice.model;
import lombok.AllArgsConstructor; import lombok.*;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Getter @Getter
@Setter @Setter
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor
@ToString @ToString
public class Address { public class Address {
......
package com.nisum.ecomservice.model; package com.nisum.ecomservice.model;
import lombok.AllArgsConstructor; import lombok.*;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Getter @Getter
@Setter @Setter
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor
@ToString @ToString
public class ProductRef { public class ProductRef {
private String id; private String id;
......
...@@ -9,6 +9,7 @@ import org.springframework.data.mongodb.core.mapping.Document; ...@@ -9,6 +9,7 @@ import org.springframework.data.mongodb.core.mapping.Document;
@Getter @Getter
@Setter @Setter
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor
@ToString @ToString
public class User { public class User {
......
package com.nisum.ecomservice.service; package com.nisum.ecomservice.service;
import com.nisum.ecomservice.config.AppConfig; import com.nisum.ecomservice.config.AppConfig;
import com.nisum.ecomservice.dto.Order; import com.nisum.ecomservice.dto.*;
import com.nisum.ecomservice.dto.OrderItem;
import com.nisum.ecomservice.dto.OrderRequest;
import com.nisum.ecomservice.dto.OrderSubmission;
import com.nisum.ecomservice.model.*; import com.nisum.ecomservice.model.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -26,10 +23,10 @@ public class OrderService { ...@@ -26,10 +23,10 @@ public class OrderService {
//create user object from user object details //create user object from user object details
User user = orderRequest.getUser(); User user = orderRequest.getUser();
Address address = orderRequest.getAddress(); Address address = orderRequest.getAddress();
CartEntity cartEntity = orderRequest.getCartEntity(); CartPostDTO cart = orderRequest.getCart();
//for each item grab product details from products API //for each item grab product details from products API
List<Mono<Product>> productsToOrder = cartEntity.getCartItems().stream() List<Mono<Product>> productsToOrder = cart.getCartItems().stream()
.map(cartItem -> cartItem.getProductRef().getSku()) .map(cartItem -> cartItem.getProductRef().getSku())
.map(sku -> productService.getProductBySku(sku)) .map(sku -> productService.getProductBySku(sku))
...@@ -44,7 +41,7 @@ public class OrderService { ...@@ -44,7 +41,7 @@ public class OrderService {
orderItem.setItemSku(product.getSku()); orderItem.setItemSku(product.getSku());
orderItem.setItemPrice(product.getPrice()); orderItem.setItemPrice(product.getPrice());
List<CartItemEntity> items = cartEntity.getCartItems().stream().filter(cartItem -> cartItem.getProductRef().getSku() List<CartItemDTO> items = cart.getCartItems().stream().filter(cartItem -> cartItem.getProductRef().getSku()
.equals(product.getSku())) .equals(product.getSku()))
.collect(Collectors.toList()); .collect(Collectors.toList());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment