葛曉健
摘要:以購物中心行業(yè)為背景,針對銷售中出現(xiàn)的種類繁多的支付方式,提出了具備多種支付方式的組合支付功能和掛單功能的收銀終端的一種設(shè)計與實現(xiàn)方法?;贛VP分層架構(gòu)和面向?qū)ο蟮脑O(shè)計方法,詳細介紹了系統(tǒng)的功能模塊劃分、各功能模塊的設(shè)計及部分功能的實現(xiàn)。對收銀終端的商品查詢、組合支付、打印及掛單功能做了實現(xiàn)與測試,對Android設(shè)備與外設(shè)打印機的通信過程及使用做了詳細的介紹。
關(guān)鍵詞:智能;商品;管理;支付
中圖分類號:TP273文獻標志碼:A文章編號:1008-1739(2019)11-66-3
0引言
購物中心行業(yè)已成為全球最重要的零售經(jīng)營方式之一,而且遠突破商品零售的界限。它對一個城市商業(yè)環(huán)境的改善、消費與休閑方式的改變、投資結(jié)構(gòu)的優(yōu)化以及對經(jīng)濟繁榮的貢獻等越來越顯示出它的重要性和生命力。
購物中心行業(yè)的快速發(fā)展對市場管理提出了更高的要求,消費者要求購物過程更快捷,然而持續(xù)增加的客流量對這一要求提出了巨大的挑戰(zhàn)。購物中心的收銀與結(jié)算只是商場管理的一方面,提高收銀的速度和便捷性,可以明顯提升消費者的購物體驗,為此開發(fā)了這套收銀系統(tǒng)。
1系統(tǒng)總體設(shè)計
收銀系統(tǒng)的主要功能是支付、商品查詢、掛單及打印等,如圖1所示。
①系統(tǒng)支付主要有微信、支付寶和現(xiàn)金支付3種;
②商品查詢主要通過掃描設(shè)備讀取商品信息,包括條碼和二維碼掃描,并提供手動輸入商品信息的查詢接口;
③打印機是收銀終端連接的外部設(shè)備,用于打印商品信息、用戶支付信息以及商品退貨憑證等;
④掛單是在收銀過程中經(jīng)常出現(xiàn)的現(xiàn)象,系統(tǒng)對此作了相應(yīng)的設(shè)計,允許顧客臨時暫停并后續(xù)繼續(xù)支付。
2系統(tǒng)設(shè)計與實現(xiàn)
系統(tǒng)最重要的功能是多種方式的組合支付功能,組合支付允許顧客同時使用3種支付方式,每種支付方式只支付部分金額,多樣化的支付方式滿足了有著不同付款習(xí)慣的顧客,但對收銀系統(tǒng)的設(shè)計提出了更為復(fù)雜的要求。
2.1支付流程
(1)商品信息及支付信息提交流程
系統(tǒng)要滿足組合支付的需求,應(yīng)分步提交商品信息和支付信息。商品信息包含顧客購買的商品條碼和數(shù)量,如果顧客購買的東西足夠多,這可能是一個很大的數(shù)據(jù)。在完成電子或現(xiàn)金支付前,這些數(shù)據(jù)先上傳到服務(wù)器,因為一旦在支付后再上傳數(shù)據(jù),這些數(shù)據(jù)在上傳過程中若發(fā)生丟失,有可能是永久性的。
因此,應(yīng)首先將訂單信息,包括商品條碼和商品數(shù)量提交到服務(wù)器。服務(wù)器收到商品信息數(shù)據(jù)后保存到數(shù)據(jù)庫并生成訂單號,將訂單號返回收銀終端,收銀終端再提交支付信息,包括支付寶或微信付款碼、訂單號、售貨員編號和支付金額等;支付信息先發(fā)送給商戶服務(wù)器,由商戶服務(wù)器轉(zhuǎn)發(fā)給支付寶或微信服務(wù)器,最后逐步返回支付結(jié)果,數(shù)據(jù)提交流程如圖2所示。
(3)支付寶支付
支付前系統(tǒng)已經(jīng)提交了商品信息,在提交商品信息成功后,服務(wù)器將返回訂單的訂單號。訂單號是由服務(wù)器生成的系統(tǒng)唯一字符串,支付時必須向服務(wù)器提交3種數(shù)據(jù),分別是訂單號、支付金額、顧客付款碼和售貨員編號等,支付流程如圖3所示。
提交支付信息的關(guān)鍵代碼如下所示。支付結(jié)果返回到收銀終端時,支付成功會調(diào)用onResponse方法,支付失敗則調(diào)用onFailure方法,收銀終端分別在2個回調(diào)方法處理相應(yīng)的邏輯。
2.2掛單
掛單的主要功能是保存訂單信息到本地收銀終端和讀取本地收銀終端的訂單信息。
保存信息首先將存有訂單信息的數(shù)組序列化為字符串,然后將字符串保存到磁盤;讀取信息與保存信息的過程相反,先讀取磁盤的字符串,然后將字符串反序列化為數(shù)組。關(guān)鍵代碼如下所示。
2.3打印
(1)打印機連接
打印機是收銀終端通過USB接口連接的外部設(shè)備,要與其進行通訊,首先應(yīng)找到打印機的USB接口,與USB接口建立連接。每一種型號的打印機都有唯一的idProduct和idVendor,Android系統(tǒng)提供的UsbManager類可以查找當前終端所有通過USB連接的外部設(shè)備,并查看USB外部設(shè)備的idProduct和idVendor。系統(tǒng)使用的打印機型號分別是EPSON TM-U330D和EPSON TM-T60,其idProduct和idVendor如表1所示。使用UsbManager遍歷當前設(shè)備連接的所有USB接口,根據(jù)idProduct和idVendor判斷該USB接口是否是打印機。找到打印機的接口后,向該接口發(fā)送建立連接的指令,即收銀終端與打印機的通信信道建立完成。
(2)打印機指令
打印機指令是控制打印機的一套指令集,對打印內(nèi)容、頁面設(shè)置、打印機走紙及切紙等以16進制的字符進行編碼,將此編碼通過已經(jīng)與打印機建立的連接發(fā)送給打印機,打印機解析這些指令編碼并執(zhí)行相應(yīng)的操作。
3結(jié)束語
在系統(tǒng)設(shè)計與實現(xiàn)過程中,主要介紹了購物中心銷售系統(tǒng)終端的設(shè)計,包括功能與模塊設(shè)計。針對微信和支付寶等手機支付功能、掛單功能以及打印機控制等做了詳細設(shè)計與實現(xiàn)。基于Android的收銀終端在使用過程中比傳統(tǒng)的收銀設(shè)備更小巧,占用空間更小,而且系統(tǒng)的交互設(shè)計更為友好。
參考文獻
[1]韓建林.基于Android的移動學(xué)習(xí)平臺的研究與設(shè)計[J].電子技術(shù)與軟件工程,2018(4):47-48.
[2]王小偉.AES加密算法的研究與IP核設(shè)計實現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2013.
[3]曾健平,邵艷潔.Android系統(tǒng)架構(gòu)及應(yīng)用程序開發(fā)研究[J].微計算機信息,2011,27(9):1-3.
[4]夏小正.完美的移動智能終端[J].互聯(lián)網(wǎng)天地,2009(8): 36-37.
[5]蓋索林,王世江.Android開發(fā)入門指南[M].北京:人民郵電出版社,2009.
[6]余志龍.Google Android SDK開發(fā)范例大全[M].北京:人民郵電出版社,2010.