基于springboot的美食推荐系统的设计与实现

精彩专栏推荐订阅:在下方主页

作者主页:计算机毕设木哥

文章目录

  • 一、项目介绍
  • 二、项目功能介绍
  • 三、开发环境
  • 四、系统展示
  • 五、代码展示
  • 六、项目总结
  • 大家可以帮忙点赞、收藏、关注、评论啦

一、项目介绍

在当今这个信息爆炸的时代,人们对于快速、精准获取所需信息的渴望越来越强烈。美食,作为日常生活的重要组成部分,如何快速找到合口的佳肴,就显得尤为重要。因此,美食推荐系统的出现,顺应了时代的需求,为美食爱好者们提供了一个全新的解决方案。

美食推荐系统,运用人工智能技术,对用户进行个性化的美食推荐。这个系统能够理解用户的口味、偏好,甚至能预测用户可能喜欢的美食。当用户在搜索引擎、美食应用或社交媒体上输入自己对美食的期望时,系统就会自动从海量的美食信息中筛选出与用户需求匹配的优质选项。

美食推荐系统的出现,不仅解决了人们在大量美食信息中筛选的困扰,提高了用户寻找美食的效率,还为商家提供了精准的营销手段。当用户通过推荐系统找到自己喜欢的美食后,很可能会到相应的餐厅或电商平台上进行消费。这样,不仅让用户获得了满意的体验,也有效提高了商家的销售额。

二、项目功能介绍

管理员以下几个方面的功能:

个人中心:管理员可以在个人中心查看和编辑自己的个人信息,例如头像、简介、密码等。
用户管理:管理员可以管理用户信息,包括查看用户资料、修改用户信息、删除不活跃用户等。
菜谱管理:管理员可以添加、编辑、删除菜谱信息,并对菜谱进行分类和标签化。
论坛管理:管理员可以管理论坛内容,例如删除违规帖子、回复用户留言等。
饮食资讯管理:管理员可以添加、编辑、删除饮食资讯,包括健康饮食、食材介绍等信息。
基础数据管理:管理员可以设置系统的基础数据,例如菜系分类、烹饪时间、卡路里含量等。
三、用户功能概述

用户主要拥有以下功能:

注册和登录:用户可以通过首页进行注册和登录,使用该系统。
个人中心:用户可以在个人中心查看自己的个人信息、收藏的菜谱、评论等内容。
浏览筛选菜谱信息:用户可以浏览系统中的菜谱信息,包括菜谱的图片、简介、制作步骤等,并可以根据自己的口味和需求筛选合适的佳肴。
添加菜谱:用户可以上传自己喜欢的菜谱,与大家分享美食经验。
论坛交流:用户可以在论坛上与其他美食爱好者交流心得,分享美食的喜悦。
查看饮食资讯:用户可以查看系统提供的饮食资讯,了解健康饮食知识、食材介绍等内容。

三、开发环境

  • 开发语言:Java
  • 数据库:MySQL
  • 系统架构:B/S
  • 后端:springboot
  • 前端:vue
  • 工具:IDEA或者Eclipse、JDK1.8、Maven

四、系统展示

登录模块:
基于springboot的美食推荐系统的设计与实现_第1张图片
首页模块:
基于springboot的美食推荐系统的设计与实现_第2张图片
基于springboot的美食推荐系统的设计与实现_第3张图片
基于springboot的美食推荐系统的设计与实现_第4张图片
基于springboot的美食推荐系统的设计与实现_第5张图片
基于springboot的美食推荐系统的设计与实现_第6张图片
管理员模块:
基于springboot的美食推荐系统的设计与实现_第7张图片
基于springboot的美食推荐系统的设计与实现_第8张图片
基于springboot的美食推荐系统的设计与实现_第9张图片

五、代码展示

public class CustomerController {

    @Autowired
    private CustomerService customerService;

    @RequestMapping("/list")
    public String list(Model model, Page page){
        PageHelper.offsetPage(page.getStart(),page.getCount());//分页查询
        List<Customer> list= customerService.list();
        int total = (int) new PageInfo<>(list).getTotal();//总条数
        page.setTotal(total);

        model.addAttribute("list",list);
        model.addAttribute("totals",total);
        return "cstpage/cst-list";
    }

