基于Java+SSM+MySQL的校园报修管理系统的设计与实现

末尾获取源码
作者介绍:大家好,我是何时,本人4年开发经验,专注定制项目开发[python、Java、PHP、大数据、小程序、大屏可视化、爬虫等]

更多项目:CSDN主页曾几何时

我欲乘风归去 又恐琼楼玉宇  高处不胜寒 -苏轼


项目简介

如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统校园物品报修信息管理难度大,容错率低,管理人员处理数据费工费时,所以专门为解决这个难题开发了一个校园报修管理系统,可以解决许多问题。

校园报修管理系统实现的功能包括公告管理,维修人员管理,学生管理,线上报修管理,基础数据管理等功能。该系统采用了Mysql数据库,Java语言,SSM框架等技术进行编程实现。

校园报修管理系统可以提高校园物品报修信息管理问题的解决效率,优化校园物品报修信息处理流程,保证校园物品报修信息数据的安全,它是一个非常可靠,非常安全的应用程序。


效果图

管理员功能实现

维修人员管理

图5.1 即为编码实现的维修人员管理界面,维修人员信息包括维修人员头像,电子邮箱,擅长领域,维修人员姓名等信息,管理员可以使用修改功能更正登记错误的维修人员信息,可以使用删除功能删除不需要的维修人员信息等。

 

学生管理

图5.2 即为编码实现的学生管理界面,管理员增删改查学生资料。为学生的账号重置密码。

 

公告管理

图5.3 即为编码实现的公告管理界面,公告信息包括公告内容,公告类型,公告图片,公告名称等信息,管理员可以使用修改功能更正登记错误的公告信息,可以删除需要删除的公告信息等。

 

维修人员功能实现

线上报修管理

图5.4 即为编码实现的线上报修管理界面,维修人员需要在线上报修管理界面接受维修单,然后对接受的维修单上传维修成果。

 

公告查看

图5.5 即为编码实现的公告查看界面,维修人员查看公告内容,在查询框中编辑公告名称可以查询公告。

 

学生功能实现

新增报修信息

图5.6 即为编码实现的新增报修信息界面,学生在新增报修信息界面登记报修物品名称,上传报修照片,登记报修内容等信息,最后提交。

 

线上报修管理

图5.7 即为编码实现的线上报修管理界面,学生在线上报修管理界面查看报修进程,查看维修成果信息,可以对已维修的报修信息进行评价。

 

个人信息

图5.8 即为编码实现的个人信息界面,学生更改包括头像和电子邮箱在内的个人介绍信息。更改信息之后,学生需要点击修改按钮对修改信息进行保存和更新。

 


核心代码


package com.controller;


import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;

/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;

	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
	
	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
        userService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

文章目录

第1章 绪论  
1.1 研究背景与意义  
1.2 开发现状 
1.3 论文组成结构 
第2章 开发工具及相关技术介绍  
2.1 框架描述 
2.2 MySQL数据库 
2.3 JAVA语言 
第3章 系统分析  
3.1 可行性分析   
3.1.1 经济可行性 
3.1.2 技术可行性 
3.1.3 操作可行性 
3.2 功能性需求分析  
3.3 性能分析 
3.4 系统操作流程 
3.4.1 用户登录流程  
3.4.2 信息添加流程  
3.4.3 信息删除流程  
第4章 系统设计  
4.1 系统架构设计 
4.2 开发流程设计 
4.3 数据库设计   
4.3.1 实体ER图  
4.3.2 数据表 
第5章 系统实现  
5.1 管理员主要功能实现  
5.2 教师用户主要功能实现
5.3 学生用户主要功能实现
5.4 PC端主要功能实现
第6章 系统测试  
6.1 软件测试的概念  
6.2 软件测试过程 
6.3 系统测试阶段 
6.4 测试结果 
第7章 总结与展望
参考文献  
致谢  

25175学校网上报修系统管理平台简介: 本套软件适合于学校、企业的网上报修系统。没有复杂的操作,普通人员都很容易上手实践。并且在软件上不需要投入很多的人力培训进行操作。 网上报修系统管理平台,采用了BS架构开发,利用.NET技术和sqlserver数据库进行系统的开发,系统是一款专业的报修管理平台。灵活调度手段可以即时进行报修,并且自动通知和。所有用户无需安装和繁琐的配置,因为我们的报修管理运行在服务器上.使用时所有要做的就是登录系统。 管理且使用好软件可以有效提高您的生产力和效率。对于学校/企业来说,时间就是金钱 - 生产率的提高,可以促使节约更多的成本。 25175学校网上报修系统管理平台说明文档 (支持手机,APP应用,ipad,web) 运行环境:IIS ASP.NET4.6 SQL2008 开发软件:VS2015 1.初次运行请先注册 http://您的网址/sysadmin/regsiter/Register.aspx 请务必填写正确信息,完成后生成注册信息,即可运行您的报修系统。 2.如果本服务器已经注册,再次注册将出现“ 服务器已经授权,不需要重复申请,若有问题请联系客服!” 3.如果需要定制,请联系我们客服。 特色重点说明: a.WEB兼容.(ie8 ,google,firefox…) b.手机兼容(苹果,安卓) c.app兼容 兼容浏览器:IE8 FireFox, Safari, Chrome and more. 软件视频:http://edu.25175.com 25175学校网上报修系统管理平台登录界面 25175学校网上报修系统管理平台后台管理 http://您的服务器地址/sysadmin/login.aspx 后台管理账号admin 密码a25175 后台页面 相关阅读 同类推荐:站长常用源码
西安昆仑小学设备报修系统v2.1 是在以前系统基础上完善了后台功能。 你可以在后台轻松的进行年级、班级、物品的分类添加,可以指定注册用户中的任何一个人为前台管理员; 你可以在后台随时更改用户注册身份验证;同时修改了部分已知的bug。 默认前台的用户名是admin,密码是:admin888;前台默认管理员是admin用户。你可以在注册新的用户后在后台修改前台管理员为你新注册的用户(此用户已经被我删除,可在后台添加)。 后台登陆用户名是admin,密码是:admin888;可在/admin/index.asp文件中修改后台用户名和密码。 后台登陆路径/admin/index.asp 如还有什么不明白的地方欢迎到我的网站论坛来讨论;同时希望大家多提宝贵意见和建议! 网站地址:http://www.sundmt.com 论坛地址:http://www.sundmt.com/forum_list.asp?forum_id=11 演示网站地址: http://bx.xaklxx.com.cn/ http://www.ChinaDIYer.com/bx 声明: 如果你要在你的网站发布和传播希望你不要改动系统的名称! 如不经本人统一擅自修改名称后传播,我会追究您的法律责任! ================================================== 如果对程序有更好的建议,欢迎联系我:cjlyr@126.com ================================================== 【开发日志】 2008.03.25 西安昆仑小学设备保修系统 2.1正式发布,修复了几个小BUG,美化了程序 2008.03.14 修复管理员反馈错误显示用户名的问题 2008.02.08 修复注册验证码二次验证错误问题 2008.02.01 修复登陆验证码问题 2008.01.08 西安昆仑小学设备保修系统 2.0正式发布
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值