jinduguanli/设计需求.md

11 KiB
Raw Blame History

CREATE TABLE departments
(
    id          BIGINT AUTO_INCREMENT PRIMARY KEY,
    name        VARCHAR(100) NOT NULL COMMENT '部门名称',
    description TEXT DEFAULT NULL COMMENT '部门描述',
    created_at  BIGINT       NOT NULL COMMENT '创建时间(时间戳)',
    updated_at  BIGINT       NOT NULL COMMENT '更新时间(时间戳)'
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='部门表';
CREATE TABLE users
(
    id            BIGINT AUTO_INCREMENT PRIMARY KEY,
    username      VARCHAR(50)  NOT NULL UNIQUE COMMENT '用户名',
    email         VARCHAR(100) NOT NULL UNIQUE COMMENT '邮箱',
    password      VARCHAR(100) NOT NULL COMMENT '密码',
    department_id BIGINT       NOT NULL COMMENT '所属部门',
    roles         INT          NOT NULL COMMENT '角色: 1-教师, 2-普通管理员, 3-沟通联络人, 4-系统管理员',
    jobs          INT          NOT NULL COMMENT '岗位: 1-课程制作教师, 2-课程购买方项目负责人, 3-课程制作方沟通联络人, 4-系统制作方项目负责人',
    avatar        VARCHAR(255)          DEFAULT NULL COMMENT '头像',
    creator_id    BIGINT       NOT NULL DEFAULT 1 COMMENT '创建用户的管理员ID',
    status        INT          NOT NULL DEFAULT 1 COMMENT '用户状态: 1-正常, 2-禁用',
    created_at    BIGINT       NOT NULL COMMENT '创建时间(时间戳)',
    updated_at    BIGINT       NOT NULL COMMENT '更新时间(时间戳)',
    FOREIGN KEY (department_id) REFERENCES departments (id) ON DELETE RESTRICT,
    INDEX idx_users_department_id (department_id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='用户表';
CREATE TABLE lesson_tasks
(
    id                  BIGINT AUTO_INCREMENT PRIMARY KEY,
    course_name         VARCHAR(100) NOT NULL COMMENT '课程名称',
    micro_lesson_name   VARCHAR(100) NOT NULL COMMENT '微课名称',
    user_id             BIGINT       NOT NULL COMMENT '负责人ID',
    progress_status     INT          NOT NULL DEFAULT 0 COMMENT '当前任务进度状态: 0-脚本上传, 1-脚本确认, 2-视频拍摄, 3-后期制作, 4-任务完成',
    script_upload_time  BIGINT                DEFAULT NULL COMMENT '脚本上传时间(时间戳)',
    script_confirm_time BIGINT                DEFAULT NULL COMMENT '脚本确认时间(时间戳)',
    video_capture_time  BIGINT                DEFAULT NULL COMMENT '视频拍摄时间(时间戳)',
    video_confirm_time  BIGINT                DEFAULT NULL COMMENT '视频确认时间(时间戳)',
    finish_time         BIGINT                DEFAULT NULL COMMENT '任务完成时间(时间戳)',
    advise              TEXT                  DEFAULT NULL COMMENT '任务建议或备注',
    created_at          BIGINT       NOT NULL COMMENT '创建时间(时间戳)',
    updated_at          BIGINT       NOT NULL COMMENT '更新时间(时间戳)',
    FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE,
    INDEX idx_lesson_tasks_user_id (user_id),
    INDEX idx_lesson_tasks_progress_status (progress_status)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='课程任务表';

INSERT INTO departments (name, description, created_at, updated_at)
VALUES ('重庆眨生花科技有限公司', '重庆眨生花科技有限公司', NOW(), NOW()),
       ('重庆电子科技职业大学', '重庆电子科技职业大学', NOW(), NOW());

我修改了 我的表结构

接下来我将给你描述我的接口需求

请求失败:

返回错误状态码以:10XX开头。

错误代码code返回为 100XX。message为错误描述。

{
  "code": 10005,
  "message": "邮箱已存在"
}

请求成功:

比失败请求会增加data字段。或直接返回最终结果。

1、登陆接口

用户管理

1.登录

接口描述: 使用密码登录

接口地址:http://127.0.0.1:8000/api/login

请求方式POST

接口参数:

参数名字 类型 是否必须 默认值 其他 说明
email 整型 用户邮箱
password 字符串 密码
remember 布尔型 false 会话 token 有效期,记住则更长

返回结果

成功示例:

参数名字 类型 说明
token 字符串
{
  "token": ""
}

失败示例:

{
  "code": 10005,
  "message": "登录失败!请检查邮箱或者密码"
}

2.添加用户

接口描述: 手动添加用户

接口地址:http://127.0.0.1:8000/api/users

请求方式POST

接口参数

参数名字 类型 是否必须 默认值 其他 说明
username 字符串 用户名
email 字符串 邮箱
password 字符串 密码
roles 整型 角色
department_id 整型 部门
jobs 整型 岗位
{
  "username": "test2",
  "email": "root2@cyqsd.cn",
  "password": "Abc123456",
  "roles": 4,
  "jobs": 4,
  "department_id": 1
}

返回结果

参数名字 类型 说明
code 整型 提示码
message 字符串 是否成功的提示信息
data 字符串 数据 ID
{
  "code": 10000,
  "message": "操作成功",
  "data": "3"
}

3.查看用户列表

接口描述: 查看用户列表

接口地址:http://127.0.0.1:8000/api/users?page=1&limit=10

请求方式GET

接口参数

参数名字 类型 是否必须 默认值 其他 说明
page 整型 1
limit 整型 10

4、查看单个用户

接口描述: 查看用户列表

接口地址:http://127.0.0.1:8000/api/users

请求方式GET

参数名字 类型 是否必须 默认值 其他 说明
id 整型 用户 id

5、删除用户

通过改变用户状态的方式 来将这个账户停止使用

将用户表的用户状态改变

6、更新账户

填了什么字段 就修改什么字段 没填写的字段 还是保留之前的数据

课程管理

1.查询列表

接口地址:http://127.0.0.1:8000/api/lesson/task?page=1&limit=1

接口描述: 查询课程管理列表。

请求方式GET

接口参数

参数名字 类型 是否必须 默认值 其他 说明
page 整型 可选 1 最小1 第几页
perpage 整型 可选 10 最小1最大20 分页数量
user_id 整型 可选 用户 ID

返回结果

参数名字 类型 说明
course_name 字符串 见下表
m_lesson_name 字符串
user_id 整型
schedule_status 整型
script_confirm_time 整型
video_confirm_time 整型
finish_time 整型
script_upload_time 整型
video_capture_time 整型
script_file 字符串
material_file 字符串
capture_file 字符串
advise 字符串
created_at 整型 创建时间

2.新增数据

接口地址:http://127.0.0.1:8000/api/lesson/task

接口描述: 新增一条课程记录

请求方式POST

Content-Typeapplication/json

接口参数

参数名字 类型 是否必须 默认值 其他 说明
course_name 字符串 最大25 课程名
m_lesson_name 字符串 最大25 微课名
user_id 整型 最大10 用户 ID
schedule_status 整型 最大10 当前进度 ID
script_confirm_time 整型 最大10 脚本确认时间
video_confirm_time 整型 最大10 视频确认时间
finish_time 整型 最大10 任务完成时间
script_upload_time 整型 最大10 脚本上传时间
video_capture_time 整型 最大10 视频拍摄时间
script_file 字符串 最大255 脚本文件地址
material_file 字符串 最大255 素材文件地址
capture_file 字符串 最大255 拍摄结果文件地址
advise 字符串 最大255 沟通建议列表,自行构建保存格式

返回结果

参数名字 类型 说明
整型 ID

#3.修改数据

接口地址:http://127.0.0.1:8000/api/lesson/task/2

接口描述: 修改一条课程记录

请求方式PUT

Content-Typeapplication/json

接口参数

其他需要修改的字段,按新增数据小节中的内容修改。

#4.删除数据

接口地址:http://127.0.0.1:8000/api/lesson/task/1

接口描述: 删除一条课程记录

请求方式DELETE

接口参数

参数名字 类型 是否必须 默认值 其他 说明
整型 待删除的课程记录 ID

5.查询单条数据

接口地址:http://127.0.0.1:8000/api/lesson/task/1

接口描述: 查询单条课程记录

请求方式GET

接口参数

参数名字 类型 是否必须 默认值 其他 说明