SwapU项目数据库设计文档
开源链接(点这里查看Github项目源码)
项目概览(点这里查看项目概览)
1. category(商品分类表)
| 字段名 | 类型 | 主键 | 非空 | 说明 |
|---|
| id | int | ✓ | ✓ | 分类ID |
| name | varchar(50) | ✓ | 分类名称 |
| sort | int | 排序值 |
| status | tinyint | 状态:1启用 0禁用 |
| create_time | datetime | 创建时间 |
| update_time | datetime | 更新时间 |
| create_user | bigint | 创建人ID |
| update_user | bigint | 更新人ID |
2. user(用户信息表)
| 字段名 | 类型 | 主键 | 非空 | 说明 |
|---|
| id | bigint | ✓ | ✓ | 用户ID |
| student_id | varchar(20) | ✓ | 学号 |
| username | varchar(50) | ✓ | 登录账号 |
| password | varchar(255) | ✓ | 登录密码 |
| avatar | varchar(255) | 用户头像 |
| phone | varchar(11) | 手机号 |
| email | varchar(100) | 邮箱 |
| college | varchar(100) | 学院名称 |
| balance | decimal(10,2) | 账户余额 |
| credit_score | int | 信用分 |
| status | tinyint | 账户状态:1正常 0禁用 |
| create_time | datetime | 注册时间 |
| update_time | datetime | 更新时间 |
| nickname | varchar(15) | 用户昵称 |
3. product(商品信息表)
| 字段名 | 类型 | 主键 | 非空 | 说明 |
|---|
| id | bigint | ✓ | ✓ | 商品ID |
| user_id | bigint | ✓ | 发布用户ID |
| title | varchar(100) | ✓ | 商品标题 |
| description | text | 商品描述 |
| category_id | int | 分类ID |
| price | decimal(10,2) | ✓ | 售价 |
| original_price | decimal(10,2) | 原价 |
| images | json | 商品图片列表 |
| product_condition | varchar(50) | ✓ | 商品成色 |
| status | tinyint | 商品状态:1在售 2已售出 3已下架 |
| view_count | int | 浏览量 |
| is_top | tinyint | 是否热门商品 |
| quantity | int | 库存数量 |
| create_time | datetime | 发布时间 |
| update_time | datetime | 更新时间 |
4. favorite(商品收藏表)
| 字段名 | 类型 | 主键 | 非空 | 说明 |
|---|
| id | bigint | ✓ | ✓ | 收藏ID |
| user_id | bigint | ✓ | 用户ID |
| product_id | bigint | ✓ | 商品ID |
| create_time | datetime | 收藏时间 |
唯一约束
UNIQUE(user_id,product_id)
用于防止同一用户重复收藏同一商品。
5. orders(订单表)
| 字段名 | 类型 | 主键 | 非空 | 说明 |
|---|
| order_id | bigint | ✓ | ✓ | 订单ID |
| order_no | varchar(64) | ✓ | 订单编号 |
| product_id | bigint | ✓ | 商品ID |
| product_title | varchar(255) | ✓ | 商品标题快照 |
| product_image | varchar(500) | 商品图片快照 |
| quantity | int | ✓ | 购买数量 |
| buyer_id | bigint | ✓ | 买家ID |
| seller_id | bigint | ✓ | 卖家ID |
| unit_price | decimal(10,2) | ✓ | 商品单价 |
| amount | decimal(10,2) | ✓ | 商品金额 |
| freight | decimal(10,2) | 运费 |
| total_amount | decimal(10,2) | 订单总金额 |
| status | int | ✓ | 订单状态 |
| expire_time | datetime | 订单过期时间 |
| buyer_message | varchar(500) | 买家留言 |
| create_time | datetime | ✓ | 创建时间 |
| pay_type | int | 支付方式 |
| pay_time | datetime | 支付时间 |
| cancel_reason | varchar(500) | 取消原因 |
| cancel_time | datetime | 取消时间 |
| logistics_company | varchar(100) | 物流公司 |
| logistics_no | varchar(100) | 物流单号 |
| deliver_time | datetime | 发货时间 |
| confirm_time | datetime | 接单时间 |
| receive_time | datetime | 收货时间 |
| delivery_method | tinyint | 配送方式 |
| address_book_id | bigint | 收货地址ID |
订单状态说明
| 状态值 | 含义 |
|---|
| 1 | 待确认 |
| 2 | 待支付 |
| 3 | 待发货 |
| 4 | 待收货 |
| 5 | 已完成 |
| 6 | 已取消 |
6. chat_message(聊天消息表)
| 字段名 | 类型 | 主键 | 非空 | 说明 |
|---|
| id | bigint | ✓ | ✓ | 消息ID |
| from_user_id | bigint | ✓ | 发送者ID |
| to_user_id | bigint | ✓ | 接收者ID |
| product_id | bigint | 关联商品ID |
| message | text | ✓ | 消息内容 |
| message_type | tinyint | 消息类型 |
| is_read | tinyint | 是否已读 |
| create_time | datetime | 发送时间 |
消息类型
已读状态
创建表结构sql文件:
-- =========================-- 商品分类表-- =========================CREATETABLEcategory(idINTAUTO_INCREMENTCOMMENT'分类ID'PRIMARYKEY,nameVARCHAR(50)NOTNULLCOMMENT'分类名称',sortINTDEFAULT0COMMENT'排序值',statusTINYINTCOMMENT'状态:1启用 0禁用',create_timeDATETIMECOMMENT'创建时间',update_timeDATETIMECOMMENT'更新时间',create_userBIGINTCOMMENT'创建人ID',update_userBIGINTCOMMENT'更新人ID')COMMENT='商品分类表';-- =========================-- 聊天消息表-- =========================CREATETABLEchat_message(idBIGINTAUTO_INCREMENTCOMMENT'消息ID'PRIMARYKEY,from_user_idBIGINTNOTNULLCOMMENT'发送者用户ID',to_user_idBIGINTNOTNULLCOMMENT'接收者用户ID',product_idBIGINTCOMMENT'关联商品ID',messageTEXTNOTNULLCOMMENT'消息内容',message_typeTINYINTDEFAULT1COMMENT'消息类型:1文本 2图片',is_readTINYINTDEFAULT0COMMENT'是否已读:0未读 1已读',create_timeDATETIMEDEFAULTCURRENT_TIMESTAMPCOMMENT'发送时间')COMMENT='聊天消息表';-- =========================-- 收藏表-- =========================CREATETABLEfavorite(idBIGINTAUTO_INCREMENTCOMMENT'收藏ID'PRIMARYKEY,user_idBIGINTNOTNULLCOMMENT'用户ID',product_idBIGINTNOTNULLCOMMENT'商品ID',create_timeDATETIMEDEFAULTCURRENT_TIMESTAMPCOMMENT'收藏时间',CONSTRAINTuk_user_productUNIQUE(user_id,product_id))COMMENT='商品收藏表';-- =========================-- 订单表-- =========================CREATETABLEorders(order_idBIGINTAUTO_INCREMENTCOMMENT'订单ID'PRIMARYKEY,order_noVARCHAR(64)NOTNULLCOMMENT'订单编号',product_idBIGINTNOTNULLCOMMENT'商品ID',product_titleVARCHAR(255)NOTNULLCOMMENT'商品标题',product_imageVARCHAR(500)COMMENT'商品主图',quantityINTDEFAULT1NOTNULLCOMMENT'购买数量',buyer_idBIGINTNOTNULLCOMMENT'买家用户ID',seller_idBIGINTNOTNULLCOMMENT'卖家用户ID',unit_priceDECIMAL(10,2)NOTNULLCOMMENT'商品单价',amountDECIMAL(10,2)NOTNULLCOMMENT'商品总金额',freightDECIMAL(10,2)DEFAULT0.00COMMENT'运费',total_amountDECIMAL(10,2)COMMENT'订单总金额',statusINTDEFAULT1NOTNULLCOMMENT'订单状态:1待确认 2待支付 3待发货 4待收货 5已完成 6已取消',expire_timeDATETIMECOMMENT'订单过期时间',buyer_messageVARCHAR(500)COMMENT'买家留言',create_timeDATETIMEDEFAULTCURRENT_TIMESTAMPNOTNULLCOMMENT'创建时间',pay_typeINTCOMMENT'支付方式:1支付宝 2微信 3余额支付',pay_timeDATETIMECOMMENT'支付时间',cancel_reasonVARCHAR(500)COMMENT'取消原因',cancel_timeDATETIMECOMMENT'取消时间',logistics_companyVARCHAR(100)COMMENT'物流公司',logistics_noVARCHAR(100)COMMENT'物流单号',deliver_timeDATETIMECOMMENT'发货时间',confirm_timeDATETIMECOMMENT'卖家确认接单时间',receive_timeDATETIMECOMMENT'买家确认收货时间',delivery_methodTINYINTCOMMENT'配送方式:1自提 2快递',address_book_idBIGINTCOMMENT'收货地址ID',CONSTRAINTuk_order_noUNIQUE(order_no))COMMENT='订单表';-- =========================-- 商品表-- =========================CREATETABLEproduct(idBIGINTAUTO_INCREMENTCOMMENT'商品ID'PRIMARYKEY,user_idBIGINTNOTNULLCOMMENT'发布用户ID',titleVARCHAR(100)NOTNULLCOMMENT'商品标题',descriptionTEXTCOMMENT'商品描述',category_idINTCOMMENT'分类ID',priceDECIMAL(10,2)NOTNULLCOMMENT'出售价格',original_priceDECIMAL(10,2)COMMENT'原价',images JSONCOMMENT'商品图片列表',product_conditionVARCHAR(50)NOTNULLCOMMENT'商品成色',statusTINYINTDEFAULT1COMMENT'商品状态:1在售 2已售出 3已下架',view_countINTDEFAULT0COMMENT'浏览量',is_topTINYINTDEFAULT0COMMENT'是否热门商品:0否 1是',create_timeDATETIMEDEFAULTCURRENT_TIMESTAMPCOMMENT'发布时间',update_timeDATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT'更新时间',quantityINTCOMMENT'库存数量')COMMENT='商品信息表';-- =========================-- 用户表-- =========================CREATETABLEuser(idBIGINTAUTO_INCREMENTCOMMENT'用户ID'PRIMARYKEY,student_idVARCHAR(20)NOTNULLCOMMENT'学号',usernameVARCHAR(50)NOTNULLCOMMENT'登录账号',passwordVARCHAR(255)NOTNULLCOMMENT'登录密码',avatarVARCHAR(255)COMMENT'头像地址',phoneVARCHAR(11)COMMENT'手机号',emailVARCHAR(100)COMMENT'邮箱',collegeVARCHAR(100)COMMENT'学院名称',balanceDECIMAL(10,2)DEFAULT0.00COMMENT'账户余额',credit_scoreINTDEFAULT100COMMENT'信用分',statusTINYINTDEFAULT1COMMENT'账户状态:1正常 0禁用',create_timeDATETIMEDEFAULTCURRENT_TIMESTAMPCOMMENT'注册时间',update_timeDATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT'更新时间',nicknameVARCHAR(15)COMMENT'用户昵称',CONSTRAINTstudent_idUNIQUE(student_id))COMMENT='用户信息表';