就餐卡系统第一周作业「架构师训练营第 1 期」
设计概述
就餐卡系统是为规范食堂收银的方式,减少各种商家窗口现金交易,提高付款效率
1.1. 功能概述
系统主要由管理员,消费者,服务员三种角色使用,管理员可以注册新卡,消卡,充值,查看余额,查看交易记录,打印统计记录。服务员可以查询卡余额,消费扣款。消费者可以申请办卡,退卡,充值,刷卡消费,查看余额功能
2. 系统用例
系统主要由5个角色使用,三个人员分别为管理员,服务员,消费者。2个硬件角色读卡器,收款机。各类角色用例如下图所示
3. 系统部署图与整体设计
3.1. 系统部署图
整个系统由卡系统,mysql数据库,卡系统管理界面,收款机,读卡器组成。
收款机内置流量卡,可以通过5G/4G/3G网络连接卡系统。也可以使用有线网络或是WIFI方式连接卡系统。两者之者连接使用https加密传输交易数据。
读卡器通过USB线连接卡系统,卡系统使用通过厂商提供的驱动程序读写就餐卡内数据。
卡系统与消息中间件,数据库部署到云服务器上,两者为同一个局域网内,卡系统都通过jbdc连接mysql数据库,对外通过浏览器访问卡系统管理界面的功能。
3.2. 卡系统组件图
卡系统由交易组件,用户组件,就餐卡组件组成。交易组件提供接收交易数据的接口,收款机确认一笔交易记录后,会即时上传交易记录到交易组件。交易组件依赖就餐卡与用户数据。
通过读卡器与就餐卡组件连接,可以读写卡内数据。
3.2.1 办卡申请组件时序图
申请办卡时,管理员通过读卡器读写餐卡,记录消费者信息与金额信息
3.2.2 刷卡消费组件时序图
收款机扣款成功后显示余额,收款机定时上传交易记录,卡系统交易接收接口收到数据后,先保存到消息中间件中,然后通知收款机已接收成功。
交易模块取出消息队列中的交易数据,进行用户与就餐卡的数据校验,不合法数据则打上标识,更新计算就餐卡的余额,最终交易记录保存到数据库中。
为了保证刷卡机器不过于依赖网络,刷卡交易不必进行实时校验,卡内数据通过特定的加密算法保证数据安全。如果出现校验数据错误,属于事后人工处理方式。
版权声明: 本文为 InfoQ 作者【天天向善】的原创文章。
原文链接:【http://xie.infoq.cn/article/a797a698d4f470d4204898c09】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论