17. 项目参与人员角色
-
项目经理(1人):对整个项目负责,任务分配、把控进度
-
产品经理(1人):进行需求调研,输出需求调研文档、产品原型等
-
UI设计师(1人):根据产品原型输出界面效果图
-
架构师(0人):项目整体架构设计、技术选型等
-
开发工程师(3+2):功能代码实现
-
测试工程师(2人):编写测试用例,输出测试报告
-
运维工程师(1人):软件环境搭建、项目上线
18. git在工作中的使用流程
我在工作中对于git的使用,可分为以下几个步骤:
-
首先,每天上班之后,我会从公司远程仓库中进行拉取(pull),以保证本地项目和远程仓库项目进度一致
-
然后,在本地的开发分支上新建一个当天的分支,进行代码开发
开发过程中一般在完成某功能或某一模块时,进行本地提交(commit)
-
结束一天工作后,先将本地新分支的代码合并到开发分支
-
最后,提交(push)到远程仓库前,先进行拉取(pull),如果有冲突,就先进行冲突解决,解决完毕之后,再push
19. 介绍一下苍穹外卖项目
本项目是专门为一家餐厅定制的一款软件产品,主要包含包括 系统管理端
和 小程序端
两部分
系统管理端提供给餐饮企业内部员工使用,可以对餐厅的分类、菜品、套餐、订单、员工等进行管理维护
小程序端提供给消费者使用,可以在线浏览菜品、添加购物车、下单、支付、催单等操作
我在这个项目中主要负责后端分类、套餐、菜品模块和小程序端的所有功能
20. 苍穹外卖核心功能
菜品新增:对菜品表和口味表进行新增操作
- 首先将前端传过来的菜品信息保存到菜品表并主键返回,然后遍历前端传过来的口味集合,
- 为每个口味设置刚才返回来的主键并保存到口味表
菜品修改:对菜品表进行更新,对菜品详情表进行增删操作
- 首先根据前端传过来的菜品信息对菜品表进行修改
- 然后根据菜品id删除对应的口味列表集合
- 最后再把前端传过来的口味集合重新加入到口味表中
菜品删除:对菜品表和口味表进行删除操作
- 遍历前端传过来的菜品id集合得到每个菜品的信息
- 如果当前菜品是启售状态或者被套餐关联那么就不能被删除
- 否则就可以通过菜品id对菜品表和口味表中的数据进行删除
套餐新增:对套餐表和套餐菜品关系表进行新增操作
- 首先将前端传过来的套餐基本信息保存到套餐表中,并返回主键的id
- 然后为前端传过来的套餐菜品设置套餐id
- 最后将套餐包含的菜品添加到套餐菜品关系表中
套餐修改:对套餐表进行修改,在对套餐菜品关系表进行增删操作
- 首先根据前端传过来的套餐基本信息更新到套餐表中
- 然后根据套餐的id删除所有套餐菜品关系表中包含的菜品信息
- 最后遍历前端传过来的菜品的列表,设置好套餐的id后重新保存到套餐菜品关系表中
套餐删除:对套餐表和套餐菜品关系表进行删除操作
- 首先遍历前端传过来套餐id的集合得到每一个套餐的信息
- 然后根据id查询套餐,判断套餐的状态是否为启售状态,如果是启售状态,则不能删除
- 如果是在禁售状态,就可以通过套餐的id进行套餐菜品关系表的删除操作
分类删除
- 分类删除的核心逻辑就是根据前端传过来的分类id去分类表进行一个删除操作
- 但是要对这个分类里面是否有菜品和套餐做一个判断,拿着这个id去菜品表和套餐表做一个统计查询
- 如果查出来数量大于0,就不能删除,如果为0,直接删除
添加购物车:将用户选择的商品基本数据信息添加到数据库表中进行保存
-
利用到的数据库表(本次项目):购物车表,菜品表、套餐表,保存的信息就是从表中查到的
-
首先根据id查询购物车中是否有相同商品
有:则不用添加,只修改查询到的商品number属性+1并重新赋值即可,执行mapper更新。
无:则判断是菜品还是套餐,查询对应商品的数据库得到基本信息,补全购物车需要的参数执行保存。
公共问题
- 在这个项目中主要负责的模块是什么?
- 项目中哪些表是你负责设计的? 它们之间的关系是什么?