游泳健身體育場(chǎng)館智能閘機(jī)出入口方案
一、業(yè)務(wù)場(chǎng)景及流程
主要業(yè)務(wù)節(jié)點(diǎn)包括:卡片初始化:或卡片數(shù)據(jù)清除(比如閘機(jī)設(shè)置回收裝置)
售票寫(xiě)卡:售票時(shí)寫(xiě)入票券的基本信息
進(jìn)入閘機(jī):持卡進(jìn)閘機(jī)
出閘機(jī):持卡出閘機(jī)
場(chǎng)館購(gòu)票:線上線下兩種形式,可以憑票或者線上二維碼等驗(yàn)票進(jìn)場(chǎng)
憑票換手牌,發(fā)手牌給消費(fèi)者,消費(fèi)者持手牌,進(jìn)閘機(jī), 閘機(jī)寫(xiě)卡數(shù)據(jù),入館時(shí)間=當(dāng)前時(shí)間
消費(fèi)者消費(fèi)完畢,準(zhǔn)備出閘機(jī)
閘機(jī)判斷消費(fèi)者是否超時(shí),當(dāng)前時(shí)間-入館時(shí)間>120 分鐘為超時(shí), 若消費(fèi)者玩了125分鐘,超時(shí)補(bǔ)票 30分鐘的票,重寫(xiě)手牌數(shù)據(jù) ,那卡內(nèi)時(shí)長(zhǎng)=120+30=150分鐘,再到閘機(jī)校驗(yàn)超時(shí)問(wèn)題。
沒(méi)有超時(shí),交手牌,開(kāi)門(mén)出,閘機(jī)將數(shù)據(jù)清除。
雪場(chǎng)、冰場(chǎng)購(gòu)票(租賃裝備)
場(chǎng)景:冰場(chǎng)票按時(shí)間計(jì)費(fèi), 一張票2小時(shí),超出需要補(bǔ)票才能出場(chǎng),進(jìn)場(chǎng)后租冰鞋,出場(chǎng)前還冰鞋。
1.消費(fèi)者 來(lái)場(chǎng)購(gòu)票,前臺(tái)售票
2.前臺(tái)寫(xiě)數(shù)據(jù)到手牌,時(shí)長(zhǎng)=120, 發(fā)手牌給消費(fèi)者
3.消費(fèi)者持手牌,進(jìn)閘機(jī), 閘機(jī)寫(xiě)卡數(shù)據(jù),入館時(shí)間=當(dāng)前時(shí)間
4.去租冰鞋,寫(xiě)卡租鞋=1
5.消費(fèi)者滑冰完畢,還冰鞋,寫(xiě)卡租鞋=0
6.出閘機(jī)判斷消費(fèi)者是否超時(shí),當(dāng)前時(shí)間-入館時(shí)間>120 分鐘為超時(shí), 若消費(fèi)者玩了125分鐘,超時(shí)補(bǔ)票 30分鐘的票,重寫(xiě)手牌數(shù)據(jù) ,那卡內(nèi)時(shí)長(zhǎng)=120+30=150分鐘
再到閘機(jī)校驗(yàn)超時(shí)問(wèn)題。
7.沒(méi)有超時(shí),已還冰鞋,交手牌,開(kāi)門(mén)出,閘機(jī)將數(shù)據(jù)清除。
單次消費(fèi)的超時(shí)邏輯
假設(shè) 票券時(shí)長(zhǎng) t=120分鐘, 緩沖分鐘數(shù)m=10 分鐘
那么時(shí)間分鐘數(shù) s < t+m 不算超時(shí), 如果 s>t+m 則超時(shí)分鐘數(shù) k=s-t
補(bǔ)票的時(shí)候,只能整數(shù)的補(bǔ),
清冰時(shí)間 A1-A2
時(shí)間滑冰時(shí)間為: B1-B2
如果 ,兩者有交集 , 則,實(shí)際的分鐘數(shù) 要補(bǔ)上交集的時(shí)間分鐘數(shù) 。
3.時(shí)間段進(jìn)場(chǎng)
場(chǎng)景:場(chǎng)次卡
按時(shí)間段進(jìn)入 ,比如上午場(chǎng) 08:00~12:00
下午場(chǎng) 13:00~18:00
晚上場(chǎng) 19:00~24:00
4.管理人員
場(chǎng)館管理人員,可以隨意進(jìn)出閘機(jī) ,例如,可以一直刷卡進(jìn)多個(gè)人,
5.卡片清理
即卡片的初始化,相當(dāng)于出閘機(jī)時(shí)卡片數(shù)據(jù)清零。
6.閘機(jī)監(jiān)控報(bào)表
記錄所有卡片的 進(jìn)出記錄
7.票的種類(lèi)
1.陪同票 ,不能領(lǐng)鞋滑冰,
2.通常票
8. 場(chǎng)館系統(tǒng)(票券設(shè)置)
要把票設(shè)置對(duì)應(yīng)的 ,業(yè)務(wù)類(lèi)型 ,計(jì)時(shí)類(lèi)型,補(bǔ)票方案等
補(bǔ)票的消費(fèi)項(xiàng)目為:超時(shí)補(bǔ)票
9. 開(kāi)始計(jì)時(shí),結(jié)束計(jì)時(shí)
開(kāi)始時(shí)間:包括 售票計(jì)時(shí)、進(jìn)場(chǎng)計(jì)時(shí)、租裝備計(jì)時(shí)。
結(jié)束計(jì)時(shí):包括 出閘機(jī)、還裝備 計(jì)時(shí)。
清冰時(shí)間段 : 比如冰場(chǎng)有清冰時(shí)間,不包括在滑冰的時(shí)長(zhǎng)中 。 實(shí)際時(shí)長(zhǎng)= 結(jié)束時(shí)間 - 開(kāi)始時(shí)間+ (開(kāi)始結(jié)束時(shí)間段與清冰時(shí)間段的交集時(shí)長(zhǎng))
二、閘機(jī)廠商
1 實(shí)現(xiàn)方案
網(wǎng)絡(luò)控制方式:系統(tǒng)與閘機(jī)在一個(gè)網(wǎng)絡(luò)中, 進(jìn)出閘機(jī)時(shí),閘機(jī)將卡片信息發(fā)送到系統(tǒng)服務(wù)端,由系統(tǒng)決定是否允許開(kāi)閘機(jī)門(mén)。 系統(tǒng)服務(wù)端只要判斷是否向閘機(jī)發(fā)送開(kāi)門(mén)指令即可。
方案簡(jiǎn)潔,靈活,但對(duì)網(wǎng)絡(luò)和系統(tǒng)要求較高 ,我們是云端系統(tǒng)不建議采用。
閘機(jī)還需要布網(wǎng)線。
寫(xiě)卡方式: 系統(tǒng)和閘機(jī)分離,通過(guò)事先定義好的業(yè)務(wù)規(guī)則,閘機(jī)讀取卡中數(shù)據(jù),判斷是否開(kāi)閘門(mén)。不需要聯(lián)網(wǎng),讀卡驗(yàn)證效率高。
業(yè)務(wù)規(guī)則整理清晰,根據(jù)個(gè)性就滿足業(yè)務(wù)需求,閘機(jī)廠家提供接口,實(shí)現(xiàn)起來(lái)迅速靈活。
閘機(jī)廠家溝通
閘機(jī)廠商要求:
1.提供卡規(guī)劃,數(shù)據(jù)協(xié)議
2.支持各種識(shí)別方式,可定制寫(xiě)入閘機(jī)端的邏輯,使用場(chǎng)景游泳館、冰場(chǎng)、雪場(chǎng)等多樣化
3.要考慮數(shù)據(jù)加密 ,密鑰
智能閘機(jī)選型:三輥閘、擺閘、翼閘、平移閘等
其他硬件:根據(jù)不同需求提供門(mén)禁機(jī)、人臉識(shí)別測(cè)溫設(shè)備、健康碼識(shí)別、人證核驗(yàn)等。
三、web 與 桌面外殼 數(shù)據(jù)通信技術(shù)方案
采用桌面程序外殼+內(nèi)嵌瀏覽器的方式實(shí)現(xiàn),外殼負(fù)責(zé)和本地程序,硬件的交互與控制 ;內(nèi)嵌瀏覽器負(fù)責(zé)場(chǎng)館系統(tǒng)的功能。 外殼和內(nèi)嵌的數(shù)據(jù)交互,相互調(diào)用。
四、數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)采用json格式存儲(chǔ)、傳輸。
五、 業(yè)務(wù)邏輯
1.先判斷版本號(hào),不同版本可能會(huì)有不同的處理邏輯
2.按卡類(lèi)型,處理邏輯
3.超時(shí)計(jì)算的開(kāi)始時(shí)間,要根據(jù)tt的類(lèi)型來(lái)定 。
六、技術(shù)方案
閘機(jī)的控制器可以配置,服務(wù)端的ip 和port
讀頭可以設(shè)置,讀取卡片的某個(gè)扇區(qū)的數(shù)值。
采用cs 架構(gòu),socket 協(xié)議 ,閘機(jī)作為客戶端向服務(wù)端發(fā)數(shù)據(jù),校驗(yàn)是否開(kāi)閘機(jī)門(mén)。
采用Netty 來(lái)構(gòu)建系統(tǒng)
業(yè)務(wù)流程說(shuō)明
相關(guān)系統(tǒng)常量配置:
讀卡器類(lèi)型:可選
有閘機(jī)購(gòu)票的流程
1.系統(tǒng)進(jìn)入默認(rèn)選中 會(huì)員卡輸入的輸入框
2.拿會(huì)員卡 接觸讀卡器,自動(dòng)寫(xiě)入到會(huì)員卡輸入框,并查詢出相關(guān)信息,顯示;如果手動(dòng)錄入會(huì)員卡 ,點(diǎn)查詢效果一致。
3.選擇 票券列表中的票, 拿手牌接觸讀卡器, 系統(tǒng)向閘機(jī)服務(wù)器發(fā)送物理卡號(hào),讀出對(duì)應(yīng)手牌信息,如果狀態(tài)正常,比如物理卡號(hào)234234555,對(duì)應(yīng)手牌號(hào)002,刷手牌后,檢測(cè)到狀態(tài)為空閑,就向已選票區(qū)域,增加一張票,手牌號(hào)為002
4.刷第二個(gè)手牌 ,增加第二張票
5.如果,手牌不是ic卡的情況,比如只是一把鑰匙 ,沒(méi)有物理卡號(hào)讀出,這種情況需要手動(dòng)錄入 手牌號(hào)002 ,回車(chē),自動(dòng)檢測(cè)狀態(tài),正常加入列表。
6.選擇區(qū)域的手牌號(hào)不能重復(fù),
7.手牌號(hào)不錄入,也可以加入到選中列表中,比如 游泳兒童票只要有大人的手牌就夠了 ,2個(gè)人用一個(gè)儲(chǔ)物柜
8.票券列表,要根據(jù)情況來(lái)篩選可銷(xiāo)售的票,比如時(shí)段票,就只顯示時(shí)間段內(nèi)的 可銷(xiāo)售的票 。
9."確認(rèn)支付"的時(shí)候,票寫(xiě)入云端場(chǎng)館成功后, 再寫(xiě)數(shù)據(jù)到,本地閘機(jī)數(shù)據(jù)庫(kù) ,
如果寫(xiě)本地?cái)?shù)據(jù)庫(kù)成功,最終提示成功。
如果寫(xiě)本地?cái)?shù)據(jù)庫(kù)失敗,跳轉(zhuǎn)到另外一個(gè)界面,顯示訂單信息,重新寫(xiě)本地。
10.錄入手牌的位置,可以刷手牌(根據(jù)物理卡號(hào)),也可以直接錄入手牌號(hào) ,加入票。 再調(diào)用本地閘機(jī)服務(wù)接口判斷手牌的狀態(tài)。
空閑手牌可以賣(mài)票,加入到售票列表中, 使用中的手牌不能賣(mài)票,不能加入到售票列表中。
游泳健身體育場(chǎng)館智能閘機(jī)出入口解決方案有多種形式,我們會(huì)根據(jù)不同要求來(lái)定制。像三輥閘、擺閘、翼閘等不同設(shè)備也會(huì)出現(xiàn)不同的定制款。