创新实践-比赛场地管理系统|后端部分
本系统可以实现 比赛场地 的新建、修改、删除操作、查询操作
Intelij IDEA:优秀的Java后端开发IDE环境
Java语言:优秀的面向对象的程序语言
SpringBoot:易上手、轻量级组件容器框架。一切皆组件
MyBatis:Java的ORM工具,帮助我们将对象持久化到数据库
SQL:数据库查询语言
MySQL:易学习的中小型数据库。
场地表
| 字段名称 | 数据类型 | 样例 | 说明 |
|---|---|---|---|
| id | int(11) | 主键 | |
| range_code | varchar(20) | A109 | 场地编码,手填,唯一 |
| range_name | varchar(100) | 第3桥牌室 | 射击次数 |
| range_location | varchar(100) | N7 - 523 | 出局人数 |
| status | Int(11) | 1: open 2: close | |
| close_reason | varchar(100) | 关闭原因 | |
| description | varchar(255) | 这是一条备注 | 备注 |
| created_at | datetime | 创建时间 | |
| updated_at | datetime | 更新时间 | |
| created_by | varchar(50) | 创建人 | |
| updated_by | varchar(50) | 更新人 |
比赛项目表 <competition_event>
| 字段名称 | 数据类型 | 样例 | 说明 |
|---|---|---|---|
| id | int(11) | 主键 | |
| competition_event_code | varchar(20) | CE0230101 | 比赛项目编码,自动生成,全局唯一 |
| competition_event_name | varchar(20) | 男子100米接力 | 比赛项目名称 |
| suite_type | int | 1: 成年组 2: 青少年组 3:老年组 | 组别 |
| range_code | varchar(20) | 场地编码 | |
| plan_start_at | Date | 2020-05-10 | 计划开始日期 |
| plan_end_at | Date | 2020-05-15 | 计划结束日期 |
| status | 1: 未开始 2:进行中 3:已结束 | 状态 | |
| created_at | datetime | 创建时间 | |
| updated_at | datetime | 更新时间 | |
| created_by | varchar(50) | 创建人 | |
| updated_by | varchar(50) | 更新人 |
接口地址:range/get
请求方法: GET
入参
| 参数名 | 参数描述 | 数据类型 | 必填 | 示例/备注 |
|---|---|---|---|---|
| rangeCode | 场地编码 | String | O |
出参:
| 参数名 | 参数描述 | 数据类型 | 示例/备注 |
|---|---|---|---|
| data | 场地详情 | Object | |
| rangeCode | 场地编码 | String | |
| rangeName | 场地名称 | String | |
| rangeLocation | 位置 | String | |
| status | 状态编码 | number | |
| statusDesc | 状态描述 | String | |
| closeReason | 关闭原因 | String | |
| description | 备注 | String | |
| createdAt | 创建时间 | String | |
| createdBy | 创建人 | String | |
| updatedAt | 更新时间 | String | |
| updatedBy | 更新人 | String |
接口描述:根据检索条件查询场地表(range),返回结果记录
接口地址:range/list
请求方法: GET
入参
| 参数名 | 参数描述 | 数据类型 | 必填 | 示例/备注 |
|---|---|---|---|---|
| rangeName | 场地名称 | String | O | |
| rangeLocation | 位置 | String | O | |
| status | 状态 | number | O | 下拉列表 |
出参:
| 参数名 | 参数描述 | 数据类型 | 示例/备注 |
|---|---|---|---|
| data | 场地列表 | List of Object | |
| rangeCode | 场地编码 | String | |
| rangeName | 场地名称 | String | |
| rangeLocation | 位置 | String | |
| status | 状态编码 | number | |
| statusDesc | 状态描述 | String | |
| updatedAt | 更新时间 | String |
接口描述:根据检索条件查询场地表(range),返回结果记录列表
接口地址:range/add
请求方法:POST
入参
| 参数名 | 参数描述 | 数据类型 | 必填 | 示例/备注 |
|---|---|---|---|---|
| rangeName | 场地名称 | String | M | |
| rangeLocation | 位置 | String | M | |
| status | 状态编码 | number | M | |
| closeReason | 关闭原因 | String | M/O | 关闭时必填 |
| description | 备注 | String | O |
出参:
| 参数名 | 参数描述 | 数据类型 | 必填 | 示例/备注 |
|---|---|---|---|---|
| data | 场地编码 | String | M | LA1902039190 |
接口描述:
1、 校验场地名称的唯一性,若存在报错“场地名称已经存在”
2、 创建场地记录,场地编码自动生成,将输入的相应字段填入
接口地址:range/update
请求方法:POST
入参**:**
| 参数名 | 参数描述 | 数据类型 | 必填 | 示例/备注 |
|---|---|---|---|---|
| rangeCode | 场地编码 | String | M | |
| rangeName | 场地名称 | String | M | |
| rangeLocation | 位置 | String | M | |
| status | 状态编码 | number | M | |
| closeReason | 关闭原因 | String | M/O | 关闭时必填 |
| description | 备注 | String | O |
出参:
| 参数名 | 参数描述 | 数据类型 | 必填 | 示例/备注 |
|---|---|---|---|---|
| data | 场地编码 | String | M | LA1902039190 |
接口描述:
1、 根据场地编码查询场地记录,若不存在则报错
2、 校验场地名称的唯一性,若存在报错“场地名称已经存在”
3、 创建场地记录,场地编码自动生成,将输入的相应字段填入
接口地址:range/delete
请求方法:POST
入参
| 参数名 | 参数描述 | 数据类型 | 必填 | 示例/备注 |
|---|---|---|---|---|
| rangeCodes | 场地代码 | Array of String | M |
出参:
| 参数名 | 参数描述 | 数据类型 | 必填 | 示例/备注 |
|---|---|---|---|---|
| data | 删除记录数 | number | M | LA1902039190 |
接口描述:
1、 根据场地编码查询competition_event表中status!=3的记录,如果有记录,则报错“该场地已经被比赛使用,不能删除”
2、 根据场地代码,删除场地记录信息
数据库文件(labs.sql)放在了后端项目的根目录下上传了, 包含两个表,range和competition_event,其中competition_event写的很简单,值包含了不能被删除的场地信息
- 使用maven 自动导入
- 修改数据库配置文件
详细设计见 总结文档 根目录下的Summary_Docs.pdf 文件
