环境搭建
# 1. 数据库
# 1)优惠券表
| Field | Type | Comment |
|---|---|---|
| coupon_id | bigint(50) NOT NULL | 优惠券ID |
| coupon_price | decimal(10,2) NULL | 优惠券金额 |
| user_id | bigint(50) NULL | 用户ID |
| order_id | bigint(32) NULL | 订单ID |
| is_used | int(1) NULL | 是否使用 0未使用 1已使用 |
| used_time | timestamp NULL | 使用时间 |
# 2)商品表
| Field | Type | Comment |
|---|---|---|
| goods_id | bigint(50) NOT NULL | 主键 |
| goods_name | varchar(255) NULL | 商品名称 |
| goods_number | int(11) NULL | 商品库存 |
| goods_price | decimal(10,2) NULL | 商品价格 |
| goods_desc | varchar(255) NULL | 商品描述 |
| add_time | timestamp NULL | 添加时间 |
# 3)订单表
| Field | Type | Comment |
|---|---|---|
| order_id | bigint(50) NOT NULL | 订单ID |
| user_id | bigint(50) NULL | 用户ID |
| order_status | int(1) NULL | 订单状态 0未确认 1已确认 2已取消 3无效 4退款 |
| pay_status | int(1) NULL | 支付状态 0未支付 1支付中 2已支付 |
| shipping_status | int(1) NULL | 发货状态 0未发货 1已发货 2已退货 |
| address | varchar(255) NULL | 收货地址 |
| consignee | varchar(255) NULL | 收货人 |
| goods_id | bigint(50) NULL | 商品ID |
| goods_number | int(11) NULL | 商品数量 |
| goods_price | decimal(10,2) NULL | 商品价格 |
| goods_amount | decimal(10,0) NULL | 商品总价 |
| shipping_fee | decimal(10,2) NULL | 运费 |
| order_amount | decimal(10,2) NULL | 订单价格 |
| coupon_id | bigint(50) NULL | 优惠券ID |
| coupon_paid | decimal(10,2) NULL | 优惠券 |
| money_paid | decimal(10,2) NULL | 已付金额 |
| pay_amount | decimal(10,2) NULL | 支付金额 |
| add_time | timestamp NULL | 创建时间 |
| confirm_time | timestamp NULL | 订单确认时间 |
| pay_time | timestamp NULL | 支付时间 |
# 4)订单商品日志表
| Field | Type | Comment |
|---|---|---|
| goods_id | int(11) NOT NULL | 商品ID |
| order_id | varchar(32) NOT NULL | 订单ID |
| goods_number | int(11) NULL | 库存数量 |
| log_time | datetime NULL | 记录时间 |
# 5)用户表
| Field | Type | Comment |
|---|---|---|
| user_id | bigint(50) NOT NULL | 用户ID |
| user_name | varchar(255) NULL | 用户姓名 |
| user_password | varchar(255) NULL | 用户密码 |
| user_mobile | varchar(255) NULL | 手机号 |
| user_score | int(11) NULL | 积分 |
| user_reg_time | timestamp NULL | 注册时间 |
| user_money | decimal(10,0) NULL | 用户余额 |
# 6)用户余额日志表
| Field | Type | Comment |
|---|---|---|
| user_id | bigint(50) NOT NULL | 用户ID |
| order_id | bigint(50) NOT NULL | 订单ID |
| money_log_type | int(1) NOT NULL | 日志类型 1订单付款 2 订单退款 |
| use_money | decimal(10,2) NULL | 操作金额 |
| create_time | timestamp NULL | 日志时间 |
# 7)订单支付表
| Field | Type | Comment |
|---|---|---|
| pay_id | bigint(50) NOT NULL | 支付编号 |
| order_id | bigint(50) NULL | 订单编号 |
| pay_amount | decimal(10,2) NULL | 支付金额 |
| is_paid | int(1) NULL | 是否已支付 1否 2是 |
# 8)MQ消息生产表
| Field | Type | Comment |
|---|---|---|
| id | varchar(100) NOT NULL | 主键 |
| group_name | varchar(100) NULL | 生产者组名 |
| msg_topic | varchar(100) NULL | 消息主题 |
| msg_tag | varchar(100) NULL | Tag |
| msg_key | varchar(100) NULL | Key |
| msg_body | varchar(500) NULL | 消息内容 |
| msg_status | int(1) NULL | 0:未处理;1:已经处理 |
| create_time | timestamp NOT NULL | 记录时间 |
###9)MQ消息消费表
| Field | Type | Comment |
|---|---|---|
| msg_id | varchar(50) NULL | 消息ID |
| group_name | varchar(100) NOT NULL | 消费者组名 |
| msg_tag | varchar(100) NOT NULL | Tag |
| msg_key | varchar(100) NOT NULL | Key |
| msg_body | varchar(500) NULL | 消息体 |
| consumer_status | int(1) NULL | 0:正在处理;1:处理成功;2:处理失败 |
| consumer_times | int(1) NULL | 消费次数 |
| consumer_timestamp | timestamp NULL | 消费时间 |
| remark | varchar(500) NULL | 备注 |
# 2. 项目初始化
shop系统基于Maven进行项目管理
# 1.1 工程浏览

- 父工程:shop-parent
- 订单系统:shop-order-web
- 支付系统:shop-pay-web
- 优惠券服务:shop-coupon-service
- 订单服务:shop-order-service
- 支付服务:shop-pay-service
- 商品服务:shop-goods-service
- 用户服务:shop-user-service
- 实体类:shop-pojo
- 持久层:shop-dao
- 接口层:shop-api
- 工具工程:shop-common
共12个系统
# 1.2 工程关系

# 3. Mybatis逆向工程使用
# 1)代码生成
使用Mybatis逆向工程针对数据表生成CURD持久层代码
# 2)代码导入
- 将实体类导入到shop-pojo工程
- 在服务层工程中导入对应的Mapper类和对应配置文件
# 4. 公共类介绍
ID生成器
IDWorker:Twitter雪花算法
异常处理类
CustomerException:自定义异常类
CastException:异常抛出类
常量类
ShopCode:系统状态类
响应实体类
Result:封装响应状态和响应信息
上次更新: 2025/07/23, 01:37:33