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

SpringBoot+Vue垃圾分类回收管理系统源码+论文

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

采用技术:

编程语言:Java
后端框架:SpringBoot
前端框架:Vue
数据库:MySQL
数据表数量:18张表
运行软件:IDEA、Eclipse、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("退出成功");}}getSession().invalidate();returnR.ok("退出成功");}}t("data",yonghu);}/** * 退出 */@GetMapping(value="logout")publicRlogout(HttpServletRequestrequest){request.getSession().invalidate();returnR.ok("退出成功");}}
http://www.jsqmd.com/news/706188/

相关文章:

  • 机器学习自学路线:从基础到深度学习实战
  • GitHub Profile深度定制:从静态展示到动态自动化名片
  • AI环境管理框架AEnvironment:解决多模型开发部署难题
  • 【MySQL深入详解】第10篇:MySQL配置原理——从配置文件到动态变量
  • Spring Boot 优雅实现异步调用:从入门到自定义线程池与异常处理
  • 论文阅读:ICLR 2026 AlphaAlign: Incentivizing Safety Alignment with Extremely Simplified Reinforcement Le
  • 如何快速提升麻将水平:终极雀魂AI助手Akagi完整指南
  • 深度强化学习实战:从DQN到PPO的算法实现与调参指南
  • 卷烟卷接包产线CPM1A控制器以太网化改造:一机多联通讯架构设计
  • 【限时开放】Docker官方2026安全基线评估工具(非开源版)内测资格仅剩47席:自动扫描你的AI训练镜像是否存在LLM提示注入残留、权重后门及CUDA驱动提权路径
  • R语言描述性统计:数据分析第一步与实战技巧
  • 基于LangChain与Azure OpenAI构建智能问答云函数实战指南
  • 一文吃透微服务:从单体到RPC、服务治理、下一代架构Service Mesh
  • 探索论文写作新宇宙:书匠策AI,毕业论文的“星际导航员”!
  • Akagi麻雀助手:终极指南 - 如何用AI提升你的雀魂麻将水平
  • Spring Boot AOP 面向切面编程:从原理到实战,一篇就会
  • Go语言怎么做AES加密_Go语言AES加密解密教程【精选】
  • 基于安卓的快递包裹隐私保护系统毕业设计源码
  • OpenCV中SVM算法原理与图像分类实战
  • 广西广告标识源头厂家哪家好?深度对比TOP10榜单揭晓 - 速递信息
  • AI模型推理沙箱化实践(Docker+gVisor+eBPF三重加固方案)
  • 手把手教你搞定移远EC200U/EC25的Linux驱动:从硬件检查到串口映射的保姆级教程
  • JeecgBoot企业级低代码平台:Spring Boot+Vue3架构解析与实战指南
  • 广西靠谱的标识标牌源头厂家推荐:从案例看巨匠标识的实力 - 速递信息
  • 2026专业上海公考教育推荐榜:上海法考课程、上海公考培训、上海公考教学、上海公考教育机构、上海公考机构、上海公考课程选择指南 - 优质品牌商家
  • 【国家药监局NMPA备案强制要求】:MCP 2026脱敏配置必须启用的3项不可绕过参数(含审计日志生成逻辑)
  • 如何了解imtoken钱包是什么 - 速递信息
  • 2026佛山代运营公司口碑真实测评 佛山短视频代运营最新TOP3榜单 - 速递信息
  • 现代相机成像基本流程
  • OpenContext:为AI编程助手打造持久记忆,实现上下文无缝管理