1. 文档管理
Alpha冲刺
  • 用户模块
    • 用户接口测试
    • 修改用户信息
      • 修改用户昵称
      • 修改用户邮箱
      • 修改用户密码
      • 修改用户头像
    • 注册
      POST
    • 发送邮箱验证码
      POST
    • 登录
      POST
    • 获取用户基本信息
      GET
  • 书籍模块
    • 书籍模块测试
    • 添加书籍分类
      POST
    • 获取所有的书籍分类
      GET
    • 添加待售书籍
      POST
    • 删除待售书籍
      PUT
    • 按需求获取待售书籍
      POST
    • 获取待售书籍
      POST
    • 获取书籍总数
      POST
    • 获取书籍详情
      POST
  • 订单模块
    • 预订书籍
      POST
    • 用户的预订列表
      GET
    • 用户的出售列表
      GET
    • 查看某本待售书籍的所有预订者
      GET
    • 确认订单
      POST
  • 聊天模块
    • 获取聊天记录
      GET
    • 发送消息
      POST
    • 获取用户已有的聊天连接
      GET
  • 图片上传
    • 图片上传
    • 获取指定图片
  • 文档管理
    • 数据库设计
    • 系统的架构设计
    • 工具类的接口
    • 聊天数据表设计
  • 验证令牌
    POST
  1. 文档管理

数据库设计

用户表单设计#

由于用户头像的使用到的存储空间是不定的,一般不将用户头像存储在数据库中,所以将用户头像定义成一个URL,这样未来租用阿里云的对象存储服务OSS就可以用URL加载头像。
另外,我们的二手交易平台最终不仅仅要有普通的用户,还会有管理员用户来管理平台的运行。所以用户之间会有权限的差异,所以定义管理权限字段。

书籍表单设计#

我们打算做书籍分类功能,所以需要一个记录书籍分类的表单
关于待售书籍,我们设计这样一个表单来存储信息:
平台只负责管理待售的书籍,而不会试图去管理用户不再想要售卖的书籍或者已经卖出去的商品,所以需要 purchased 字段来标识。但这样子就是说,用户每挂售一个书籍,就只支持一次交易,这样做是考虑到我们面向的个人卖家和个人买家,而不是专门面向二手书售卖商。

订单表单设计#

买家管理自己买某些书的意愿
卖家可以查看自己卖了哪些书,并可以查看有哪些人希望买这本书。
卖家通过书籍ID去查找买家;买家可以通过用户ID查看自己想要买哪些书。

聊天模块的表单设计#

接收方ID和发送方ID来自于connection表单中的用户1的ID或用户2的ID。
也就说,在一个连接中,一个用户要么是发送方要么是接收方。
而number编号,是用来表示发送的顺序的,也就是说编号越小发送得越早。
type是用来解释记录中存储的内容的,比如我们可以这样子规定:
1.
type=1:content为文字记录
2.
type=2:content为图片URL
3.
type=3:content为视频URL
4.
...
这样就可以做到存储不同的聊天记录的效果

表单之间的关系#

ER图:
image.png
修改于 2024-05-04 10:24:07
上一页
获取指定图片
下一页
系统的架构设计
Built with