    /**
     * 设置会员
     * @param id
     * @return
     */
    @RequestMapping("/shezhihuiyuan")
    @ResponseBody
    public String shezhihuiyuan(int id){
        customerService.shezhihuiyuan(id);
        return "success";
    }

    @RequestMapping("/del")
    public String del(int id){
        customerService.del(id);
        return "redirect:list";
    }
}
public class UserController {
    @Autowired
    UserRoleService userRoleService;
    @Autowired
    UserService userService;
    @Autowired
    RoleService roleService;


    @RequestMapping("/enableStatus")
    @ResponseBody
    public String enableStatus(@RequestParam(value = "name") String name){
        return userService.enableStatus(name);
    }

    @RequestMapping("/stopStatus")
    @ResponseBody
    public String stopStatus(@RequestParam(value = "name") String name){
        return userService.stopStatus(name);
    }

    @RequestMapping("/adminAdd")
    public String adminadd(Model model){
        List<Role> list = roleService.list();
        model.addAttribute("rolelist",list);
        return "syspage/admin-add";
    }

    @RequestMapping("/listUser")
    public String list(Model model, Page page){

        PageHelper.offsetPage(page.getStart(),page.getCount());//分页查询
        List<User> us= userService.list();
        int total = (int) new PageInfo<>(us).getTotal();//总条数
        page.setTotal(total);

        model.addAttribute("us", us);//所有用户
        model.addAttribute("total",total);

        Map<User,List<Role>> user_roles = new HashMap<>();
        //每个用户对应的权限
        for (User user : us) {
            List<Role> roles=roleService.listRoles(user);
            user_roles.put(user, roles);
        }
        model.addAttribute("user_roles", user_roles);
 
        return "syspage/admin-list";
    }

    /**
     * 修改管理员角色
     * @param model
     * @param id
     * @return
     */
    @RequestMapping("/editUser")
    public String edit(Model model,Long id){
        List<Role> rs = roleService.list();
        model.addAttribute("rs", rs);      
        User user =userService.get(id);
        model.addAttribute("user", user);
        //当前拥有的角色
        List<Role> roles =roleService.listRoles(user);
        model.addAttribute("currentRoles", roles);
         
        return "syspage/admin-edit";
    }

    @RequestMapping("deleteUser")
    public String delete(Model model,long id){
        userService.delete(id);
        return "redirect:listUser";
    }

    @RequestMapping("updateUser")
    public String update(User user, long[] roleIds){
        userRoleService.setRoles(user,roleIds);
         
        String password=user.getPassword();
        //如果在修改的时候没有设置密码,就表示不改动密码
        if(user.getPassword().length()!=0) {
            String salt = new SecureRandomNumberGenerator().nextBytes().toString();
            int times = 2;
            String algorithmName = "md5";
            String encodedPassword = new SimpleHash(algorithmName,password,salt,times).toString();
            user.setSalt(salt);
            user.setPassword(encodedPassword);
        }
        else
            user.setPassword(null);
         
        userService.update(user);
 
        return "redirect:listUser";
 
    }
 
    @RequestMapping("addUser")
    public String add(User user,long[] roleIds){

        String salt = new SecureRandomNumberGenerator().nextBytes().toString();//生成随机数
        int times = 2;
        String algorithmName = "md5";
          
        String encodedPassword = new SimpleHash(algorithmName,user.getPassword(),salt,times).toString();
         
        User u = new User();
        u.setName(user.getName());
        u.setPassword(encodedPassword);
        u.setSalt(salt);
        u.setStatus(1);
        u.setAddress(user.getAddress());
        u.setPhone(user.getPhone());
        userService.add(u);

        userRoleService.setRoles(u,roleIds);
         
        return "redirect:listUser";
    }
 
}

六、项目总结

美食推荐系统是一个结合了人工智能技术的独特工具,旨在简化并优化人们对美食的探索过程。该系统通过分析用户输入的关键词和偏好,从海量的美食信息中筛选出与用户需求相匹配的优质美食,从而使用户能够更加快速、准确地找到自己喜欢的佳肴。此外,管理员在系统中扮演着重要的角色,他们负责维护并运营这个系统,通过管理用户、菜谱、论坛、饮食资讯等功能,确保系统正常运行,让用户享受到个性化的美食推荐服务。

大家可以帮忙点赞、收藏、关注、评论啦

你可能感兴趣的:(Java实战项目,spring,boot,美食,大数据,python,java,数据库,开发语言)