电子商务系统二

简介: 电子商务系统二

4. 订单类 (Order)

java复制代码

 

import java.time.LocalDate;

 

import java.util.ArrayList;

 

import java.util.List;

 

 

 

public class Order {

 

private int orderId;

 

private User user;

 

private LocalDate orderDate;

 

private List<OrderItem> orderItems;

 

private double totalPrice;

 

private String shippingAddress;

 

 

 

public Order(User user, LocalDate orderDate, String shippingAddress) {

 

this.user = user;

 

this.orderDate = orderDate;

 

this.orderItems = new ArrayList<>();

 

this.shippingAddress = shippingAddress;

 

}

 

 

 

// 添加订单项

 

public void addOrderItem(Product product, int quantity) {

 

orderItems.add(new OrderItem(product, quantity));

 

calculateTotalPrice();

 

}

 

 

 

// 计算总价

 

private void calculateTotalPrice() {

 

totalPrice = orderItems.stream()

 

.mapToDouble(orderItem -> orderItem.getProduct().getPrice() * orderItem.getQuantity())

 

.sum();

 

}

 

 

 

// Getters and Setters

 

public int getOrderId() {

 

return orderId;

 

}

 

 

 

public void setOrderId(int orderId) {

 

this.orderId = orderId;

 

}

 

 

 

public User getUser() {

 

return user;

 

}

 

 

 

public LocalDate getOrderDate() {

 

return orderDate;

 

}

 

 

 

public List<OrderItem> getOrderItems() {

 

return orderItems;

 

}

 

 

 

public double getTotalPrice() {

 

return totalPrice;

 

}

 

 

 

public String getShippingAddress() {

 

return shippingAddress;

 

}

 

 

 

public void setShippingAddress(String shippingAddress) {

 

this.shippingAddress = shippingAddress;

 

}

 

 

 

// toString method

 

@Override 

 

public String toString() {

 

return "Order{" +

 

"orderId=" + orderId +

 

", user=" + user +

 

", orderDate=" + orderDate +

 

", orderItems=" + orderItems +

 

", totalPrice=" + totalPrice +

 

", shippingAddress='" + shippingAddress + '\'' +

 

'}';

 

}

 

 

 

// 订单项类

 

static class OrderItem {

 

private Product product;

 

private int quantity;

 

 

 

public OrderItem(Product product, int quantity) {

 

this.product = product;

 

this.quantity = quantity;

 

}

 

 

 

public Product getProduct() {

 

return product;

 

}

 

 

 

public int getQuantity() {

 

return quantity;

 

}

 

 

 

// toString method

 

@Override 

 

public String toString() {

 

return "OrderItem{" +

 

"product=" + product +

 

", quantity=" + quantity +

 

'}';

 

}

 

}

 

}

5. 电子商务系统类 (ECommerceSystem)

java复制代码

 

import java.util.ArrayList;

 

import java.util.HashMap;

 

import java.util.List;

 

import java.util.Map;

 

 

 

public class ECommerceSystem {

 

private Map<String, User> users; // 用户名和用户的映射

 

private List<Product> products; // 商品列表

 

private Map<Integer, Order> orders; // 订单ID和订单的映射

 

 

 

public ECommerceSystem() {

 

users = new HashMap<>();

 

products = new ArrayList<>();

 

orders = new HashMap<>();

 

}

 

 

 

// 注册新用户

 

public void registerUser(String username, String password, String email) {

 

User newUser = new User(username, password, email);

 

users.put(username, newUser);

 

}

 

 

 

// 用户登录

 

public User login(String username, String password) {

 

User user = users.get(username);

 

if (user != null && user.getPassword().equals(password)) {

 

return user;

 

}

 

return null;

 

}

 

 

 

// 浏览商品

 

public List<Product> browseProducts() {

 

return products;

 

}

 

 

 

// 添加到购物车

 

public ShoppingCart addToCart(User user, Product product, int quantity) {

 

ShoppingCart cart = new ShoppingCart();

 

cart.addItem(product, quantity);

 

// 在实际应用中,应该返回用户已有的购物车,或者将商品添加到用户现有的购物车中

 

return

 

目录
相关文章
|
存储 算法 C语言
C语言编写一个计算器(附全源代码)
C语言编写一个计算器(附全源代码)
4532 0
C语言编写一个计算器(附全源代码)
|
运维 安全 网络安全
带你读《网络安全等级保护2.0定级测评实施与运维》——2.2 网络安全标准体系
带你读《网络安全等级保护2.0定级测评实施与运维》——2.2 网络安全标准体系
带你读《网络安全等级保护2.0定级测评实施与运维》——2.2  网络安全标准体系
|
10月前
|
机器学习/深度学习 人工智能 搜索推荐
人工智能推荐系统
人工智能推荐系统
425 2
|
10月前
|
边缘计算 缓存 网络协议
内容分发网络CDN
阿里云内容分发网络CDN(Content Delivery Network)是建立并覆盖在承载网之上,由遍布全球的边缘节点服务器群组成的分布式网络
149 2
|
弹性计算 缓存 网络协议
阿里云ecs.u1-c1m1.large云服务器u1通用算力型CPU性能评测
阿里云ecs.u1-c1m1.large云服务器u1通用算力型CPU性能评测
470 0
阿里云ecs.u1-c1m1.large云服务器u1通用算力型CPU性能评测
|
Web App开发
支付接口教程,详解支付宝接口(一)
相对来说支付宝是三大常见支付方式里面,集成起来比较简单的,官方替程序员们考虑了很多,包括详细的注释,简单的流程。集成支付宝接口我们会遇到的情况只有下面两种: PC和WEB支付,场景是触屏网站和PC网站,也称作即时到帐接口 APP支付,场景是原生APP PC和WEB支付之所以合并到一起是因为,支付的过程全部发生在支付宝的页面,我们只需要负责发起,只是发起时传递的参数不同罢了。
2001 0
|
24天前
|
人工智能 运维 自然语言处理
Elasticsearch AI Assistant 集成 DeepSeek,1分钟搭建智能运维助手
Elasticsearch 新支持 DeepSeek 系列模型,使用 AI 助手,通过自然语言交互,为可观测性分析、安全运维管理及数据智能处理提供一站式解决方案。
395 3
Elasticsearch AI Assistant 集成 DeepSeek,1分钟搭建智能运维助手
|
固态存储
MatLab2020破解安装
MatLab2020破解安装
4438 0