3.1、商城业务需求分析
分类: 搭建单体商城服务
商城业务需求分析
在开始编码之前,我们需要先分析商城系统的业务需求。只有充分理解业务需求,才能设计出合理的系统架构和数据库结构。
本节将学习:商城核心功能、用户模块、商品模块、订单模块,以及支付模块。
商城核心功能
功能概览
商城系统核心功能:
- 用户管理:用户注册、登录、个人信息管理
- 商品管理:商品展示、搜索、分类浏览
- 订单管理:订单创建、查询、状态管理
- 支付管理:支付处理、支付回调
- 库存管理:库存查询、库存扣减
业务流程
用户模块
用户模块功能
用户模块核心功能:
-
用户注册
- 用户名、邮箱、手机号注册
- 密码加密存储
- 邮箱/手机验证
-
用户登录
- 用户名/邮箱/手机号登录
- 密码验证
- Token 生成
-
用户信息管理
- 个人信息查询
- 个人信息修改
- 密码修改
用户实体设计
public class User { private Long id; private String username; private String email; private String phone; private String password; private String nickname; private String avatar; private Integer status; // 0: disabled, 1: enabled private LocalDateTime createTime; private LocalDateTime updateTime; }
商品模块
商品模块功能
商品模块核心功能:
-
商品管理
- 商品列表查询
- 商品详情查询
- 商品分类管理
-
商品搜索
- 关键词搜索
- 分类筛选
- 价格排序
-
商品分类
- 一级分类
- 二级分类
- 分类树结构
商品实体设计
public class Product { private Long id; private String name; private String description; private BigDecimal price; private Integer stock; private Long categoryId; private String imageUrl; private Integer status; // 0: off-shelf, 1: on-shelf private LocalDateTime createTime; private LocalDateTime updateTime; }
订单模块
订单模块功能
订单模块核心功能:
-
订单创建
- 购物车结算
- 订单信息填写
- 订单生成
-
订单查询
- 订单列表查询
- 订单详情查询
- 订单状态查询
-
订单状态管理
- 待支付
- 已支付
- 已发货
- 已完成
- 已取消
订单实体设计
public class Order { private Long id; private String orderNo; private Long userId; private BigDecimal totalAmount; private Integer status; // 0: pending, 1: paid, 2: shipped, 3: completed, 4: cancelled private String shippingAddress; private LocalDateTime createTime; private LocalDateTime updateTime; } public class OrderItem { private Long id; private Long orderId; private Long productId; private Integer quantity; private BigDecimal price; private BigDecimal subtotal; }
支付模块
支付模块功能
支付模块核心功能:
-
支付处理
- 支付方式选择
- 支付请求发起
- 支付结果处理
-
支付回调
- 支付成功回调
- 支付失败回调
- 订单状态更新
支付实体设计
public class Payment { private Long id; private Long orderId; private String paymentNo; private BigDecimal amount; private String paymentMethod; // ALIPAY, WECHAT, CREDIT_CARD private Integer status; // 0: pending, 1: success, 2: failed private LocalDateTime payTime; private LocalDateTime createTime; }
模块关系图
业务规则
核心业务规则
-
用户规则
- 用户名唯一
- 邮箱唯一
- 手机号唯一
- 密码长度至少 8 位
-
商品规则
- 商品价格必须大于 0
- 库存不能为负数
- 下架商品不能购买
-
订单规则
- 订单金额必须大于 0
- 订单必须关联用户
- 订单项数量必须大于 0
-
支付规则
- 支付金额必须等于订单金额
- 支付成功后订单状态更新
- 支付失败可重试
本节小结
在本节中,我们分析了:
第一个是商城核心功能。 包括用户管理、商品管理、订单管理、支付管理和库存管理。
第二个是用户模块。 用户注册、登录、个人信息管理。
第三个是商品模块。 商品管理、商品搜索、商品分类。
第四个是订单模块。 订单创建、订单查询、订单状态管理。
第五个是支付模块。 支付处理、支付回调。
这就是商城业务需求分析。理解这些需求,是设计系统架构和数据库结构的基础。
在下一节,我们将根据这些需求设计数据库结构。