571
社区成员
发帖
与我相关
我的任务
分享在线订餐系统是具有较为完整的购买美食流程、食品管理、订单处理流程的并且提供给消费者PC Web端,移动 App端,微信小程序端多种使用方式,提供给在线订餐管理人员相应的管理接口的一个系统。主要包括本系统主要包括:用户点餐(PC、移动、小程序)、商家管理、骑手送餐三部分。
在技术上,前后端分离方式开发,涉及到 Web 前端开发、 Java 服务端开发。系统支持数据、应用、管理维护层的分布或集中处理的部署,完成业务功能,提供了分析、设计、开发、测试、部署以及项目管理等方面的完整参考实现。
本系统主要包括:用户点餐(PC、移动、小程序)、商家管理、骑手送餐三部分。
用户注册、登录系统,可以选择自己喜欢的菜品,加入购物车,当选择完毕之后,点击结算下单。下完单之后,可以在“我的订单”之中查看自己的订单的信息,并且可以对订单进行催单、退款、评价等操作,会从数据库调取菜品信息、用户信息、评价信息、反馈信息、订单信息等数据。
商家部分除了菜品管理、人事管理、评价管理、优惠管理、会员管理、收支管理、权限管理、餐位管理等,餐位、菜品员工、骑手等信息需要录入,同时例如在菜品管理 也会从数据库调取信息。
具体的业务分析如下图所示:

在线订餐系统,进行经分析,用例图如下,其中有商家、骑手、顾客三个参与者;商家有涉及到登录、人员管理、菜品管理、评价管理、订单管理、反馈管理,骑手有配送、信息管理、骑手登录三个用例,顾客有评价管理、订单管理、反馈管理、登录四大部分。
用例图:

功能模块图:

前端架构:
store进行Vuex状态管理,router是前端路由,view是各个业务页面,component存放通用组件,util层存放项目全局的工具函数,service层处理服务端返回的数据,即当其调用了不同的api,就会把不同的返回数据整合在一起在统一发送到 store 中。

后端架构:
我们采用了ssm框架,使用springboost进行项目构建,使用数据库Oracle数据库,项目结构具体分为了数据层、持久层、访问层、业务层和控制层,辅以长连接、Aop面向切面编程。


我的订单部分的查看全部的订单的用例图:用户登录之后,创建订单,进入到“我的订单”之后,可以查看所有的订单的列表,当点击某个订单之后,订单的ID会传回后台,然后可以根据ID查到订单的详细信息,在返回给前端的用户。

订单评价:
订单的评价的时序图,因为退款等的业务流程和评价相类似,因此就以评价为例。
用户登陆之后,可以获取到订单的详细信息,然后向后端发送评价的请求,并且发送数据,后端收到数据,建立review,并且向前端返回创建的结果。前端收到结果显示。

数据库设计的E-R图如下所示,我们对订单和菜品建立了orderItem用来表示每个菜的信息,就是一个订单有多个Item;同时budget部分也采用这个格式。

其中我们的数据库表的设计,以订单为例进行展示,订单的主键是订单ID,外键有用户ID、满减ID、餐位ID、配送ID等,通过这些外键来建立表与表之间的联系。

作者:527