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


    美食推荐管理系统是基于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().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().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().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 params,UserEntity user){
    64. EntityWrapper ew = new EntityWrapper();
    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 ew = new EntityWrapper();
    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().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().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. }

  • 相关阅读:
    面试必备:消息队列原理和选型(荣耀典藏版)
    kvm 创建win11虚拟机
    力扣:随即指针138. 复制带随机指针的链表
    网安学习-Linux提权
    1036 跟奥巴马一起编程
    ts重点学习110-枚举类型的兼容性笔记
    大胆解读!PMP认证免费重考都透露出了哪些消息?
    cf-1725 M. Moving Both Hands(反图+dij)
    el-table 列内容溢出 显示省略号 悬浮显示文字
    springcloud 知识总结
  • 原文地址:https://blog.csdn.net/zhgl322/article/details/126005547