当前位置:   article > 正文

基于springboot饮食分享平台、美食菜谱分享管理系统,附源码+数据库,适合课程设计、毕业设计_基于springboot的美食分享平台

基于springboot的美食分享平台

1、项目介绍

基于springboot饮食分享平台、美食菜谱分享管理系统,分为学生和管理员两个角色。

学生-功能:登录、注册、首页、系统公告、菜谱、收藏、笔记、饮食资讯、趣味答题、进入后台系统、菜谱信息、笔记信息、个人信息、笔记信息评论、修改密码

管理员-功能:登录、系统首页、管理员信息、用户信息、菜谱大类信息、菜谱小类信息、菜谱信息、收藏信息、笔记点赞信息、饮食资讯信息、公告信息、趣味答题信息、个人信息、数据图表、笔记信息评论、修改密码

2、技术框架

运行系统:Windows

编程语言:Java

系统架构:B/S

前端框架:Vue+HTML+JavaScript+Css

后端框架:SpringBoot+MyBatis

数据库:MySQL

是否前后端分离:否

Maven项目:是

数据库表数量:14

运行环境:JDK8+MySQL5.6+IntelliJ IDEA

3、演示视频

基于springboot饮食分享平台

4、项目截图

6、代码示例

  1. package com.example.controller;
  2. import cn.hutool.core.collection.CollUtil;
  3. import cn.hutool.core.collection.CollectionUtil;
  4. import cn.hutool.core.io.IoUtil;
  5. import cn.hutool.core.util.ObjectUtil;
  6. import cn.hutool.core.util.StrUtil;
  7. import cn.hutool.poi.excel.ExcelUtil;
  8. import cn.hutool.poi.excel.ExcelWriter;
  9. import com.example.common.Result;
  10. import com.example.common.ResultCode;
  11. import com.example.entity.AdminInfo;
  12. import com.example.service.AdminInfoService;
  13. import com.example.exception.CustomException;
  14. import com.example.common.ResultCode;
  15. import com.example.vo.AdminInfoVo;
  16. import com.github.pagehelper.PageHelper;
  17. import com.github.pagehelper.PageInfo;
  18. import com.example.service.*;
  19. import org.springframework.web.bind.annotation.*;
  20. import org.springframework.beans.factory.annotation.Value;
  21. import cn.hutool.core.util.StrUtil;
  22. import org.springframework.web.multipart.MultipartFile;
  23. import javax.annotation.Resource;
  24. import javax.servlet.ServletOutputStream;
  25. import javax.servlet.http.HttpServletRequest;
  26. import javax.servlet.http.HttpServletResponse;
  27. import java.io.IOException;
  28. import java.util.LinkedHashMap;
  29. import java.util.List;
  30. import java.util.Map;
  31. import java.util.stream.Collectors;
  32. @RestController
  33. @RequestMapping(value = "/adminInfo")
  34. public class AdminInfoController {
  35. @Resource
  36. private AdminInfoService adminInfoService;
  37. @PostMapping
  38. public Result<AdminInfo> add(@RequestBody AdminInfoVo adminInfo) {
  39. adminInfoService.add(adminInfo);
  40. return Result.success(adminInfo);
  41. }
  42. @DeleteMapping("/{id}")
  43. public Result delete(@PathVariable Long id) {
  44. adminInfoService.delete(id);
  45. return Result.success();
  46. }
  47. @PutMapping
  48. public Result update(@RequestBody AdminInfoVo adminInfo) {
  49. adminInfoService.update(adminInfo);
  50. return Result.success();
  51. }
  52. @GetMapping("/{id}")
  53. public Result<AdminInfo> detail(@PathVariable Long id) {
  54. AdminInfo adminInfo = adminInfoService.findById(id);
  55. return Result.success(adminInfo);
  56. }
  57. @GetMapping
  58. public Result<List<AdminInfoVo>> all() {
  59. return Result.success(adminInfoService.findAll());
  60. }
  61. @GetMapping("/page/{name}")
  62. public Result<PageInfo<AdminInfoVo>> page(@PathVariable String name,
  63. @RequestParam(defaultValue = "1") Integer pageNum,
  64. @RequestParam(defaultValue = "5") Integer pageSize,
  65. HttpServletRequest request) {
  66. return Result.success(adminInfoService.findPage(name, pageNum, pageSize, request));
  67. }
  68. @PostMapping("/register")
  69. public Result<AdminInfo> register(@RequestBody AdminInfo adminInfo) {
  70. if (StrUtil.isBlank(adminInfo.getName()) || StrUtil.isBlank(adminInfo.getPassword())) {
  71. throw new CustomException(ResultCode.PARAM_ERROR);
  72. }
  73. return Result.success(adminInfoService.add(adminInfo));
  74. }
  75. /**
  76. * 批量通过excel添加信息
  77. * @param file excel文件
  78. * @throws IOException
  79. */
  80. @PostMapping("/upload")
  81. public Result upload(MultipartFile file) throws IOException {
  82. List<AdminInfo> infoList = ExcelUtil.getReader(file.getInputStream()).readAll(AdminInfo.class);
  83. if (!CollectionUtil.isEmpty(infoList)) {
  84. // 处理一下空数据
  85. List<AdminInfo> resultList = infoList.stream().filter(x -> ObjectUtil.isNotEmpty(x.getName())).collect(Collectors.toList());
  86. for (AdminInfo info : resultList) {
  87. adminInfoService.add(info);
  88. }
  89. }
  90. return Result.success();
  91. }
  92. @GetMapping("/getExcelModel")
  93. public void getExcelModel(HttpServletResponse response) throws IOException {
  94. // 1. 生成excel
  95. Map<String, Object> row = new LinkedHashMap<>();
  96. row.put("name", "admin");
  97. row.put("password", "123456");
  98. row.put("nickName", "管理员");
  99. row.put("sex", "男");
  100. row.put("age", 22);
  101. row.put("birthday", "TIME");
  102. row.put("phone", "18843232356");
  103. row.put("address", "上海市");
  104. row.put("code", "111");
  105. row.put("email", "aa@163.com");
  106. row.put("cardId", "342425199001116372");
  107. row.put("level", 1);
  108. List<Map<String, Object>> list = CollUtil.newArrayList(row);
  109. // 2. 写excel
  110. ExcelWriter writer = ExcelUtil.getWriter(true);
  111. writer.write(list, true);
  112. response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
  113. response.setHeader("Content-Disposition","attachment;filename=adminInfoModel.xlsx");
  114. ServletOutputStream out = response.getOutputStream();
  115. writer.flush(out, true);
  116. writer.close();
  117. IoUtil.close(System.out);
  118. }
  119. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/418010
推荐阅读
相关标签
  

闽ICP备14008679号