基于Java实现(APP)智能停车场管理系统

发布于:2024-10-12 ⋅ 阅读:(11) ⋅ 点赞:(0)

移动应用开发系统设计说明书(智能停车场管理系统)

服务集成流程详细设计

实现功能

序号 功能点
1 新增用户
2 注册用户
3 修改场地信息
4 列出场地信息
5 新增认证车辆
6 列出认证车辆
7 删除认证车辆
8 车辆进入信息录入
9 停车记录列表展示
10 出停车场信息录入

参数说明

User 用户信息实体参数

字段名称 字段类型 中文名称
loginid int 类别 id
username String 姓名
password String 密码

Parkcarauth 授权车辆实体参数

字段名称 字段类型 中文名称
id int 车辆
number String 车牌号
authTime Date 认证时间

Area 场地信息实体参数

字段名称 字段类型 中文名称
areaid int 场地 id
price float 收费标准
totalnum int 总车位数量
leftnum int 已占车位数量
status byte 状态

Parkcar 停车记录实体参数

字段名称 字段类型 中文名称
id int 记录 id
number Strig 车牌号
isAuth byte 是否认证
entertime Date 进入时间
outtime Date 出去时间
parktime Date 停车时间

Resp 消息返回

字段名称 字段类型
code String
message String
body

功能详细设计

创建用户

时序图

需求分析
  • 该功能用于对用户的注册
  • 对传入的参数进行校验,若账户名已存在,则返回失败
  • 校验成功则进行入库,成功后返回 success 信息

用户登录

时序图

需求分析
  • 该功能用于用户登录
  • 利用用户名到用户表检索,若不存在,则失败
  • 存在用户,则验证密码,成功后返回 success 信息

修改场地信息

时序图

需求分析
  • 该功能用于场地信息的修改
  • 对传入的参数进行校验,若失败则返回 fail 信息
  • 校验成功则进行修改,成功后返回 success 信息

场地信息展示

时序图

需求分析
  • 该功能用于对场地信息展示
  • 直接调用后端接口

新增授权车辆

时序图

需求分析
  • 该功能用于新增车辆认证
  • 校验失败则返回失败信息
  • 参数校验成功后入库,并返回成功信息

删除授权车辆

时序图

需求分析
  • 该功能用于解除车辆认证
  • 车牌校验失败则返回失败信息
  • 参数校验成功后删除授权记录,并返回成功信息

授权车辆展示

时序图

需求分析
  • 该功能用于对授权车辆展示
  • 直接调用后端接口

新增停车记录

时序图

需求分析
  • 该功能用于新增停车记录
  • 对车牌进行校验失败则返回失败信息
  • 参数校验成功后入库,并返回成功信息

停车车辆信息展示

时序图

需求分析
  • 该功能用于对停车车辆详细信息展示
  • 直接调用后端接口

车辆离开接口

时序图

需求分析
  • 该功能用于车辆停车记录更新,返回停车时间
  • 对车牌进行校验失败则返回失败信息
  • 参数校验成功,删除停车记录,并返回成功信息

接口设计

新建用户接口

接口说明 新建用户 新建用户 新建用户 新建用户
请求方式 POST POST POST POST
服务路径 /user/createuser /user/createuser /user/createuser /user/createuser
请求参数类型 application/json application/json application/json application/json
请求参数 参数名 参数类型 参数说明 是否必填
请求参数 loginname String
请求参数 password String
返回参数类型 application/json application/json application/json application/json
返回参数 参数名 参数类型 参数说明 是否必填
请求参数示例 loginname=cmz&password=123456 loginname=cmz&password=123456 loginname=cmz&password=123456 loginname=cmz&password=123456
返回参数示例 {;“code”:“200”,;“message”:“”,;“body”:“用户创建成功”;}; {;“code”:“200”,;“message”:“”,;“body”:“用户创建成功”;}; {;“code”:“200”,;“message”:“”,;“body”:“用户创建成功”;}; {;“code”:“200”,;“message”:“”,;“body”:“用户创建成功”;};

登陆接口

接口说明 登陆 登陆 登陆 登陆
请求方式 POST POST POST POST
服务路径 /user/login /user/login /user/login /user/login
请求参数类型 application/json application/json application/json application/json
请求参数 参数名 参数类型 参数说明 是否必填
请求参数 loginname String
请求参数 password String
返回参数类型 application/json application/json application/json application/json
返回参数 参数名 参数类型 参数说明 是否必填
请求参数示例 loginname=cmz&password=123456 loginname=cmz&password=123456 loginname=cmz&password=123456 loginname=cmz&password=123456
返回参数示例 {;“code”:“200”,;“message”:“”,;“body”:“登陆成功”;}; {;“code”:“200”,;“message”:“”,;“body”:“登陆成功”;}; {;“code”:“200”,;“message”:“”,;“body”:“登陆成功”;}; {;“code”:“200”,;“message”:“”,;“body”:“登陆成功”;};

列出场地信息接口

接口说明 列出场地信息 列出场地信息 列出场地信息 列出场地信息
请求方式 POST POST POST POST
服务路径 /area/listarea /area/listarea /area/listarea /area/listarea
请求参数类型 application/json application/json application/json application/json
请求参数 参数名 参数类型 参数说明 是否必填
请求参数
请求参数
请求参数
请求参数
请求参数
返回参数类型 application/json application/json application/json application/json
返回参数 参数名 参数类型 参数说明 是否必填
返回参数
请求参数示例
返回参数示例 {;“code”:“200”,;“message”:“”,;“body”:{;“areaid”:1,;“price”:2.8,;“totalnum”:200,;“leftnum”:100,;“status”:0;};}; {;“code”:“200”,;“message”:“”,;“body”:{;“areaid”:1,;“price”:2.8,;“totalnum”:200,;“leftnum”:100,;“status”:0;};}; {;“code”:“200”,;“message”:“”,;“body”:{;“areaid”:1,;“price”:2.8,;“totalnum”:200,;“leftnum”:100,;“status”:0;};}; {;“code”:“200”,;“message”:“”,;“body”:{;“areaid”:1,;“price”:2.8,;“totalnum”:200,;“leftnum”:100,;“status”:0;};};

修改场地信息接口

接口说明 删除服务 删除服务 删除服务 删除服务
请求方式 DELETE DELETE DELETE DELETE
服务路径 /area/updatearea /area/updatearea /area/updatearea /area/updatearea
请求参数类型 application/json application/json application/json application/json
请求参数 参数名 参数类型 参数说明 是否必填
请求参数 price float
请求参数 totalnum int
请求参数
请求参数
返回参数类型 application/json application/json application/json application/json
返回参数 参数名 参数类型 参数说明 是否必填
返回参数
请求参数示例 price=2.9&totalnum=200; price=2.9&totalnum=200; price=2.9&totalnum=200; price=2.9&totalnum=200;
返回参数示例 {;“code”:“200”,;“message”:“”,;“body”:“场地信息修改成功”;}; {;“code”:“200”,;“message”:“”,;“body”:“场地信息修改成功”;}; {;“code”:“200”,;“message”:“”,;“body”:“场地信息修改成功”;}; {;“code”:“200”,;“message”:“”,;“body”:“场地信息修改成功”;};

新增认证车辆接口

接口说明 新增认证 新增认证 新增认证 新增认证
请求方式 POST POST POST POST
服务路径 / parkcarauth /createauth / parkcarauth /createauth / parkcarauth /createauth / parkcarauth /createauth
请求参数类型 application/json application/json application/json application/json
请求参数 参数名 参数类型 参数说明 是否必填
请求参数 number String
请求参数
请求参数
请求参数
返回参数类型 application/json application/json application/json application/json
返回参数 参数名 参数类型 参数说明 是否必填
返回参数
请求参数示例 ;number=”浙 A88888” ;number=”浙 A88888” ;number=”浙 A88888” ;number=”浙 A88888”
返回参数示例 {;“code”:“200”,;“message”:“”,;“body”:“新增车辆认证成功”;}; {;“code”:“200”,;“message”:“”,;“body”:“新增车辆认证成功”;}; {;“code”:“200”,;“message”:“”,;“body”:“新增车辆认证成功”;}; {;“code”:“200”,;“message”:“”,;“body”:“新增车辆认证成功”;};

删除认证车辆接口

接口说明 新增认证 新增认证 新增认证 新增认证
请求方式 POST POST POST POST
服务路径 / parkcarauth /deleteauth / parkcarauth /deleteauth / parkcarauth /deleteauth / parkcarauth /deleteauth
请求参数类型 application/json application/json application/json application/json
请求参数 参数名 参数类型 参数说明 是否必填
请求参数 number String
请求参数
请求参数
请求参数
返回参数类型 application/json application/json application/json application/json
返回参数 参数名 参数类型 参数说明 是否必填
返回参数
请求参数示例 ;number=”浙 A88888” ;number=”浙 A88888” ;number=”浙 A88888” ;number=”浙 A88888”
返回参数示例 {;“code”:“200”,;“message”:“”,;“body”:“删除车辆认证成功”;}; {;“code”:“200”,;“message”:“”,;“body”:“删除车辆认证成功”;}; {;“code”:“200”,;“message”:“”,;“body”:“删除车辆认证成功”;}; {;“code”:“200”,;“message”:“”,;“body”:“删除车辆认证成功”;};

列出认证车辆接口

接口说明 新增认证 新增认证 新增认证 新增认证
请求方式 POST POST POST POST
服务路径 / parkcarauth /listauth / parkcarauth /listauth / parkcarauth /listauth / parkcarauth /listauth
请求参数类型 application/json application/json application/json application/json
请求参数 参数名 参数类型 参数说明 是否必填
请求参数
请求参数
请求参数
请求参数
返回参数类型 application/json application/json application/json application/json
返回参数 参数名 参数类型 参数说明 是否必填
返回参数
请求参数示例
返回参数示例 {;“code”:“200”,;“message”:“”,;“body”:{;{;id: “1”,;number: “浙 A88888”,;authTime: “2020-11-05 10:00:28”;},;{;id: “2”,;number: “浙 A82222”,;authTime: “2020-11-06 10:00:28”;};}; {;“code”:“200”,;“message”:“”,;“body”:{;{;id: “1”,;number: “浙 A88888”,;authTime: “2020-11-05 10:00:28”;},;{;id: “2”,;number: “浙 A82222”,;authTime: “2020-11-06 10:00:28”;};}; {;“code”:“200”,;“message”:“”,;“body”:{;{;id: “1”,;number: “浙 A88888”,;authTime: “2020-11-05 10:00:28”;},;{;id: “2”,;number: “浙 A82222”,;authTime: “2020-11-06 10:00:28”;};}; {;“code”:“200”,;“message”:“”,;“body”:{;{;id: “1”,;number: “浙 A88888”,;authTime: “2020-11-05 10:00:28”;},;{;id: “2”,;number: “浙 A82222”,;authTime: “2020-11-06 10:00:28”;};};

新增认证车辆接口

接口说明 新增认证 新增认证 新增认证 新增认证
请求方式 POST POST POST POST
服务路径 / parkcar /createpark / parkcar /createpark / parkcar /createpark / parkcar /createpark
请求参数类型 application/json application/json application/json application/json
请求参数 参数名 参数类型 参数说明 是否必填
请求参数 parkcar Parcar 停车记录实体参数
请求参数
请求参数
请求参数
返回参数类型 application/json application/json application/json application/json
返回参数 参数名 参数类型 参数说明 是否必填
返回参数
请求参数示例
返回参数示例 {;“code”:“200”,;“message”:“”,;“body”:“新建成功”;}; {;“code”:“200”,;“message”:“”,;“body”:“新建成功”;}; {;“code”:“200”,;“message”:“”,;“body”:“新建成功”;}; {;“code”:“200”,;“message”:“”,;“body”:“新建成功”;};

列出停车详情接口

接口说明 列出停车详情 列出停车详情 列出停车详情 列出停车详情
请求方式 POST POST POST POST
服务路径 / parkcar /listcar / parkcar /listcar / parkcar /listcar / parkcar /listcar
请求参数类型 application/json application/json application/json application/json
请求参数 参数名 参数类型 参数说明 是否必填
请求参数
请求参数
请求参数
请求参数
返回参数类型 application/json application/json application/json application/json
返回参数 参数名 参数类型 参数说明 是否必填
返回参数
请求参数示例
返回参数示例 {;“code”:“200”,;“message”:“”,;“body”:“”;}; {;“code”:“200”,;“message”:“”,;“body”:“”;}; {;“code”:“200”,;“message”:“”,;“body”:“”;}; {;“code”:“200”,;“message”:“”,;“body”:“”;};

返回停车时间接口

接口说明 计算停车时间接口 计算停车时间接口 计算停车时间接口 计算停车时间接口
请求方式 POST POST POST POST
服务路径 / parkcar /getcar / parkcar /getcar / parkcar /getcar / parkcar /getcar
请求参数类型 application/json application/json application/json application/json
请求参数 参数名 参数类型 参数说明 是否必填
请求参数 number “浙 A88888”
请求参数
请求参数
请求参数
返回参数类型 application/json application/json application/json application/json
返回参数 参数名 参数类型 参数说明 是否必填
返回参数
请求参数示例 number=浙 A88888 number=浙 A88888 number=浙 A88888 number=浙 A88888
返回参数示例 {;“code”:“200”,;“message”:“”,;“body”:{;parktime: “2 天 3 小时 10 分钟”;};}; {;“code”:“200”,;“message”:“”,;“body”:{;parktime: “2 天 3 小时 10 分钟”;};}; {;“code”:“200”,;“message”:“”,;“body”:{;parktime: “2 天 3 小时 10 分钟”;};}; {;“code”:“200”,;“message”:“”,;“body”:{;parktime: “2 天 3 小时 10 分钟”;};};

百度 AI 车牌识别 SDK

接口描述:支持识别中国大陆机动车蓝牌、黄牌(单双行)、绿牌、大型新能源(黄绿)、领使馆车牌、警牌、武警牌(单双行)、军牌(单双行)、港澳牌、农用车牌、民航车牌的地域编号和车牌号,并能同时识别图像中的多张车牌。

返回参数

参数 类型 是否必须 说明
log_id uint64 请求标识码,随机数,唯一。
color string 车牌颜色:支持 blue、green、yellow
number string 车牌号码
probability string 车牌中每个字符的置信度,区间为 0-1
vertexes_location int 返回文字外接多边形顶点位置

返回实例

{
"errno":0,"msg":"success"
,"data":
    {
"log_id":"5327722537189137631"
        ,
"words_result":
        {
"color":"green"
            ,
"number":"苏AD12267"
            ,
"probability":
            [1,0.9999977350235,
             0.99999630451202,0.99999868869781,
             0.99998331069946,0.99999988079071,
             0.9531751871109,0.99922955036163],
"vertexes_location":
            [
            {"y":223,"x":170},{"y":223,"x":282},
            {"y":256,"x":282},{"y":256,"x":170}
        }
    }
}

系统欢迎界面及主界面

该界面为启动系统时的欢迎界面,点击进入即可进入系统,注册或直接登录后进入主界面。

系统的主功能界面,拥有车辆驶入、车辆驶出和退出登录三个按钮,点击不同的按钮即进入对应的功能,上方的状态栏显示当前停车场停放情况。

系统欢迎界面及系统主界面

初始车辆授权状态

该界面为系统的初始车辆授权状态,显示目前已被授权进入的车辆的车牌号,可以点击右上角的加号进行手动添加授权。点击车牌号右边的按钮可以取消对应车辆的授权。

初始车辆授权状态

初始停车场停放情况

该界面用户可以查看已经停在停车场内所有车辆的信息已经停车时长,如图 4.3 所示。

设置收费标准

该界面用户可以查看已经设置的收费标准,并且可以修改

设置收费标准

图像获取方式

该用户既可以用手机直接进行拍摄,也可以通过截取监控图像等进行信息采集。

识别驶出车辆

该界面显示的是识别驶出车辆的车牌号,并且拍照。

确认是否出库可以选择确认或者取消,并给出该车辆总停车时长的提示。

确认是否出库

费用统计

该界面显示的是出库时的费用统计和停车时长并给出处理意见。并且在车辆驶出后给出“收费成功,车辆驶出”的提示。

给出计费金额和时间及收款后给出提示

识别到未授权车辆

该界面显示的是识别到未授权的车辆,并给出相应的处理方法,添加或者不添加到授权库中。

发现没有授权并将其授权

手动添加要授权的车牌

该界面显示的是手动添加授权车辆,其方法是输入车牌号来完成授权操作。也可以点击右边按钮取消授权车辆。

手动输入要进行授权的车牌号及此时已经授权的车辆

识别到已授权车辆的驶入

该界面显示的是刚刚识别的车辆的驶入确认选择图,选择确认就开始计费,并且在车辆成功进入车库后开始正常计费的提示。

驶入成功开始计费及给出提示并更改车位状态

显示停车场详情

该界面显示的是车辆成功进入车库后再次查看停车场详情,该车辆已经在停车场中。

此时停车场的车辆情况

更改车位容量

该界面显示的是设置车位数量,可以重新设置一个不少于目前已停车辆的一个车位数,并给出成功更改车位容量后给出“设置成功”的提示。

数据库设计

carPark APP 数据库设计:

Users 用来存放用户信息

字段名称 字段类型 中文名称 备注
loginid int 类别 id 自增,主键
username varchar(50) 姓名
password varchar(20) 密码

ParkCarAuth 用来存放授权车辆信息

字段名称 字段类型 中文名称 备注
id int 车辆 自增,主键
number varchar(50) 车牌号
authTime Datetime 认证时间

Area 用来存放场地信息

字段名称 字段类型 中文名称 备注
areaid int 场地 id 自增,主键
price float 收费标准
totalnum int 总车位数量
leftnum int 已占车位数量
status tinyint 状态 0 未满 1 已满

ParkCar 用来存放停车记录

字段名称 字段类型 中文名称 备注
id int 记录 id 自增,主键
number varchar (50) 车牌号
isAuth tinyint 是否认证 0 未认证 1 认证
entertime Datetime 进入时间
outtime Datetime 出去时间
parktime Datetime 停车时间

前端结构图