Commit e7b8d407 authored by Eric Arndt's avatar Eric Arndt

Merge branch 'earndt-fixes-order-backend' into 'dev'

[AFP-96] 🐛 Fixes Order date changing [@earndt]

See merge request !9
parents 8d93a1f9 6a814c07
Pipeline #1663 failed with stage
in 38 seconds
......@@ -8,30 +8,9 @@ import java.util.Objects;
public class Item {
private String itemId;
private String itemName;
private String itemSku;
private int itemQuantity;
private double itemPrice;
private int itemSku;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Item)) return false;
Item item = (Item) o;
return getItemQuantity() == item.getItemQuantity() && Double.compare(item.getItemPrice(), getItemPrice()) == 0 && getItemSku() == item.getItemSku() && getItemId().equals(item.getItemId());
}
@Override
public int hashCode() {
return Objects.hash(getItemId(), getItemQuantity(), getItemPrice(), getItemSku());
}
@Override
public String toString() {
return "Item{" +
"itemId='" + itemId + '\'' +
", itemQuantity=" + itemQuantity +
", itemPrice=" + itemPrice +
", itemSku=" + itemSku +
'}';
}
}
......@@ -10,7 +10,6 @@ import java.util.List;
import java.util.Objects;
@Data
@Builder
@AllArgsConstructor
@Document(collection = "orders")
public class Order {
......@@ -18,64 +17,19 @@ public class Order {
@Id
private String id;
private String customerId;
private String customerEmailAddress;
@Builder.Default
private String orderTrackingCode = "N/A";
private enum OrderStatus {
RECEIVED,
FULFILLED,
CANCELLED
};
@Builder.Default
private OrderStatus orderStatus = OrderStatus.RECEIVED;
private String orderTrackingCode;
@Builder.Default
private double orderCreatedAt = System.currentTimeMillis();
private OrderStatus orderStatus;
private long orderCreatedAt;
private long orderUpdatedAt;
@Builder.Default
private double orderUpdatedAt = System.currentTimeMillis();
private String customerId;
private String customerEmailAddress;
private List<Item> orderItems;
private CustomerAddress customerAddress;
public Order(){
orderStatus = OrderStatus.RECEIVED;
orderCreatedAt = System.currentTimeMillis();
orderUpdatedAt = System.currentTimeMillis();
orderTrackingCode = "N/A";
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Order)) return false;
Order order = (Order) o;
return Double.compare(order.getOrderCreatedAt(), getOrderCreatedAt()) == 0 && Double.compare(order.getOrderUpdatedAt(), getOrderUpdatedAt()) == 0 && getId().equals(order.getId()) && getCustomerId().equals(order.getCustomerId()) && getCustomerEmailAddress().equals(order.getCustomerEmailAddress()) && Objects.equals(getOrderTrackingCode(), order.getOrderTrackingCode()) && getOrderStatus() == order.getOrderStatus() && getOrderItems().equals(order.getOrderItems()) && getCustomerAddress().equals(order.getCustomerAddress());
}
@Override
public int hashCode() {
return Objects.hash(getId(), getCustomerId(), getCustomerEmailAddress(), getOrderTrackingCode(), getOrderStatus(), getOrderCreatedAt(), getOrderUpdatedAt(), getOrderItems(), getCustomerAddress());
}
@Override
public String toString() {
return "Order{" +
"id='" + id + '\'' +
", customerId='" + customerId + '\'' +
", customerEmailAddress='" + customerEmailAddress + '\'' +
", orderTrackingCode='" + orderTrackingCode + '\'' +
", orderStatus=" + orderStatus +
", orderCreatedAt=" + orderCreatedAt +
", orderUpdatedAt=" + orderUpdatedAt +
", orderItems=" + orderItems +
", customerAddress=" + customerAddress +
'}';
}
}
package com.afp.ordermanagement.model;
public enum OrderStatus {
RECEIVED,
FULFILLED,
CANCELLED
}
package com.afp.ordermanagement.service;
import com.afp.ordermanagement.model.Order;
import com.afp.ordermanagement.model.OrderStatus;
import com.afp.ordermanagement.repository.OrderRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -14,6 +15,13 @@ public class OrderService {
OrderRepository orderRepository;
public Mono<Order> createOrder(Order newOrder){
String defaultOrderTrackingCode = "N/A";
OrderStatus defaultOrderStatus = OrderStatus.RECEIVED;
long serviceSystemTime = System.currentTimeMillis();
newOrder.setOrderStatus(defaultOrderStatus);
newOrder.setOrderTrackingCode(defaultOrderTrackingCode);
newOrder.setOrderCreatedAt(serviceSystemTime);
newOrder.setOrderUpdatedAt(serviceSystemTime);
return orderRepository.save(newOrder);
}
......
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