📄 order.java
字号:
package com.bluesky.elecall.domain.order;import java.math.BigDecimal;import java.util.Date;import java.util.HashSet;import java.util.Iterator;import java.util.List;import java.util.Random;import java.util.Set;import com.bluesky.elecall.domain.Product;import com.bluesky.elecall.domain.cart.CartItem;import com.bluesky.elecall.domain.cart.ShoppingCart;import com.bluesky.elecall.domain.organization.User;public class Order { private long id; private PaymentType paymentType; private String paymentTypeString; private Date createTime; private OrderState state; private User user; private String name; private String note; private Set<OrderItem> items = new HashSet<OrderItem>(); private DeliveryAddress deliveryAddress; private String receiverName; private String receiverPhoneNumber; private String receiverAddress; private String receiverPostCode; private String deliveryMethod; public Order() { deliveryAddress = new DeliveryAddress(); paymentType = new PaymentType(); createTime = new Date(); state = new OrderState(); user = new User(); } public Set<OrderItem> getItems() { return items; } public void setItems(Set<OrderItem> items) { this.items = items; } public long getId() { return id; } public void setId(long id) { this.id = id; } public OrderState getState() { return state; } public void setState(OrderState state) { this.state = state; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getNote() { return note; } public void setNote(String note) { this.note = note; } public DeliveryAddress getDeliveryAddress() { return deliveryAddress; } public void setDeliveryAddress(DeliveryAddress deliveryAddress) { this.deliveryAddress = deliveryAddress; receiverName = deliveryAddress.getReceiverName(); receiverAddress = deliveryAddress.getAddress(); receiverPostCode = deliveryAddress.getPostCode(); receiverPhoneNumber = deliveryAddress.getPhoneNumber(); } public User getUser() { return user; } public void setUser(User user) { this.user = user; } public String getPaymentTypeString() { return paymentTypeString; } public void setPaymentTypeString(String paymentTypeString) { this.paymentTypeString = paymentTypeString; } public String getReceiverName() { return receiverName; } public void setReceiverName(String receiverName) { this.receiverName = receiverName; } public String getReceiverPhoneNumber() { return receiverPhoneNumber; } public void setReceiverPhoneNumber(String receiverPhoneNumber) { this.receiverPhoneNumber = receiverPhoneNumber; } public String getReceiverAddress() { return receiverAddress; } public void setReceiverAddress(String receiverAddress) { this.receiverAddress = receiverAddress; } public String getReceiverPostCode() { return receiverPostCode; } public void setReceiverPostCode(String receiverPostCode) { this.receiverPostCode = receiverPostCode; } public PaymentType getPaymentType() { return paymentType; } public void setPaymentType(PaymentType paymentType) { this.paymentType = paymentType; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public String getDeliveryMethod() { return deliveryMethod; } public void setDeliveryMethod(String deliveryMethod) { this.deliveryMethod = deliveryMethod; } public void addItem(OrderItem orderItem) { items.add(orderItem); orderItem.setOrder(this); } public BigDecimal getProductTotalAmount() { BigDecimal sum = BigDecimal.ZERO; Iterator<OrderItem> it = items.iterator(); while (it.hasNext()) { OrderItem oi = it.next(); sum = sum.add(oi.getAmount()); } return sum; } public BigDecimal getDeliveryAmount() { //TODO delivery amount return new BigDecimal(10); } public BigDecimal getTotalAmount() { return getProductTotalAmount().add(getDeliveryAmount()); } /* * convert the cart item to order item */ public void loadFromShoppingCart(ShoppingCart cart) { items.clear(); Iterator<CartItem> it = cart.getItems().values().iterator(); while (it.hasNext()) { CartItem ci = it.next(); OrderItem oi = new OrderItem(ci); addItem(oi); } } public static Order getSample(List<Product> productList, User user) { Order o = new Order(); o.setUser(user); o.setDeliveryAddress(user.getDefaultDeliveryAddress()); o.setPaymentType(PaymentType.CASH); o.setState(OrderState.INITIAL); o.setDeliveryAddress(user.getDefaultDeliveryAddress()); o.setCreateTime(new Date()); Random r = new Random(); OrderItem oi1 = OrderItem.getSample(productList.get(r .nextInt(productList.size())), user); o.getItems().add(oi1); OrderItem oi2 = OrderItem.getSample(productList.get(r .nextInt(productList.size())), user); o.getItems().add(oi2); return o; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -