停车场系统源码-完全开源的智慧停车场管理系统源码, 停车场系统源码,停车场源码,停车源码,停车系统源码
一、介绍
- 本停车场系统兼容市面上主流的多家相机,理论上兼容所有硬件,可灵活扩展,
- 用户手机查询停车记录详情可自主缴费(支持 微信 ,支付宝,银行接口支付,支持每个停车场指定不同的商户进行收款),支付后出场在免费时间内会自动抬杆。
- 相机识别后数据自动上传到云端并记录,校验相机唯一id和硬件序列号,防止非法数据录入
- 断电断网支持岗亭人员使用app可接管硬件进行停车记录的录入。
- 支持app上查询附近停车场(导航,可用车位数,停车场费用,优惠券,评分,评论等),可预约车位。
二、软件架构
一、技术构成简述 (一)编程语言与架构简述 1.开发语言 (1)服务端 服务端语言目前均采用java语言开发,jdk版本要求1.8+。开发框架为springboot2+dubbo,鉴权采用oauth2,DB操作框架Mybaits,即时通讯底层框架与协议netty4
缓存数据存储 微小量缓存会存在mysql中,例如评论的前N条评论快照会超小量进行字段适当冗余,在提高存储性价比情况下大大提高数据的查询能力。其它大部分数据缓存均存储于redis数据中
性能与安全 (1)性能解决方案 架构与技术解决方案均为本团队一线5年开发经验总结,目前我们正在接触的项目真实用户40w+,毫无压力,我们系统采用的架构与技术均在仔细多方面综合考虑后多次调整,采用更加合理,性能更佳的模式与解决方案
后台管理 后台管理前端框架采用的是主流的vue element admin(TypeScript版本),分层清晰,官方文档完整,社区活跃
数据存储 (1)重要数据存储 重要数据均采用mysql进行存储,支持部署主从,大部分数据尽可能进行事务处理,确保数据容灾性
客户端 目前我们主要客户端分为三个场景,分别为安卓,ios,微信公众号。安卓与ios均为原生开发,H5页面web端框架为vue
一般数据存储 非重要性数据例如聊天内容,系统消息通知,广告等数据均存储于mongodb数据库中
安全解决方案 所有请求均需携带jwt串token进行访问,每个接口服务和管理服务均需配置公钥文件且具有jwt串token合法性校验能力,用户权限服务携带私钥文件负责密钥生成
架构与生命力 采用架构 本系统采用阿里巴巴微服务框架dubbo来进行实现微服务提供能力,追求高性能,高可用,超细粒度独立微服务,相同服务可以动态灵活增加与减少,支持不停机发布新版本服务。每个服务之间均为独立存在,互不影响。例如短信发送,支付,订单,停车场系统接口,停车场后台管理,停车场提供者服务等均为独立的服务。
架构潜力 整个系统众多服务分工明确,细粒度微服务,实现真正的插拔服务,功能的删减或停用,新增等均可在不破坏和入侵原来系统的前提下满足新的开发需求
二次开发说明 适用客户对象 ①本身有互联网it编程技术和经验或者拥有技术团队的。 ②不具备第一个条件但是费用预算比较充足,二次开发需求少或者愿意支付高额定制费的 (2)团队要求 服务器运维,安卓与ios开发者,web前端开发者,java实际开发经验2年+开发者
技术要求 过硬的java编程能力,网络编程能力,数据库设计与优化能力,架构设计能力,微服务思维能力,成熟的前端技术开发能力,中大型系统部署与运营能力
硬件要求 Linux操作系统,8核16G(最低)5M带宽,可多台服务器中的微服务指向统一微服务调度中心(本系统微服务调度中心管理平台zookeeper)
特色功能 异常数据实时推送,汇报,及时处理,提前预知与通知 2.即时通讯功能(IM聊天沟通) 性能,架构,优化等均参考微信聊天功能机制进行开发
行业好友与圈子 让该应用不止只能停车,还能交到志同道合的行业知音,让应用更有温度
商城与营销功能 此功能主要考虑到使用者有运营周边的兴趣和能力,在商城和广告营销上进行盈利
软件与硬件数据交互简述 1.硬件端 (1)目前解决方案 封装工具类,兼容市场主流硬件设备,只负责各类硬件数据封装为统一数据结构。硬件发包目前多为http主动推送数据,被动接受服务端返回指令
【收费总额】:统计当日当前用户名下的 停车费缴费+停车月卡新购和续费,两轮电动车+4轮新能源汽车充电费用 当日所有各渠道收入总额 【异常金额】:车辆到出口后应缴停车费,但是由于其它原因岗亭人员手动异常放行同时异常结束了订单,车辆免费出场了,会将该笔金额统计纳入异常金额 【收入K线图】:会统计当月每天总费用收入,方便只管查看每天总收入变动趋势 【异常放行次数】:会列出前10名异常放行次数的小区,方便平台管理风险评估和线下调查数据等
未来解决方案 改造主流厂商硬件底层服务系统,新增硬件规范的合法身份数据,采用长连接进行数据交互,保证数据与指令的实时性与可靠性得到更好的保障
服务端 (1)被动处理硬件数据 中间件处理各类前端数据,接收硬件推送数据,解析,计算,做出相应反馈
主动通知硬件发生事件行为 长连接推送指令,例如开闸,实时动态配置硬件数据等,
常规功能简述 (一)基础功能 1.硬件管理 支持单个硬件管理与记录,硬件在线状态,维修与进度记录等。与指定停车场出入口进行绑定,均有记录GPS位置
支付机构管理 每个停车场的支付账号均可以独立配置,支持同一个停车场使用多家支付机构进行支付,例如支付宝,微信,银联等。
支付与优惠活动管理 支付宝与微信,银联都均支持免密支付(无感支付)。本系统自带优惠券功能,支持支持多种套餐自定义与用户进行快捷手机上下单随时购买
停车场管理 不同时段费用配置,每日封顶因素综合参与动态计费,也支持静态+每日上限计费。支持查询附近停车场功能
停车记录管理 详细记录产生时间,地点,进出口位置,进出时间,异常数据实时推送与快速处理
1. 停车场名称
建议中文/汉字/数组,不要带有特殊字符,长度在32个字以内
2. 开始营业 和 结束营业
这里仅作展示,方便车主在小程序,app端查看附近停车场时知道每个停车场的正常营业时间
3. 经纬度设置
点击右上角“经纬度设置”按钮,搜索自己的停车场名称或者位置查询,该数据来源:腾讯地图
4. 车位数 和 已用车位数
车位数表示当前停车场总车位数,已用车位数表示已经占用了多少个车位,如果开启了车位控制,已用车位数会改变,当车位不足时该停车场所有出口都不会给入场车辆开闸,也不会采集任何数据录入系统。【注意事项】:当你开启了车位控制,发现所有车辆都无法入场了,那你可以手动修改已用车位数来校正,以便车辆能正常入场和数据录入系统
16. 异常自动放行
该可选值为0-否/1-是,车辆入场时设备断电或者设备没被抓拍到岗亭值班人员手动给放进场或者其它原因导致该车辆没有入场信息,当该车辆离场到出口时
【0-否】:道闸不会自动开启,同时会自动匹配最近两天内的相似车牌同时推送给岗亭人员确认,岗亭人员可确认或者手动修改车牌号,以便达到校正车牌号和合并停车记录,操作之后,车主可扫通道码直接缴纳停车费或者自己手动输入车牌号缴纳停车费
【1-是】:车辆出场时直接自动抬杆放行车辆,该停车记录会显示入场时间,应收和实收金额均为0元,无财务收入
17. 是否下发白名单
【使用场景】:某些停车场设备没有双网络保证,导致可能存在断网,物业为了确保套餐车辆(月卡,季卡,年卡等车辆)在断网不断电等情况能够不受影响自由进出,此时临时车会受影响。
【同步机制】:有效期内的套餐车辆正常下发和本地设备保持实时同步,每1-2分钟同步一次(设备mqtt协议心跳周期),过期车辆或者家庭组(一位多车/多位多车)不会下发或者删除本地设备对应数据
5. 单位时长
表示该停车场以多次时间为一个计费单位,例如你设置为15表示15分钟一个梯度进行计费,设置60表示按每个小时多少元收费,其它以此类推,推荐值:60
6. 费用上限
如果你停车场每天或者每24小时有费用上限,请设置此项,例如你设置了60,收费模式是每日动态,5元/小时,如果该车辆停了一天,按5*24应收费120元,但是你设置了费用上限为60,最终实际只收60元,跨天(或跨24小时)会重新计算
7. 起步价
针对少数停车场有门槛设置的,例如你停车场是5元/小时,你把起步价设置了10,那第一个小时会被收费10元,如果某车辆停车1个小时55分钟,最终应收费15元
8. 计费方式
目前我们支持的收费模式有:
【日轮静态】:每个小时N元进行累加,过了晚上24点(第二天凌晨0点)后进行轮回(每日上限轮回)
【24小时轮静态】:每个小时N元进行累加,累计停车时长满24个小时后进行轮回(每24小时上限轮回)
【日轮动态】:每天每个时间端收费不一样,例如早上00:00-07:00是5元/小时,07:00-21:00是8元/小时,21:00-23:59:59是6元/小时
【24小时轮动态】:停车时长不一样收费不一样,例如00:00-07:00表示前7个小时是5元/小时,07:00-21:00表示停车时长在7-21个小时区间是8元/小时,21:00-23:59:59表示21-24个小时区间是6元/小时
【每日仅一次】:每天只收一次费用,例如某些小区 每天只收10元,只要车主在当天在该停车场缴费过一次,当天该车辆后续无论再进入该停车场多少次都是免停车费的
【24小时仅一次】:每24小时只收一次费用,例如某些小区 每24小时只收10元,只要车主在24小时内在该停车场缴费过一次,24小时内当前车辆后续无论再进入该停车场多少次都是免停车费的
9. 月租车过期免停时间
某些车辆原来是在停车场购买了月卡或者年卡,但是过期了,此时如果该车主不再续费,该车辆在该对应停车场是套餐车辆过期状态,此项如果给了值,但是给过期车辆单独设置了免停时间,如果给0会默认使用临时车的免停时间,临时车免停时长在编辑页面项名称为“免费时长”
10. 当前价格
该价格相当于参考价,系统会自动使用你收费规则中最低的价格自动填充到此项目,你也可以手动设置。例如你 设置了早上00:00-07:00是5元/小时,07:00-21:00是8元/小时,21:00-23:59:59是6元/小时,此项最终会自动填充为5,车主在小程序和app端查看附近停车场时会看到该停车场的停车价格是5元/小时
18. 是否禁止家庭组同时入内
该可选值为0-否/1-是,家庭组(一位多车/多位多车)是否允许同时进入停车场
【0-否】:有一辆车入场后,后续同一组内不再允许入场
【1-是】:可同时同组多辆家庭组车辆入内
19. 是否开启车辆进场留言备注
该可选值为0-否/1-是,例如某个小区有入口A门和出口B门,当车辆入场时入口值班人员填写了备注,该车辆出场时出口B门的值班人员会看到备注,例如“该车辆是某某领导,请不要收费”,“该车辆是小区做工程的,请不要收费”,“该车辆出场时要严格审核货物”等
20. 免费时长
统一默认的该停车场的免停时间,页面单位为:分钟
21. 免费离场时间(分钟)
统一默认的该停车场场内提前缴费后的免停时间,页面单位为:分钟。例如某车主车辆还未出场,其在停车场提前把停车费给缴纳了,该停车场的免费离场时间为15,如果该车主在缴费后15分内未离场,其再出场时会被再次计费,如果其在15分钟内离场,不会被收取停车费,车辆到出口时道闸会自动讲杆子自动抬起放行该车辆
22. 特殊车牌号
针对某些特殊车牌直接放行,例如警车,消防车,武警车,大使馆车辆等,示例值:警,wj,使 请用英文逗号隔开
11. 月临车特殊计费
该可选值为0-否/1-是,套餐(月卡车或者季卡或者年卡车等)车辆过期了之后
【0-否】:停车费收费标准会按临时车进行收费
【1-是】:停车费收费标准会按自己对应的车辆类型收费规则进行收费
12. 显示过期车辆类型
该可选值为0-否/1-是,套餐(月卡车或者季卡或者年卡车等)车辆过期了之后
【0-否】:车辆进出时会显示临时车
【1-是】:车辆进出时会显示月卡车(或者其它车辆类型名称)
13. 代收费用停车场
使用场景举例:某个小区有“地面”和“地库”两个停车场,“地面”和“地库”单独分开收费的,但是一般正常情况“地库”出入口是没有保安值班的只有“地面”进出口才有保安值班,“地库”产生的费用该小区物业想统一到地面门岗保安室进行缴纳
14. 车位控制
如果想控制当停车场车位满之后不再允许外来车辆入内,可以开启此项,选“是”表示开启,选“否”表示关闭,打开之后有车辆入场时车辆入口处的led显示屏会显示当前停车场可用车位数。如果想要每一辆车出场时入口处实时刷新剩余车位数,请使用mqtt协议相机,其它协议暂时不支持
15. 岗亭修改停车记录
该可选值为0-否/1-是,岗亭人员是否可用操作和修改部分停车数据
【0-否】:不可操作
【1-是】:可操作数据有{车辆入场如果车牌号有误可手动校正车牌,车辆出场时岗亭人员可修改优惠金额}