![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
瑞吉外卖项目
小杰不想秃头
java小萌新
展开
-
前后端分离开发
什么是前后端分离开发?前后端分离开发,就是在项目开发过程中,对于前端的代码专门由前端的开发人员开发,后端代码由后端人员负责,这样可以做到分工明确、各司其职,进而提高开发效率,前后端代码并行开发,加快项目的开发进度。目前前后端分离被各大公司使用,成为项目开发的主流开发方式。前后端分离开发后,工程结构也会发生变化,即前后端代码不会混在同一个maven工程中,而是分为前端工程和后端工程。后端:负责处理、存储数据。前端:负责显示数据。后端工程——>打包部署到tomcat。前端工程——>打包原创 2022-05-29 08:43:19 · 4171 阅读 · 0 评论 -
基于SpringCache缓存套餐数据
缓存套餐数据实现思路前面实现了移动端套餐查看功能,对应的服务端方法为SetmealController的list方法,此方法会根据前端提供的查询条件进行数据库的查询操作。在高并发的情况下会影响系统性能,所以使用SpringCache和redis进行缓存优化,提高系统的性能。导入相关坐标。在配置文件中配置缓存数据的过期时间。在启动类加入@EnableCaching注解,开启缓存注解功能。在list方法上加上@Cacheable注解。在save、delete方法上加上@CacheEvict注解。原创 2022-05-26 10:33:55 · 185 阅读 · 0 评论 -
瑞吉外卖(优化)——缓存菜品数据
实现思路前面已经实现了移动端菜品查看功能,对应的服务端方法为DishController中的list方法,此方法会根据前端提供的查询条件进行数据库的查询操作。在高并发的情况下频繁的查询数据库会造成系统性能的下降,服务器响应时间增长,客户体验差。现在要对此方法进行缓存优化,提高系统的性能。具体思路:改造list方法,先从redis中读取数据,如果有则直接返回;如果redis中没有数据,则进行数据库的查询,并将查询到的菜品数据放入redis。改造DishController中的save和update方原创 2022-05-20 12:17:48 · 490 阅读 · 1 评论 -
瑞吉外卖——用户下单
需求分析移动端用户将菜品或套餐加入购物车后,点击去结算按钮,页面跳转到订单确认页面,点击去支付按钮则完成下单操作。数据模型orders:订单表。order_detail:订单明细表。代码开发梳理交互过程在代码开发前,让我们先梳理下前端页面和服务端的交互过程:在购物车页面中点击去结算按钮,页面跳转到订单确认页面。在订单确认页面发送ajax请求,请求服务端获取当前登录用户的默认地址。在订单确认页面发送ajax请求,请求服务端获取当前登录用户的购物车数据。在订单确认页面,点击去支付按钮,请原创 2022-05-09 18:27:46 · 1385 阅读 · 0 评论 -
瑞吉外卖——个人中心退出功能(移动端)
需求分析用户点击退出登录按钮,发送ajax请求,用户退出移动端登录。数据模型需要操作user表。代码开发 /** * 退出登录 * @param session * @return */ @PostMapping("/loginout") public R<String> loginout(HttpSession session){ //清除session中的id。 session.removeAttribute("user");原创 2022-05-09 16:08:21 · 814 阅读 · 0 评论 -
瑞吉外卖——购物车(移动端)
需求分析移动端用户可以将菜品或套餐加入购物车。对于菜品来说,如果添加了菜品口味信息,则需要选择规格后才能加入购物车;对于套餐来说,可以直接点击加号将当前套餐加入购物车。在购物车中可以修改套餐或菜品的数量,也可以清空购物车。数据模型需要操作shopping_cart表。代码开发前后端交互过程:点击加入购物车或者加号按钮,页面发送ajax请求,将菜品或套餐加入购物车。点击购物车按钮,页面发送ajax请求,查询购物车中的菜品或套餐信息。点击清空发购物车按钮,页面发送ajax请求,请求服务端清空购原创 2022-05-09 14:49:11 · 1166 阅读 · 0 评论 -
瑞吉外卖——菜品展示功能(移动端)
需求分析用户登录成功后跳转到系统首页,在首页需要根据菜品和套餐分类展示对应的菜品信息,如果菜品有对应的口味,用户可以通过选择规格按钮来选择读音的口味和规格。代码开发页面和服务端交互过程:页面发送ajax请求,获取分类数据(菜品分类和套餐分类)。页面发送ajax请求,获取第一个分类或套餐下的菜品。注意:首次加载完成后还发送了一次请求用于加载购物车数据,此处将请求地址暂时修改,从静态json文件获取,后续再返回修改。功能测试祝你:吉时吉日喜如风,丰年丰月如风增,争富争财争长原创 2022-05-08 11:58:45 · 1293 阅读 · 0 评论 -
瑞吉外卖项目——导入相关地址簿(移动端开发)
需求分析地址薄指的是,移动端消费者用户的地址信息,用户登录成功后可以维护自己的地址信息,同一个用户可以有多个地址信心,但是只能有一个默认地址。数据模型涉及表address_book表。代码开发搭建基本的结构功能测试祝你:吉时吉日喜如风,丰年丰月如风增,争富争财争长寿,寿山寿海寿长生,生富生才生贵子,子孝孙贤代代荣,荣华富贵年年有,有钱有势有前程!祝你:吃不愁穿不愁,不住平方住高楼,天天潇洒,夜夜温柔,买卖如同长江水,生活如同井上花,大财小财天天进,一顺百顺发发发!点点关注不迷路,感谢老铁原创 2022-05-07 17:17:05 · 914 阅读 · 0 评论 -
瑞吉外卖项目——手机验证码登录
需求分析为了方便用户,移动端通常会提供通过手机验证码登录。手机验证码登录的优点:方便、快捷,无需注册,直接登录。使用短信验证码登录,无需记忆密码。安全。登录流程:用户输入手机号->获取验证码->输入验证码->点击登录->登录成功。注意:通过手机验证码登录,手机号是区分不同用户的标识。代码开发数据模型涉及到user表。功能测试...原创 2022-05-06 13:09:25 · 2102 阅读 · 2 评论 -
瑞吉外卖项目——订单明细分页查询
需求分析当用户点击订单明细时会显示客户的订单信息,包括订单所对应的菜品信息。代码开发搭建基本环境:mapper、entity、service、controller。controller层 /** * 订单分页查询 * * @param page * @param pageSize * @param number * @return */ @GetMapping("/page") public R<Page<Orders>&g原创 2022-05-05 14:50:31 · 4705 阅读 · 7 评论 -
瑞吉外卖项目——修改套餐功能
需求分析用户点击修改按钮,跳转到修改界面(和新增界面相仿),当用户填入相应信息后,点击保存按钮,会把这条套餐信息进行更改。代码开发后端主要处理两个请求:当点击修改按钮时,前端发送ajax请求,请求服务端以进行套餐数据的回显。controller层 /** * 根据id查询套餐信息 *(套餐信息的回显) * @param id * @return */ @GetMapping("/{id}") public R<SetmealDto> g原创 2022-05-04 18:20:29 · 2785 阅读 · 3 评论 -
瑞吉外卖项目——修改套餐状态功能
代码开发// 修改setmeal表,id在ids中的status,为前端url传来的status。update setmeal set status where id in ()controller层 /** * 修改套餐状态。 * * @param status * @param ids * @return */ @PostMapping("/status/{status}") public R<String> updateStatus原创 2022-05-04 16:14:23 · 1132 阅读 · 1 评论 -
瑞吉外卖项目——删除和批量删除菜品功能
需求分析(同套餐删除)观察删除的交互过程(单个删除和批量删除),可以发现两次请求的请求方式和请求地址都是相同的,不同的则是传递的id个数,所以可以在服务提供一个方法来做统一处理。代码开发controller层 /** * 根据id删除一个或批量删除菜品。 * * @param ids 待删除的菜品id。 * @return */ @DeleteMapping public R<String> delete(@RequestParam Lis原创 2022-05-04 11:09:16 · 2705 阅读 · 3 评论 -
瑞吉外卖项目——删除和批量删除套餐功能
代码开发前后端发交互前端携带id发送请求,请求服务端。服务端接收id,根据id删除对应的套餐。controller层 /** * 根据id删除套餐信息。(删除一个或者批量删除) * * @param ids * @return */ @DeleteMapping public R<String> delete(Long[] ids) { // 接收的id成功。 log.info("根据id删除套餐信息{}", ids);原创 2022-05-04 08:45:52 · 1886 阅读 · 0 评论 -
瑞吉外卖项目——起售、停售和批量起售、停售菜品功能
需求分析当点击停售按钮时菜品无法售卖。选中多个菜品时点击批量停售,这些选择的菜品停止售卖。祝你:吉时吉日喜如风,丰年丰月如风增,争富争财争长寿,寿山寿海寿长生,生富生才生贵子,子孝孙贤代代荣,荣华富贵年年有,有钱有势有前程!祝你:吃不愁穿不愁,不住平方住高楼,天天潇洒,夜夜温柔,买卖如同长江水,生活如同井上花,大财小财天天进,一顺百顺发发发!点点关注不迷路,感谢老铁的关注。...原创 2022-05-03 17:07:03 · 9491 阅读 · 11 评论 -
瑞吉外卖项目——套餐信息分页功能
需求在页面显示套餐的各个信息。代码开发前后端交互过程页面发送ajax请求,将分页的数据发送到服务端,服务端接收数据进行分页查询。页面发送请求,进行图片的下载用于页面的图片展示。需要操作的表:setmeal表、category表。映射实体类用setmealDto。进行分页查询。1、创建dto的分页page对象。2、把setmea的page对象内容拷贝到dto的分页page对象中,注意:records属性不要拷贝,因为它们的泛型不同,所以需要单独处理。3、取出dto的分页page对象中查原创 2022-05-03 15:53:52 · 404 阅读 · 1 评论 -
瑞吉外卖项目——新增套餐
需求分析套餐就是菜品的集合。代码开发功能测试原创 2022-05-03 13:15:50 · 620 阅读 · 0 评论 -
瑞吉外卖项目——删除菜品
代码开发前后端交互过程前端发送删除请求,发送id到服务端。服务端接收请求后调用service删除菜品。service调用mapper删除数据库相应的菜品。用Long数组接收前端的多个ids。 /** * 根据id删除一个或批量删除菜品。 * * @param ids * @return */ @DeleteMapping public R<String> delete(Long[] ids) { // 增加日志验证是否接收到前端原创 2022-05-01 11:03:05 · 1681 阅读 · 0 评论 -
瑞吉外卖项目——修改菜品
外卖业务开发原创 2022-04-29 18:35:17 · 1302 阅读 · 0 评论 -
瑞吉外卖项目——菜品信息分页查询
外卖项目原创 2022-04-29 10:59:09 · 561 阅读 · 1 评论 -
瑞吉外卖项目——新增菜品
需求分析后台系统可以管理菜品信息,可以通过新增功能来增加一个菜品,在添加菜品时需要选择一个菜品所属的分类,并且需要上传菜品图片。搭建类和基本结构实体类mapper层业务层service接口和接口实现类controller层前后端交互过程:...原创 2022-04-28 20:55:32 · 651 阅读 · 0 评论 -
瑞吉外卖项目——文件上传和下载
文件上传文件下载原创 2022-04-28 17:05:06 · 394 阅读 · 0 评论 -
瑞吉外卖项目——修改分类
外卖项目原创 2022-04-27 20:32:55 · 152 阅读 · 0 评论 -
瑞吉外卖项目——删除分类
外卖项目原创 2022-04-27 18:19:34 · 636 阅读 · 1 评论 -
瑞吉外卖项目——分类信息分页查询
外卖项目原创 2022-04-27 13:59:00 · 587 阅读 · 0 评论 -
瑞吉外卖项目——新增分类
一、在开发业务功能前把需要用到的类和接口搭建好:实体类Category。Mapper接口CategoryMapper。业务层接口CategoryService。业务层实现类CategoryServiceImpl。控制层CategoryController。(注入CategoryService)二、梳理整个程序的执行过程。页面通过ajax请求,把新增分类的窗口数据提交到服务端。新增菜品分类和新增套餐相同地址,可以放到一个处理方法中。服务端controller接收到请求和数据,调用ser原创 2022-04-27 13:39:06 · 1229 阅读 · 0 评论