毕业设计 : 垃圾分类管理系统的设计与实现

0 前言

Hi,同学们好呀,被评为全网最细的丹成学长ヾ(•ω•`)o,今天带大家复盘一个学长帮往届同学做的一个毕业作品

垃圾分类管理系统的设计与实现

需要毕设帮助的同学,看过来~
毕设帮助,开题指导,技术解答
🇶746876041

1 项目简介

圾分类管理系统广泛适用于各类垃圾分类居民,垃圾分类物业,以及对整个垃圾分类建设和信息化管理表示关心的群体,个人,组织。

在这里插入图片描述

项目目的

垃圾分类管理开发的目标:本网站系统可以彻底解决手工计算、抄写管理垃圾资料、业主资料、住户资料以及文件档案等操作时数量庞大地难题,也可以有效避免长时间无法即时查询某房产或业主资料的繁琐性,用户也可以根据通过系统查看自己的小区的垃圾,对硬件设置进行保修提交等。随时按照小区名称、垃圾站编号、垃圾类型等多种条件任意查询,减少重复,提高工作效率。

2 系统实现

2.1 功能

  • (1) 系统普通用户:用户登录后,可以浏览所有垃圾分类的信息,并且可以查询自己的小区,垃圾信息,投诉等信息。

  • (2) 系统管理员:主要通过后台来管理本系统所有的功能,具有最高权限,可以对垃圾分类信息增删改查,同时整理用户留言意见。

2.2 功能结构

根据需求调研结果确定本系统主要包括以下功能模块

在这里插入图片描述

2.3 系统架构

由于垃圾分类管理系统采用了MVC三层架构开发,运用SSM框架搭建系统,集成SSM框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层。其Spring主要负责业务控制的跳转,MyBatis框架对持久层提供支持,Spring主要对MyBatis和SpringMVC进行管理,所以每层各有自己的分工。表示层为用户提供交互操作界面,方便用户操作,业务逻辑层主要负责关键业务的处理和数据的传递,数据访问层负责对数据的访问。系统架构图如图

在这里插入图片描述

2.4 系统关键部分具体实现

用户在主页面点击用户登录按钮,然后跳转到用户登录界面如图4.1所示,输入用户名密码,实现页面的登录。

在这里插入图片描述

在这里插入图片描述

核心代码

 /**
     * 登录
     */
    @ResponseBody
    @RequestMapping(value = "/sys/login", method = RequestMethod.POST)
    public R login(String username, String password, String captcha) throws IOException {
//		String kaptcha = ShiroUtils.getKaptcha(Constants.KAPTCHA_SESSION_KEY);
//		if(!captcha.equalsIgnoreCase(kaptcha)){
//			return R.error("验证码不正确");
//		}

        try {
            Subject subject = ShiroUtils.getSubject();
            //sha256加密
            password = new Sha256Hash(password).toHex();
            UsernamePasswordToken token = new UsernamePasswordToken(username, password);
            subject.login(token);
        } catch (UnknownAccountException e) {
            return R.error(e.getMessage());
        } catch (IncorrectCredentialsException e) {
            return R.error(e.getMessage());
        } catch (LockedAccountException e) {
            return R.error(e.getMessage());
        } catch (AuthenticationException e) {
            return R.error("账户验证失败");
        }

        return R.ok();
    }

普通用户查看垃圾分类功能的实现

用户在登录之后,点击垃圾分类功能,然后跳转到垃圾分类列表界面如图所示,选中需要垃圾分类的列,可以查看垃圾分类详情信息,点击提交完成垃圾分类的过程。

在这里插入图片描述
核心代码

@RequestMapping("/list")
	public R list(@RequestParam Map<String, Object> params){

																									                if (super.getUserId() > 1)
                    params.put("user", super.getUserId());
															

		//查询列表数据
        Query query = new Query(params);

		List<RecordEntity> recordList = recordService.queryList(query);
		int total = recordService.queryTotal(query);
		
		PageUtils pageUtil = new PageUtils(recordList, total, query.getLimit(), query.getPage());
		
		return R.ok().put("page", pageUtil);
	}
	

	/**
	 * 列表
	 */
	@RequestMapping("/list2")
	public R list2(@RequestParam Map<String, Object> params){
        Query query = new Query(params);
		List<RecordEntity> recordList = recordService.queryList(query);
		return R.ok().put("list", recordList );
	}


	/**
	 * 信息
	 */
	@RequestMapping("/info/{id}")
	public R info(@PathVariable("id") Long id){
		RecordEntity record = recordService.queryObject(id);
		
		return R.ok().put("record", record);
	}

管理员管理垃圾分类功能的实现

管理员用户在登录之后,点击垃圾站号,然后跳转到垃圾站号列表如图4.3所示,然后点击绑定垃圾站,界面显示垃圾站号基本信息,点击提交确定按钮的过程如图4.4所示。

在这里插入图片描述
在这里插入图片描述
核心代码

@RequestMapping("/list")
	public R list(@RequestParam Map<String, Object> params){
		//查询列表数据
        Query query = new Query(params);

		List<RoomEntity> roomList = roomService.queryList(query);
		int total = roomService.queryTotal(query);
		
		PageUtils pageUtil = new PageUtils(roomList, total, query.getLimit(), query.getPage());
		
		return R.ok().put("page", pageUtil);
	}
	

	/**
	 * 列表
	 */
	@RequestMapping("/list2")
	public R list2(@RequestParam Map<String, Object> params){
        Query query = new Query(params);
		List<RoomEntity> roomList = roomService.queryList(query);
		return R.ok().put("list", roomList );
	}


	/**
	 * 信息
	 */
	@RequestMapping("/info/{id}")
	public R info(@PathVariable("id") Long id){
		RoomEntity room = roomService.queryObject(id);
		
		return R.ok().put("room", room);
	}
	

管理员管理垃圾站功能的实现

管理员用户在登录之后,点击报修管理模块,然后跳转到报修列表界面如图4.5所示,选择需要处理的报修选项,点击确定完成报修的处理的过程。

在这里插入图片描述
在这里插入图片描述

核心代码

@RequestMapping("/list")
	public R list(@RequestParam Map<String, Object> params){

																				                if (super.getUserId() > 1)
                    params.put("user", super.getUserId());
															

		//查询列表数据
        Query query = new Query(params);

		List<FixEntity> fixList = fixService.queryList(query);
		int total = fixService.queryTotal(query);
		
		PageUtils pageUtil = new PageUtils(fixList, total, query.getLimit(), query.getPage());
		
		return R.ok().put("page", pageUtil);
	}
	

	/**
	 * 列表
	 */
	@RequestMapping("/list2")
	public R list2(@RequestParam Map<String, Object> params){
        Query query = new Query(params);
		List<FixEntity> fixList = fixService.queryList(query);
		return R.ok().put("list", fixList );
	}


	/**
	 * 信息
	 */
	@RequestMapping("/info/{id}")
	public R info(@PathVariable("id") Long id){
		FixEntity fix = fixService.queryObject(id);
		
		return R.ok().put("fix", fix);
	}

3 最后-毕设帮助

毕设帮助,开题指导,技术解答
🇶746876041

请添加图片描述

文章版权说明:

该文章由丹成学长全网第一时间发布,CSDN: mathor-sinor,上述系统为丹成学长开发完成,违版必究,如有项目开发需求请联系 丹成学长.

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>