3.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 |
使用时间 |
商品表
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 |
添加时间 |
订单表
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 |
支付时间 |
订单商品日志表
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 |
记录时间 |
用户表
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 |
用户余额 |
用户余额日志表
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 |
日志时间 |
订单支付表
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是 |
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 |
记录时间 |
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 |
备注 |
3.2 项目初始化
shop系统基于Maven进行项目管理
3.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个系统
3.1.2 工程关系
3.3 Mybatis逆向工程使用
代码生成
使用Mybatis逆向工程针对数据表生成CURD持久层代码
代码导入
将实体类导入到shop-pojo工程
在服务层工程中导入对应的Mapper类和对应配置文件
3.4 公共类介绍
ID生成器
IDWorker:Twitter雪花算法
异常处理类
CustomerException:自定义异常类
CastException:异常抛出类
常量类
ShopCode:系统状态类
响应实体类
Result:封装响应状态和响应信息