游泳健身体育场馆智能闸机出入口方案
一、业务场景及流程
主要业务节点包括:卡片初始化:或卡片数据清除(比如闸机设置回收装置)
售票写卡:售票时写入票券的基本信息
进入闸机:持卡进闸机
出闸机:持卡出闸机
场馆购票:线上线下两种形式,可以凭票或者线上二维码等验票进场
凭票换手牌,发手牌给消费者,消费者持手牌,进闸机, 闸机写卡数据,入馆时间=当前时间
消费者消费完毕,准备出闸机
闸机判断消费者是否超时,当前时间-入馆时间>120 分钟为超时, 若消费者玩了125分钟,超时补票 30分钟的票,重写手牌数据 ,那卡内时长=120+30=150分钟,再到闸机校验超时问题。
没有超时,交手牌,开门出,闸机将数据清除。
雪场、冰场购票(租赁装备)
场景:冰场票按时间计费, 一张票2小时,超出需要补票才能出场,进场后租冰鞋,出场前还冰鞋。
1.消费者 来场购票,前台售票
2.前台写数据到手牌,时长=120, 发手牌给消费者
3.消费者持手牌,进闸机, 闸机写卡数据,入馆时间=当前时间
4.去租冰鞋,写卡租鞋=1
5.消费者滑冰完毕,还冰鞋,写卡租鞋=0
6.出闸机判断消费者是否超时,当前时间-入馆时间>120 分钟为超时, 若消费者玩了125分钟,超时补票 30分钟的票,重写手牌数据 ,那卡内时长=120+30=150分钟
再到闸机校验超时问题。
7.没有超时,已还冰鞋,交手牌,开门出,闸机将数据清除。
单次消费的超时逻辑
假设 票券时长 t=120分钟, 缓冲分钟数m=10 分钟
那么时间分钟数 s < t+m 不算超时, 如果 s>t+m 则超时分钟数 k=s-t
补票的时候,只能整数的补,
清冰时间 A1-A2
时间滑冰时间为: B1-B2
如果 ,两者有交集 , 则,实际的分钟数 要补上交集的时间分钟数 。
3.时间段进场
场景:场次卡
按时间段进入 ,比如上午场 08:00~12:00
下午场 13:00~18:00
晚上场 19:00~24:00
4.管理人员
场馆管理人员,可以随意进出闸机 ,例如,可以一直刷卡进多个人,
5.卡片清理
即卡片的初始化,相当于出闸机时卡片数据清零。
6.闸机监控报表
记录所有卡片的 进出记录
7.票的种类
1.陪同票 ,不能领鞋滑冰,
2.通常票
8. 场馆系统(票券设置)
要把票设置对应的 ,业务类型 ,计时类型,补票方案等
补票的消费项目为:超时补票
9. 开始计时,结束计时
开始时间:包括 售票计时、进场计时、租装备计时。
结束计时:包括 出闸机、还装备 计时。
清冰时间段 : 比如冰场有清冰时间,不包括在滑冰的时长中 。 实际时长= 结束时间 - 开始时间+ (开始结束时间段与清冰时间段的交集时长)
二、闸机厂商
1 实现方案
网络控制方式:系统与闸机在一个网络中, 进出闸机时,闸机将卡片信息发送到系统服务端,由系统决定是否允许开闸机门。 系统服务端只要判断是否向闸机发送开门指令即可。
方案简洁,灵活,但对网络和系统要求较高 ,我们是云端系统不建议采用。
闸机还需要布网线。
写卡方式: 系统和闸机分离,通过事先定义好的业务规则,闸机读取卡中数据,判断是否开闸门。不需要联网,读卡验证效率高。
业务规则整理清晰,根据个性就满足业务需求,闸机厂家提供接口,实现起来迅速灵活。
闸机厂家沟通
闸机厂商要求:
1.提供卡规划,数据协议
2.支持各种识别方式,可定制写入闸机端的逻辑,使用场景游泳馆、冰场、雪场等多样化
3.要考虑数据加密 ,密钥
智能闸机选型:叁辊闸、摆闸、翼闸、平移闸等
其他硬件:根据不同需求提供门禁机、人脸识别测温设备、健康码识别、人证核验等。
三、web 与 桌面外壳 数据通信技术方案
采用桌面程序外壳+内嵌浏览器的方式实现,外壳负责和本地程序,硬件的交互与控制 ;内嵌浏览器负责场馆系统的功能。 外壳和内嵌的数据交互,相互调用。
四、数据结构
数据采用箩蝉辞苍格式存储、传输。
五、 业务逻辑
1.先判断版本号,不同版本可能会有不同的处理逻辑
2.按卡类型,处理逻辑
3.超时计算的开始时间,要根据tt的类型来定 。
六、技术方案
闸机的控制器可以配置,服务端的ip 和port
读头可以设置,读取卡片的某个扇区的数值。
采用cs 架构,socket 协议 ,闸机作为客户端向服务端发数据,校验是否开闸机门。
采用Netty 来构建系统
业务流程说明
相关系统常量配置:
读卡器类型:可选
有闸机购票的流程
1.系统进入默认选中 会员卡输入的输入框
2.拿会员卡 接触读卡器,自动写入到会员卡输入框,并查询出相关信息,显示;如果手动录入会员卡 ,点查询效果一致。
3.选择 票券列表中的票, 拿手牌接触读卡器, 系统向闸机服务器发送物理卡号,读出对应手牌信息,如果状态正常,比如物理卡号234234555,对应手牌号002,刷手牌后,检测到状态为空闲,就向已选票区域,增加一张票,手牌号为002
4.刷第二个手牌 ,增加第二张票
5.如果,手牌不是ic卡的情况,比如只是一把钥匙 ,没有物理卡号读出,这种情况需要手动录入 手牌号002 ,回车,自动检测状态,正常加入列表。
6.选择区域的手牌号不能重复,
7.手牌号不录入,也可以加入到选中列表中,比如 游泳儿童票只要有大人的手牌就够了 ,2个人用一个储物柜
8.票券列表,要根据情况来筛选可销售的票,比如时段票,就只显示时间段内的 可销售的票 。
9."确认支付"的时候,票写入云端场馆成功后, 再写数据到,本地闸机数据库 ,
如果写本地数据库成功,最终提示成功。
如果写本地数据库失败,跳转到另外一个界面,显示订单信息,重新写本地。
10.录入手牌的位置,可以刷手牌(根据物理卡号),也可以直接录入手牌号 ,加入票。 再调用本地闸机服务接口判断手牌的状态。
空闲手牌可以卖票,加入到售票列表中, 使用中的手牌不能卖票,不能加入到售票列表中。
游泳健身体育场馆智能闸机出入口解决方案有多种形式,我们会根据不同要求来定制。像叁辊闸、摆闸、翼闸等不同设备也会出现不同的定制款。