• j3_liuliang
  • 经过前期的一系列的准备之后,现在终于是到了开发业务功能的时候了,本篇开始开发和文件上传相关的厨艺秀图片相关功能

项目相关文章导航:

  1. 快捷点餐项目简介
  2. 餐饮系统设计概括
  3. 餐饮系统店家后端基础功能构建
  4. 快捷餐饮之店家后台OSS文件管理实现
  5. 快捷餐饮之店家后台厨艺秀实现
  6. 快捷餐饮之店家后台菜品分类及菜品管理实现
  7. 快捷餐饮之店家后台评论管理及餐桌管理实现
  8. 下期实现订单相关功能

项目Git地址: 点这里哦!

由于前期我们做过了代码生成器,所以本项目的相关控制器,业务类及mapper都创建完成了,我们现在需要做的就是在里面实现我们自己相关的业务逻辑就可以了;

一、创建用于显示到前端的厨艺秀DTO

名称:CookingSkillImagesDTO

/*** @Package: cn.liuliang.quickdinesysstore.entity.dto* @Author: liuliang* @CreateTime: 2020/10/28 - 13:56* @Description: 厨艺秀展示dto*/
@Data
@ApiModel(value="厨艺秀展示dto", description="")
public class CookingSkillImagesDTO implements Serializable {private static final long serialVersionUID=1L;@ApiModelProperty(value = "ID")private Long id;@ApiModelProperty(value = "照片url")private String imageUrl;
}

二、编写Controller

名称:CookingSkillImagesController

/*** <p>* 前端控制器:图片秀管理控制器* </p>** @author j3_liuliang* @since 2020-10-24*/
@Api(value = "厨艺秀图片管理", tags = "厨艺秀图片管理")
@CrossOrigin
@RestController
@RequestMapping("/cooking-skill-images")
public class CookingSkillImagesController {@Autowiredprivate CookingSkillImagesService cookingSkillImagesService;@ApiOperation(value = "分页查看所有厨艺秀图片", notes = "分页查看所有厨艺秀图片")@ApiResponses({@ApiResponse(code = 200, message = "请求成功!", response = CookingSkillImagesDTO.class)})@GetMapping("/select-all")public ResultDTO selectAllCookingSkillImages(@ApiParam("当前页码") @RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,@ApiParam("每页显示条数") @RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) {return cookingSkillImagesService.selectPage(pageNum, pageSize);}@ApiOperation(value = "添加厨艺秀照片", notes = "添加厨艺秀照片")@PostMapping("/add")public ResultDTO addCookingSkillImages(@ApiParam("图片url数组") @RequestParam(value = "imageUrls", required = true) String[] imageUrls) {return cookingSkillImagesService.addCookingSkillImages(imageUrls);}@ApiOperation(value = "删除厨艺秀照片", notes = "删除厨艺秀照片")@PostMapping("/delete")public ResultDTO delete(@ApiParam("图片id") @RequestParam(value = "id", required = true) Long id,@ApiParam("图片url") @RequestParam(value = "url", required = true) String url) {return cookingSkillImagesService.delete(id, url);}}

三、编写Service

名称:CookingSkillImagesService

/*** <p>*  服务类* </p>** @author j3_liuliang* @since 2020-10-24*/
public interface CookingSkillImagesService extends IService<CookingSkillImages> {/*** 分页查询厨艺秀图片列表* @param pageNum   当前页* @param pageSize  每页数量* @return*/ResultDTO selectPage(Integer pageNum, Integer pageSize);/*** 添加图片url数组* @param imageUrls 图片url数组* @return*/ResultDTO addCookingSkillImages(String[] imageUrls);/*** 删除图片* @param id    图片id* @param url   图片url* @return*/ResultDTO delete(Long id, String url);}

实现类:CookingSkillImagesServiceImpl

