前后端分离式开发已经流行了好几年了,不过我一直没有自己开发一个完整的应用,最近在学习angular,利用此技术实现了一个小demo,欢迎大家拍砖!
模型设计 旅馆管理系统,主要涉及到登记入住,退房以及客房和客人信息管理;经过分析抽像出涉及到的实体以及各实体之间的关系:
可以看出整个业务以客房为中心,入住,退房,定价,收费都是以客房为基本单位,所以需要以客房为中心来设计各实体之间的关系。
我们来看一下,各实体中的字段以及各实体之间的关系图:
业务流程 登记入住 退房 管理 客房信息管理 客人信息管理 页面设计 登记入住 退房 管理 客房信息管理 增加客房 更改房型 床铺管理 更改可预订状态 客人信息管理 功能设计 登记入住
使用背景
登记功能是当客人来办理入住时使用,需要填写客人的基本信息,入住客房以及入住日期等信息。
主要逻辑
用户在填写客人信息时,前端会对相应数据的有效性进行校验,主要校验包括:
填写过程中需要对填写的信息进行有效性校验,比如身份证号/手机号等;
入住日期的选择需要根据所入住的房型来决定是选择到天还是到分钟,而且选择的日期不能晚于当天。
后端也会对进行有效性以及其它的一些判断:
也需要对传入的身份证号/手机号进行相同校验.
判断入住的客房是否存在,所选的客房是否是不可订,所选客房是否有床铺和价格
身份证号的客人是否存在多个以及相同身份证号不能两次登记入住同一房间等
还有一些铺助功能,方便用户使用,减少错误,提高效率:
前端用户在输入客房号时,会有一个下拉帮助框,显示客房的状态,房型等信息,有助于用户简间明了解所入住客房状态;
当用户选择的是已经有客的客户时,日期则变为灰色,自动显示客房当前的入住和退房时间,不可更改。