当前位置: 首页 > news >正文

Django+Vue控糖食物推荐系统源码+论文

代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹
分享万套开题报告+任务书+答辩PPT模板
作者完整代码目录供你选择:
《SpringBoot网站项目》1800套
《SSM网站项目》1500套
《小程序项目》1600套
《APP项目》1500套
《Python网站项目》1300套
⬇️文章末尾可以获取联系方式,需要源码或者演示视频可以联系⬇️
⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡

采用技术:

编程语言:Python
后端框架:Django
前端框架:Vue
数据库:MySQL
数据表数量:20张表
运行软件:PyCharm、VS Code都可以

系统功能:


本系统实现管理员、用户模块。
管理员模块功能:用户管理、食物分类管理、食物信息管理、心得分享管理、饮食记录管理、健康分析管理、健康指导管理、留言板、社区论坛、论坛分类管理、举报记录管理、关于我们、美食资讯分类、系统简介、美食资讯、食物信息模块、心得分享模块等。
用户模块功能:心得分享管理、饮食记录管理、健康分析管理、健康指导管理、食物信息模块、心得分享模块等。

运行截图:






















论文目录:




核心代码:

packagecom.controller;importjava.text.SimpleDateFormat;importcom.alibaba.fastjson.JSONObject;importjava.util.*;importorg.springframework.beans.BeanUtils;importjavax.servlet.http.HttpServletRequest;importorg.springframework.web.context.ContextLoader;importjavax.servlet.ServletContext;importcom.service.TokenService;importcom.utils.StringUtil;importjava.lang.reflect.InvocationTargetException;importcom.service.DictionaryService;importorg.apache.commons.lang3.StringUtils;importcom.annotation.IgnoreAuth;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.*;importcom.baomidou.mybatisplus.mapper.EntityWrapper;importcom.baomidou.mybatisplus.mapper.Wrapper;importcom.entity.YonghuEntity;importcom.service.YonghuService;importcom.entity.view.YonghuView;importcom.utils.PageUtils;importcom.utils.R;@RestController@Controller@RequestMapping("/yonghu")publicclassYonghuController{privatestaticfinalLoggerlogger=LoggerFactory.getLogger(YonghuController.class);@AutowiredprivateYonghuServiceyonghuService;@AutowiredprivateTokenServicetokenService;@AutowiredprivateDictionaryServicedictionaryService;//级联表service/** * 后端列表 */@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,HttpServletRequestrequest){logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));params.put("orderBy","id");PageUtilspage=yonghuService.queryPage(params);//字典表数据转换List<YonghuView>list=(List<YonghuView>)page.getList();for(YonghuViewc:list){//修改对应字典表字段dictionaryService.dictionaryConvert(c);}returnR.ok().put("data",page);}/** * 后端详情 */@RequestMapping("/info/{id}")publicRinfo(@PathVariable("id")Longid){logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);YonghuEntityyonghu=yonghuService.selectById(id);if(yonghu!=null){//entity转viewYonghuViewview=newYonghuView();BeanUtils.copyProperties(yonghu,view);//把实体数据重构到view中//修改对应字典表字段dictionaryService.dictionaryConvert(view);returnR.ok().put("data",view);}else{returnR.error(511,"查不到数据");}}/** * 后端保存 */@RequestMapping("/save")publicRsave(@RequestBodyYonghuEntityyonghu,HttpServletRequestrequest){logger.debug("save方法:,,Controller:{},,yonghu:{}",this.getClass().getName(),yonghu.toString());Wrapper<YonghuEntity>queryWrapper=newEntityWrapper<YonghuEntity>().eq("username",yonghu.getUsername()).or().eq("yonghu_phone",yonghu.getYonghuPhone()).or().eq("yonghu_id_number",yonghu.getYonghuIdNumber());;logger.info("sql语句:"+queryWrapper.getSqlSegment());YonghuEntityyonghuEntity=yonghuService.selectOne(queryWrapper);if(yonghuEntity==null){yonghu.setCreateTime(newDate());yonghu.setPassword("123456");// String role = String.valueOf(request.getSession().getAttribute("role"));// if("".equals(role)){// yonghu.set// }yonghuService.insert(yonghu);returnR.ok();}else{returnR.error(511,"账户或者身份证号或者手机号已经被使用");}}/** * 后端修改 */@RequestMapping("/update")publicRupdate(@RequestBodyYonghuEntityyonghu,HttpServletRequestrequest){logger.debug("update方法:,,Controller:{},,yonghu:{}",this.getClass().getName(),yonghu.toString());//根据字段查询是否有相同数据Wrapper<YonghuEntity>queryWrapper=newEntityWrapper<YonghuEntity>().notIn("id",yonghu.getId()).andNew().eq("username",yonghu.getUsername()).or().eq("yonghu_phone",yonghu.getYonghuPhone()).or().eq("yonghu_id_number",yonghu.getYonghuIdNumber());;logger.info("sql语句:"+queryWrapper.getSqlSegment());YonghuEntityyonghuEntity=yonghuService.selectOne(queryWrapper);if("".equals(yonghu.getYonghuPhoto())||"null".equals(yonghu.getYonghuPhoto())){yonghu.setYonghuPhoto(null);}if(yonghuEntity==null){// String role = String.valueOf(request.getSession().getAttribute("role"));// if("".equals(role)){// yonghu.set// }yonghuService.updateById(yonghu);//根据id更新returnR.ok();}else{returnR.error(511,"账户或者身份证号或者手机号已经被使用");}}/** * 删除 */@RequestMapping("/delete")publicRdelete(@RequestBodyInteger[]ids){logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());yonghuService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}/** * 登录 */@IgnoreAuth@RequestMapping(value="/login")publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){YonghuEntityyonghu=yonghuService.selectOne(newEntityWrapper<YonghuEntity>().eq("username",username));if(yonghu==null||!yonghu.getPassword().equals(password)){returnR.error("账号或密码不正确");}Stringtoken=tokenService.generateToken(yonghu.getId(),username,"yonghu","用户");Rr=R.ok();r.put("token",token);r.put("role","用户");r.put("username",yonghu.getYonghuName());r.put("tableName","yonghu");r.put("userId",yonghu.getId());returnr;}/** * 注册 */@IgnoreAuth@PostMapping(value="/register")publicRregister(@RequestBodyYonghuEntityyonghu){// ValidatorUtils.validateEntity(user);if(yonghuService.selectOne(newEntityWrapper<YonghuEntity>().eq("username",yonghu.getUsername()).orNew().eq("yonghu_phone",yonghu.getYonghuPhone()).orNew().eq("yonghu_id_number",yonghu.getYonghuIdNumber()))!=null){returnR.error("账户已存在或手机号或身份证号已经被使用");}yonghuService.insert(yonghu);returnR.ok();}/** * 重置密码 */@GetMapping(value="/resetPassword")publicRresetPassword(Integerid){YonghuEntityyonghu=newYonghuEntity();yonghu.setPassword("123456");yonghu.setId(id);yonghuService.updateById(yonghu);returnR.ok();}/** * 获取用户的session用户信息 */@RequestMapping("/session")publicRgetCurrYonghu(HttpServletRequestrequest){Integerid=(Integer)request.getSession().getAttribute("userId");YonghuEntityyonghu=yonghuService.selectById(id);returnR.ok().put("data",yonghu);}/** * 退出 */@GetMapping(value="logout")publicRlogout(HttpServletRequestrequest){request.getSession().invalidate();returnR.ok("退出成功");}}t("data",yonghu);}/** * 退出 */@GetMapping(value="logout")publicRlogout(HttpServletRequestrequest){request.getSession().invalidate();returnR.ok("退出成功");}}Session().invalidate();returnR.ok("退出成功");}}t("data",yonghu);}/** * 退出 */@GetMapping(value="logout")publicRlogout(HttpServletRequestrequest){request.getSession().invalidate();returnR.ok("退出成功");}}
http://www.zskr.cn/news/1444136.html

相关文章:

  • 【SGlang】sglang部署本地模型
  • 靠谱的钢制拖链厂家推荐 - myqiye
  • 百度网盘API离线下载架构解析:Python自动化磁力链接转存实践
  • 小米手机后台堆叠功能上线,多任务切换效率翻倍
  • 冷风机好用吗?利邦机电告诉你! - myqiye
  • C++中的命名空间详细介绍
  • 2026南通老房瓷砖空鼓修复企业推荐 八大区靠谱修缮团队汇总 - 吉修匠
  • 终极窗口强制调整工具:3分钟掌握任意窗口尺寸修改技巧
  • VisualCppRedist AIO深度解析:一站式自动化部署的技术实现与架构剖析
  • 别再只会生成黑白方块了!用Python的qrcode库给你的二维码换个皮肤(附完整代码)
  • 2026立式食品包装机技术解析:立式粉料包装机/立式粉末包装机/立式酱料包装机/立式零食包装机/立式颗粒包装机/选择指南 - 优质品牌商家
  • DMA控制器原理
  • 2026南通厨卫瓷砖空鼓翘边维修机构排名 八大区正规服务商精选 - 吉修匠
  • 2026年推荐:瘦身期亚麻籽油美味吃法靠谱吗 - mypinpai
  • 光电效应实验避坑指南:暗电流、本底电流和遏止电压到底怎么测才准?
  • 从光敏电阻到C51单片机:激光竖琴DIY实战与嵌入式开发入门
  • 2026年好用的男士假发公司排行榜,怎么选? - mypinpai
  • 2026 无锡各区瓷砖翘边松动维修实力排行 正规修缮企业综合测评 - 吉修匠
  • 全域视觉破壁新生 跨镜轨迹永续构筑智慧安防新生态技术解析方案
  • Unity 2022.3 LTS 实战:用LineRenderer 5分钟搞定游戏里的闪电链特效(附完整C#脚本)
  • 2026年年度排名,广告展示材料器材口碑好的品牌推荐 - mypinpai
  • YOLOv8工地运输车识别检测系统(项目源码+YOLO数据集+模型权重+UI界面+python+深度学习+环境配置)
  • Seraphine:英雄联盟玩家的智能决策伙伴,让每一局游戏都更胜一筹
  • 从阿克曼转向到状态方程:手把手推导自动驾驶中的二自由度车辆模型(附Python代码)
  • 2026广州家庭搬家靠谱选择:广州人人搬屋/广州仓库搬迁/广州别墅搬家/广州天河搬家/广州家庭搬家/广州小型搬家/选择指南 - 优质品牌商家
  • 万字长文!深入剖析现代浏览器渲染引擎在处理 CSS Grid 响应式布局时的重绘重排损耗
  • 拒绝无效 Todo 列表,用 Tasks 系统搞定多 Agent 协同开发
  • LIWC-Python 终极指南:用Python解锁文本心理学的秘密
  • 5大维度深度解析OneMore:重塑OneNote生产力的开源插件
  • 用74HC595驱动4位数码管:3个引脚实现32段显示的动态扫描方案