/*** <p>* 服务实现类* </p>** @author j3_liuliang* @since 2020-10-24*/
@Service
public class CookingSkillImagesServiceImpl extends ServiceImpl<CookingSkillImagesMapper, CookingSkillImages> implements CookingSkillImagesService {@Autowiredprivate CookingSkillImagesMapper cookingSkillImagesMapper;@Autowiredprivate OSSFileService ossFileService;@Overridepublic ResultDTO selectPage(Integer pageNum, Integer pageSize) {// 定义分页Page<CookingSkillImages> cookingSkillImagesPage = new Page<>(pageNum, pageSize);// 开始分页查询IPage<CookingSkillImages> cookingSkillImagesPageModel = cookingSkillImagesMapper.selectPage(cookingSkillImagesPage, null);// 获取分页数据和总条数List<CookingSkillImages> records = cookingSkillImagesPageModel.getRecords();long total = cookingSkillImagesPageModel.getTotal();// 转化数据传输对象List<CookingSkillImagesDTO> cookingSkillImagesDTOList = new ArrayList<>(records.size());records.forEach(CookingSkillImages -> {CookingSkillImagesDTO cookingSkillImagesDTO = new CookingSkillImagesDTO();BeanUtils.copyProperties(CookingSkillImages, cookingSkillImagesDTO);cookingSkillImagesDTOList.add(cookingSkillImagesDTO);});// 返回结果return ResultDTO.success().data("tital", total).data("rows", cookingSkillImagesDTOList);}@Overridepublic ResultDTO addCookingSkillImages(String[] imageUrls) {// 遍历url数组,依次插入数据库中Arrays.asList(imageUrls).forEach(imageUrl -> {CookingSkillImages cookingSkillImages = new CookingSkillImages();cookingSkillImages.setImageUrl(imageUrl);cookingSkillImagesMapper.insert(cookingSkillImages);});return ResultDTO.success();}@Overridepublic ResultDTO delete(Long id, String url) {// 先删除数据库中的图片cookingSkillImagesMapper.deleteById(id);// 再删除OSS服务器上的图片ossFileService.removeFile(url);return ResultDTO.success();}
}

四、编写mapper及相关mapper映射文件

名称:CookingSkillImagesMapper

/*** <p>*  Mapper 接口* </p>** @author j3_liuliang* @since 2020-10-24*/
public interface CookingSkillImagesMapper extends BaseMapper<CookingSkillImages> {}

名称:CookingSkillImagesMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.liuliang.quickdinesysstore.mapper.CookingSkillImagesMapper"></mapper>

这里面持久成都不用编写相关的代码,是因为用来MyBatisPlus可以简化我们很多的简单访问数据库操作,实我们可以更多的关注到业务逻辑上而不是持久化上

五、启动项目swagger测试

访问:http://localhost:9110/swagger-ui.html#!

厨艺秀的相关功能就写的差不多了,下次开始些菜品管理相关的内容

结束语

  • 由于博主才疏学浅,难免会有纰漏,假如你发现了错误或偏见的地方,还望留言给我指出来,我会对其加以修正。
  • 如果你觉得文章还不错,你的转发、分享、点赞、留言就是对我最大的鼓励。
  • 感谢您的阅读,十分欢迎并感谢您的关注。

快捷餐饮之店家后台厨艺秀实现相关推荐

  1. 快捷餐饮之店家后台订单管理实现

    j3_liuliang 上期写了餐桌及评论管理相关的功能,现在我们来实现一下订单管理相关内容 项目相关文章导航: 快捷点餐项目简介 餐饮系统设计概括 餐饮系统店家后端基础功能构建 快捷餐饮之店家后台O ...

  2. 快捷餐饮之店家后台系统管理实现

    j3_liuliang 上期写了商家员工的相关功能,现在我们来实现一下快捷餐饮店家后台最后的一项功能系统相关的功能 项目相关文章导航: 快捷点餐项目简介 餐饮系统设计概括 餐饮系统店家后端基础功能构建 ...

  3. 快捷餐饮之店家后台OSS文件管理实现

    j3_liuliang 快捷点餐的第一步功能实现,就是文件上传功能,做好这个店家后台的相关功能就可以连贯! 项目相关文章导航: 快捷点餐项目简介 餐饮系统设计概括 餐饮系统店家后端基础功能构建 快捷餐 ...

  4. 快捷餐饮之店家后台评论管理及餐桌管理实现

