java基于springboot美食推荐管理系统附源码风格

该博客介绍了基于SpringBoot的美食推荐管理系统,包括用户和管理员两大角色的功能。用户可以注册登录、查看美食、教程、社区、资讯,收藏、评论等;管理员则能管理用户、美食分类、热门美食、教程、店铺、社区帖子等,还涉及权限管理和密码重置。系统使用Java编程,SpringBoot框架,MySQL数据库,前端采用layui。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

美食推荐管理系统是基于java编程语言,springboot框架,mysql数据库开发,本系统主要分为用户和管理员两个角色,其中用户注册登陆后可以查看美食,教程,社区,资讯公告,收藏,评论;管理员对用户,美食,美食分类,店铺,社区等信息进行管理。本系统功能齐全

 

jdk版本:1.8 及以上
ide工具:IDEA
数据库: mysql5.7+
编程语言: Java
tomcat:   8.0 及以上
java框架:springboot
maven: 3.6.1
前端:layui
详细技术:HTML+CSS+JS+JSP+JAVA+springboot+MYSQL+JQUERY+MAVEN


基于springboot美食推荐管理系统

 


系统分为用户和管理员

 

 


用户的主要功能有:

1.用户注册和登陆系统

2.用户查看美食推荐,热门美食,搜索美食,收藏美食

3.用户查看美食教程信息,搜索教程

4.用户查看美食店铺信息

5.用户查看美食社区,查看社区帖子,回复帖子,自己发布帖子

6.用户查看美食资讯

7.用户个人中心修改个人资料,修改密码

8.退出登陆


管理员的主要功能有:

1.管理员输入账户登陆后台

2.个人中心:管理员修改密码和账户信息

3.用户管理:对注册的用户信息进行添加,删除,修改,查询

4.美食分类管理:对美食分类信息进行添加,修改,删除,查询

5.热门美食管理:对热门的美食进行添加,修改,删除,查询

6.美食教程管理:对制作美食教程进行添加,修改,删除,查询

7.美食店铺管理:对美食店铺信息进行添加,修改,删除,查询

8.美食社区管理:对用户发布的美食社区帖子进行管理

9.轮播图管理:对网站轮播图进行添加,修改,查询,删除

10.美食资讯管理:对美食资讯进行添加,修改,删除,查询

11.退出系统

  1. /**
  2. * 登录相关
  3. */
  4. @RequestMapping("users")
  5. @RestController
  6. public class UserController{
  7. @Autowired
  8. private UserService userService;
  9. @Autowired
  10. private TokenService tokenService;
  11. /**
  12. * 登录
  13. */
  14. @IgnoreAuth
  15. @PostMapping(value = "/login")
  16. public R login(String username, String password, String captcha, HttpServletRequest request) {
  17. UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
  18. if(user==null || !user.getPassword().equals(password)) {
  19. return R.error("账号或密码不正确");
  20. }
  21. String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
  22. return R.ok().put("token", token);
  23. }
  24. /**
  25. * 注册
  26. */
  27. @IgnoreAuth
  28. @PostMapping(value = "/register")
  29. public R register(@RequestBody UserEntity user){
  30. // ValidatorUtils.validateEntity(user);
  31. if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
  32. return R.error("用户已存在");
  33. }
  34. userService.insert(user);
  35. return R.ok();
  36. }
  37. /**
  38. * 退出
  39. */
  40. @GetMapping(value = "logout")
  41. public R logout(HttpServletRequest request) {
  42. request.getSession().invalidate();
  43. return R.ok("退出成功");
  44. }
  45. /**
  46. * 密码重置
  47. */
  48. @IgnoreAuth
  49. @RequestMapping(value = "/resetPass")
  50. public R resetPass(String username, HttpServletRequest request){
  51. UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
  52. if(user==null) {
  53. return R.error("账号不存在");
  54. }
  55. user.setPassword("123456");
  56. userService.update(user,null);
  57. return R.ok("密码已重置为:123456");
  58. }
  59. /**
  60. * 列表
  61. */
  62. @RequestMapping("/page")
  63. public R page(@RequestParam Map<String, Object> params,UserEntity user){
  64. EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
  65. PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
  66. return R.ok().put("data", page);
  67. }
  68. /**
  69. * 列表
  70. */
  71. @RequestMapping("/list")
  72. public R list( UserEntity user){
  73. EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
  74. ew.allEq(MPUtil.allEQMapPre( user, "user"));
  75. return R.ok().put("data", userService.selectListView(ew));
  76. }
  77. /**
  78. * 信息
  79. */
  80. @RequestMapping("/info/{id}")
  81. public R info(@PathVariable("id") String id){
  82. UserEntity user = userService.selectById(id);
  83. return R.ok().put("data", user);
  84. }
  85. /**
  86. * 获取用户的session用户信息
  87. */
  88. @RequestMapping("/session")
  89. public R getCurrUser(HttpServletRequest request){
  90. Long id = (Long)request.getSession().getAttribute("userId");
  91. UserEntity user = userService.selectById(id);
  92. return R.ok().put("data", user);
  93. }
  94. /**
  95. * 保存
  96. */
  97. @PostMapping("/save")
  98. public R save(@RequestBody UserEntity user){
  99. // ValidatorUtils.validateEntity(user);
  100. if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
  101. return R.error("用户已存在");
  102. }
  103. userService.insert(user);
  104. return R.ok();
  105. }
  106. /**
  107. * 修改
  108. */
  109. @RequestMapping("/update")
  110. public R update(@RequestBody UserEntity user){
  111. // ValidatorUtils.validateEntity(user);
  112. UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
  113. if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
  114. return R.error("用户名已存在。");
  115. }
  116. userService.updateById(user);//全部更新
  117. return R.ok();
  118. }
  119. /**
  120. * 删除
  121. */
  122. @RequestMapping("/delete")
  123. public R delete(@RequestBody Long[] ids){
  124. userService.deleteBatchIds(Arrays.asList(ids));
  125. return R.ok();
  126. }
  127. }

登录后您可以享受以下权益:

×
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

豆包程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

举报

选择你想要举报的内容(必选)
  • 内容涉黄
  • 政治相关
  • 内容抄袭
  • 涉嫌广告
  • 内容侵权
  • 侮辱谩骂
  • 样式问题
  • 其他
点击体验
DeepSeekR1满血版
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回顶部