末尾获取源码
作者介绍:大家好,我是何时,本人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章 总结与展望
参考文献
致谢