    j3_liuliang 上期写了菜品及分类相关的功能,现在我们来实现一下商家的餐桌及评论管理相关内容 项目相关文章导航: 快捷点餐项目简介 餐饮系统设计概括 餐饮系统店家后端基础功能构建 快捷餐饮之店 ...

  5. 快捷餐饮之店家后台菜品分类及菜品管理实现

    快捷餐饮之店家后台菜品分类及菜品管理实现 j3_liuliang 上期写了厨艺秀相关的功能,现在我们来实现一下商家的菜品分类及菜品管理及菜品分类相关内容 项目相关文章导航: 快捷点餐项目简介 餐饮系统 ...

  6. 疫情宅家厨艺秀 | 究竟是自学成大厨,还是厨房大翻车?

    CDA数据分析师 出品 岁末年初的这场疫情,让宅家"做贡献"的我们,被迫成为了"大厨".一个方便面,微博上都可以炒出好多种花样.但话说回来,网络上看到宅家大神们 ...

  7. 餐饮系统店家后端基础功能构建

    j3_liuliang 快捷餐饮系统基本构建,好的项目基础可以事半功倍哦! 项目相关文章导航: 快捷点餐项目简介 餐饮系统设计概括 餐饮系统店家后端基础功能构建 快捷餐饮之店家后台OSS文件管理实现 ...

  8. mysql8.0登录不上去怎么回事_搞笑GIF:女朋友非要给我秀一手厨艺,不过这房子是怎么回事!...

    1.来,跟着我的节拍,摇起来! 2.前面的我还能接受,不过这后面的就有点太看得起我了吧! 3.宝贝,不要哭了,我永远爱你,不会离开你的! 4.单身久了,现在看一头猪都感觉眉清目秀的! 5.现在我好奇的 ...

  9. java基于springboot外卖在线订餐系统(厨艺论坛)有论文

    简介 本项目主要包括了外卖订餐系统(在线订餐和外卖配送).厨艺论坛系统.管理员后台.用户中心等功能.用户注册后可以选择餐桌在线点餐支付,也可以选择外卖配送到家的方式. 演示视频 https://www ...

最新文章

  1. leetcode 50 口诀
  2. 29、剑指offer--最小的K个数
  3. 算法--360面试:使用递归实现:a0=1,a1=1;a2=a0+a1;a3=a1+a2...以此类推,求a30
  4. Combo box的使用
  5. 用户画像:数据指标与表结构设计
  6. linux添加video驱动,linux下video驱动源码位置
  7. 求逆矩阵计算器_991CN的矩阵运算
  8. 使用 show status 命令
  9. 一起撸个朋友圈吧 (Step6) 评论对齐(点击评论对齐)【下】
  10. 架构学习----消息队列
  11. 微信小程序教程笔记7
  12. 模仿百思不得姐项目开发总结
  13. C. Range Increments(差分)
  14. 键盘录入(身高和体重)
  15. 基于c#的区块链编程_3.区块链 · C#区块链编程入门教程-巴比特图书
  16. 买投影仪选当贝还是极米,哪个投影仪最好用
  17. mye clipse中svn的使用
  18. .NET平台C/S架构应用程序开发核心技术总结(MyKTV点歌系统案例分析)
  19. Linux终端程序用c语言实现改变输出的字的颜色 (转)
  20. mysql无法退出命令行

热门文章

  1. android最新直播框架,NDK--Android Studio中直播推流框架的搭建
  2. 常用的几种量化选股方法
  3. virtualxposed使用教程_Xposed 插件开发入门教程(一)
  4. 【Scratch考级99图】图32-等级考试scratch绘制复杂图形8个八边形 少儿编程 scratch画图案例教程
  5. 一文教你用 Neo4j 快速构建明星关系图谱
  6. 数据结构---树和二叉树03
  7. 如何招聘:永远不要自负的人
  8. QQ机器人 微信机器人最新可用框架汇总
  9. lol8.18服务器不稳定,英雄联盟8.18客户端崩溃,玩家表示要退游,官方会给什么补偿?...
  10. 游戏本自动掉帧_LOL官方割韭菜?“永恩上线就出问题,游戏掉帧商城BUG仍未修复”...