3.1商城业务需求分析

分类: 搭建单体商城服务

商城业务需求分析

在开始编码之前,我们需要先分析商城系统的业务需求。只有充分理解业务需求,才能设计出合理的系统架构和数据库结构。

本节将学习:商城核心功能、用户模块、商品模块、订单模块,以及支付模块。

商城核心功能

功能概览

商城系统核心功能:

  1. 用户管理:用户注册、登录、个人信息管理
  2. 商品管理:商品展示、搜索、分类浏览
  3. 订单管理:订单创建、查询、状态管理
  4. 支付管理:支付处理、支付回调
  5. 库存管理:库存查询、库存扣减

业务流程

用户模块

用户模块功能

用户模块核心功能:

  1. 用户注册

    • 用户名、邮箱、手机号注册
    • 密码加密存储
    • 邮箱/手机验证
  2. 用户登录

    • 用户名/邮箱/手机号登录
    • 密码验证
    • Token 生成
  3. 用户信息管理

    • 个人信息查询
    • 个人信息修改
    • 密码修改

用户实体设计

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; }

商品模块

商品模块功能

商品模块核心功能:

  1. 商品管理

    • 商品列表查询
    • 商品详情查询
    • 商品分类管理
  2. 商品搜索

    • 关键词搜索
    • 分类筛选
    • 价格排序
  3. 商品分类

    • 一级分类
    • 二级分类
    • 分类树结构

商品实体设计

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; }

订单模块

订单模块功能

订单模块核心功能:

  1. 订单创建

    • 购物车结算
    • 订单信息填写
    • 订单生成
  2. 订单查询

    • 订单列表查询
    • 订单详情查询
    • 订单状态查询
  3. 订单状态管理

    • 待支付
    • 已支付
    • 已发货
    • 已完成
    • 已取消

订单实体设计

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; }

支付模块

支付模块功能

支付模块核心功能:

  1. 支付处理

    • 支付方式选择
    • 支付请求发起
    • 支付结果处理
  2. 支付回调

    • 支付成功回调
    • 支付失败回调
    • 订单状态更新

支付实体设计

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; }

模块关系图

业务规则

核心业务规则

  1. 用户规则

    • 用户名唯一
    • 邮箱唯一
    • 手机号唯一
    • 密码长度至少 8 位
  2. 商品规则

    • 商品价格必须大于 0
    • 库存不能为负数
    • 下架商品不能购买
  3. 订单规则

    • 订单金额必须大于 0
    • 订单必须关联用户
    • 订单项数量必须大于 0
  4. 支付规则

    • 支付金额必须等于订单金额
    • 支付成功后订单状态更新
    • 支付失败可重试

本节小结

在本节中,我们分析了:

第一个是商城核心功能。 包括用户管理、商品管理、订单管理、支付管理和库存管理。

第二个是用户模块。 用户注册、登录、个人信息管理。

第三个是商品模块。 商品管理、商品搜索、商品分类。

第四个是订单模块。 订单创建、订单查询、订单状态管理。

第五个是支付模块。 支付处理、支付回调。

这就是商城业务需求分析。理解这些需求,是设计系统架构和数据库结构的基础。

在下一节,我们将根据这些需求设计数据库结构。