基于javaweb的SpringBoot大学城水电管理系统(java+springboot+mybaits+vue+elementui+mysql)

运行环境

Java≥8、MySQL≥5.7、Node.js≥14

开发工具

后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可

❗没学过node.js的不要搞前后端分离项目

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

352325002508

372325002508

382325002508

392325002508

402325002508

412325002508

422325002508

432325002508

442325002508

452325002508

基于javaweb的SpringBoot大学城水电管理系统(java+springboot+mybaits+vue+elementui+mysql)

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。

2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;

3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 

4.数据库:MySql 5.7/8.0版本均可;

5.是否Maven项目:是;

技术栈

后端:SpringBoot+Mybaits

前端:Vue + elementui

使用说明

项目运行:

  1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;

  2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令;

  3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;

  4. 运行项目,在浏览器中输入地址:

前台地址:http://localhost:8080/springbootrpj39/front/index.html

后台地址:http://localhost:8080/springbootrpj39/admin/dist/index.html

管理员 abo 密码 abo

用户:用户1 密码: 123456

注意项目文件路径中不能含有中文、空格、特殊字符等,否则图片会上传不成功。

系统管理员端的控制器: 

/**

  • 系统管理员端的控制器

*/

@Controller

@RequestMapping(value = “/admin”)

public class AdminController {

private Logger logger = LoggerFactory.getLogger(this.getClass());

@Resource

private RepairService repairService;

@Resource

private StudentService studentService;

@Resource

private AdminService adminService;

@Resource

private UrgentRepairService urgentRepairService;

@Resource

private MaintenanceService maintenanceService;

@Resource

private TechnicianService technicianService;

@Resource

private DoorDao doorDao;

@RequestMapping(value = “/login”, method = RequestMethod.GET)

public String login(Model model) {

return “redirect:../student/login”;

@RequestMapping(value = “/login”, method = RequestMethod.POST)

@ResponseBody

public LoginResult login(int id, String password, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {

logger.info(“================admin login===================”);

logger.info(“admin id: “+id);

logger.info(“admin password: “+password);

logger.info(“================admin login===================”);

Admin admin = adminService.getAdminById(id);

LoginResult loginResult = null;

if(admin==null){

logger.info(“admin null”);

loginResult = new LoginResult(false);

}else{

String psw = admin.getPassword();

logger.info(“admin password:”+psw);

//密码正确

if(psw.equals(password)){

loginResult = new LoginResult(true);

httpServletRequest.getSession().setAttribute(“ADMIN_ID”, id);

httpServletResponse.addCookie(new Cookie(“ADMIN_ID”, String.valueOf(id)));

}else{

loginResult = new LoginResult(false);

if(!loginResult.isSuccess()){

loginResult.setReason(“invalid user”);

logger.info(“LoginResult:”+loginResult);

return loginResult;

@RequestMapping(value = “/logout”, method = RequestMethod.GET)

public String logout(HttpSession httpSession) {

logger.info(“退出要移除的sessionId是:”+httpSession.getId());

httpSession.removeAttribute(“ADMIN_ID”);

return “redirect:../student/login”;

@RequestMapping(value = “/dashboard”, method = RequestMethod.GET)

public String dashboard(Model model, HttpServletRequest httpServletRequest) {

List repairs = repairService.getAllUnFinish();

Student student;

List repairInfoVos = new ArrayList<>();

for(Repair repair:repairs){

student = studentService.getStudentById(repair.getStudentId());

RepairInfoVo repairInfoVo = new RepairInfoVo(student, repair);

repairInfoVo.setStatesInfo(RepairEnumCN.stateOf(repair.getStatus()).getStateInfo());

repairInfoVos.add(repairInfoVo);

model.addAttribute(“repairInfoVos”, repairInfoVos);

return “/admin/dashboard”;

@RequestMapping(value = “/repair/{repairId}/detail”, method = RequestMethod.GET)

public String detailRepair(@PathVariable(“repairId”) int repairId, Model model) {

Repair repair;

repair = repairService.getRepairById(repairId);

repair.setPicMD5(“/“ + repair.getPicMD5());

RepairInfoVo repairInfoVo = new RepairInfoVo(repair);

repairInfoVo.setStatesInfo(RepairEnumCN.stateOf(repair.getStatus()).getStateInfo());

model.addAttribute(“repairInfoVo”, repairInfoVo);

return “admin/detail”;

@RequestMapping(value = “/repair/{repairId}/cancel”, method = RequestMethod.GET)

public String cancelRepair(@PathVariable(“repairId”) int repairId) {

repairService.cancelRepair(repairId);

return “redirect:/admin/dashboard”;

@RequestMapping(value = “/repair/{repairId}/confirm”, method = RequestMethod.GET)

public String confirmRepair(@PathVariable(“repairId”) int repairId) {

repairService.confirmRepair(repairId);

return “redirect:/admin/dashboard”;

@RequestMapping(value = “/repair/{repairId}/arrange”, method = RequestMethod.GET)

public String arrangeRepair(@PathVariable(“repairId”) int repairId, Model model) {

Repair repair = repairService.getRepairById(repairId);

if (repair.getStatus() == RepairEnum.REPAIR_ARRANGED.getState())

return “redirect:/admin/repair/“ + String.valueOf(repairId) + “/detail”;

List techniciens = technicianService.getAllTechnician();

model.addAttribute(“repair”, repair);

model.addAttribute(“techniciens”, techniciens);

return “/admin/addArrange”;

@RequestMapping(value = “/maintenance/{repairId}/add”, method = RequestMethod.POST)

public String submitArrange(@PathVariable(“repairId”) int repairId, @RequestParam(“technicianId”) String technicianId) {

// 解决表单提交时乱码的问题(JSP在表单提交时默认采用ISO-8859-1编码)

try {

technicianId = new String(technicianId.getBytes(“ISO-8859-1”), “utf8”);

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

repairService.arrangeRepair(repairId, Integer.valueOf(technicianId));

return “redirect:/admin/dashboard”;

@RequestMapping(value = “/finish”, method = RequestMethod.GET)

public String finish(Model model) {

List repairs = repairService.getAllFinish();

Student student;

List repairInfoVos = new ArrayList<>();

for(Repair repair: repairs){

student = studentService.getStudentById(repair.getStudentId());

RepairInfoVo repairInfoVo = new RepairInfoVo(student, repair);

repairInfoVo.setStatesInfo(RepairEnumCN.stateOf(repair.getStatus()).getStateInfo());

repairInfoVos.add(repairInfoVo);

model.addAttribute(“repairInfoVos”, repairInfoVos);

return “/admin/finish”;

@RequestMapping(value = “/urgent”, method = RequestMethod.GET)

public String urgent(Model model) {

List urgentRepairs = urgentRepairService.getAllUrgentRepair();

List urgentRepairResults = new ArrayList();

Student student;

Repair repair;

for (UrgentRepair urgentRepair : urgentRepairs) {

repair = repairService.getRepairById(urgentRepair.getRepairId());

student = studentService.getStudentById(urgentRepair.getStudentId());

urgentRepairResults.add(

new UrgentRepairResult

(urgentRepair.getId(),

urgentRepair.getStatus(), UrgentRepairEnum.stateOf(urgentRepair.getStatus()).getStateInfo(),

urgentRepair.getRepairId(), repair.getDetail(),

urgentRepair.getStudentId(), student.getName(),

new Timestamp(System.currentTimeMillis())));

model.addAttribute(“list”, urgentRepairResults);

return “/admin/urgent”;

@RequestMapping(value = “/urgent/{repairId}/delete”, method = RequestMethod.GET)

public String deleteUrgent(@PathVariable(“repairId”) int repairId) {

urgentRepairService.checkUrgentRepair(repairId);

return “redirect:/admin/urgent”;

@RequestMapping(value = “/arrange”, method = RequestMethod.GET)

public String arrange(Model model) {

List maintenances = maintenanceService.getAll();

List maintenanceResults = new ArrayList();

Repair repair;

Technician technician;

for (Maintenance maintenance : maintenances) {

repair = repairService.getRepairById(maintenance.getRepairId());

// 以下状态的报修单对应的维修记录就没必要显示了

// 1. 被学生删除

// 2. 学生同意取消

// 3. 已经验收

if (repair.getStatus() == RepairEnum.DELETED_BY_STUDENT.getState()

|| repair.getStatus() == RepairEnum.CANCELED_AGREE.getState()

|| repair.getStatus() == RepairEnum.CONFIRM.getState())

continue;

technician = technicianService.getById(maintenance.getTechnicianId());

maintenanceResults.add(

new MaintenanceResult(

maintenance.getId(),

maintenance.getRepairId(), repair.getDetail(),

maintenance.getTechnicianId(), technician.getName(),

new Timestamp(System.currentTimeMillis())

);

model.addAttribute(“list”, maintenanceResults);

return “/admin/arrange”;

@RequestMapping(value = “/arrange/{maintenanceId}/cancel”, method = RequestMethod.GET)

public String cancelArrange(@PathVariable(“maintenanceId”) int maintenanceId) {

Maintenance maintenance = maintenanceService.getById(maintenanceId);

// 删除检修安排记录

maintenanceService.cancelMaintenance(maintenanceId);

// 同时也修改相应的维修单的状态

repairService.unArrangeRepair(maintenance.getRepairId());

return “redirect:/admin/arrange”;

@RequestMapping(value = “/student”, method = RequestMethod.GET)

public String student(Model model) {

List students = studentService.getAll();

List studentResults = new ArrayList();

for (Student student : students) {

studentResults.add(new StudentResult(

student.getId(), student.getName(), student.getPassword(),

student.getSexual(), student.getSexual() == 0 ? “男” : “女”,

student.getEmail(), student.getPhone(), student.getDoor())

);

model.addAttribute(“students”, studentResults);

return “admin/student”;

@RequestMapping(value = “/addstudent”, method = RequestMethod.GET)

public String addStudent(Model model) {

return “/admin/addStudent”;

@RequestMapping(value = “/addstudent”, method = RequestMethod.POST)

public String addStudent(@RequestParam(“name”) String name, @RequestParam(“email”) String email,

@RequestParam(“password”) String password, @RequestParam(“sexual”) String sexual,

@RequestParam(“phone”) String phone,@RequestParam(“door”) String door, Model model, HttpServletRequest httpServletRequest) {

int sex = sexual.equals(“男”) ? 0 : 1;

studentService.addStudent(System.currentTimeMillis()+””, name, password, sex, email, phone, door);

Door door2 = doorDao.queryByName(door);

if (door2==null) {

Door doorObject = new Door();

doorObject.setDate(new Date(System.currentTimeMillis()));

doorObject.setId(System.currentTimeMillis()+””);

doorObject.setName(door);

doorObject.setPower(“100”);

doorObject.setWater(“100”);

doorDao.add(doorObject);

return “redirect:/admin/student”;

@RequestMapping(value = “/technician”, method = RequestMethod.GET)

public String technician(Model model) {

List techniciens = technicianService.getAllTechnician();

model.addAttribute(“techniciens”, techniciens);

return “admin/technician”;

/**

  • 添加维修人员 GET方法

  • @param model

  • @return

*/

@RequestMapping(value = “/addtechnician”, method = RequestMethod.GET)

public String addTechnician(Model model) {

return “/admin/addTechnician”;

/**

  • 添加维修人员 POST方法

  • @param model

  • @return

*/

@RequestMapping(value = “/addtechnician”, method = RequestMethod.POST)

public String addTechnician(@RequestParam(“name”) String name,@RequestParam(“number”) String number,@RequestParam(“phone”) String phone, Model model, HttpServletRequest httpServletRequest) {

technicianService.addTechnician(name,number,phone);

return “redirect:/admin/technician”;

用户的web控制层:

/**

  • 用户的web层

*/

@Controller

@CrossOrigin(origins = {“http://localhost:18084", “null”})

@RequestMapping(“/student”)

public class StudentController {

private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Resource

private StudentService studentService;

@Resource

private RepairService repairService;

@Resource

private UrgentRepairService urgentRepairService;

@Resource

private DoorDao doorDao;

@RequestMapping(value = “/introduce”, method = RequestMethod.GET)

public String index() {

return “student/introduce”;

/**

  • 登录的GET方法

  • @return

*/

@RequestMapping(value = “/login”, method = RequestMethod.GET)

public String login() {

return “student/login”;

/**

  • 登录的POST方法

  • @param id

  • @param password

  • @param httpSession

  • @return

*/

@RequestMapping(value = “/login”, method = RequestMethod.POST)

public

@ResponseBody

LoginResult login(String id, String password, HttpSession httpSession, HttpServletResponse httpServletResponse) {

LoginResult loginResult=null;

String stuName = null;

Student student = studentService.getStudentById(id);

Spider spider = new Spider();

try {

//调用service将数据存入数据库中

if(student==null){

// stuName = spider.getStudentName(id, password);

// student = new Student(id, stuName, password);

// System.out.println(stuName);

// studentService.addStudent(id, stuName, password, 0, “”, “”);

loginResult = new LoginResult(true);

loginResult.setReason(“invalid user”);

}else{

stuName = student.getName();

// 密码正确

if (student.getPassword().equals(password)) {

loginResult = new LoginResult(true);

} else {

loginResult = new LoginResult(false);

loginResult.setReason(“invalid user”);

} catch (Exception e) {

e.printStackTrace();

if(loginResult.isSuccess()){

// 登录成功后,为该学生生成session

httpSession.setAttribute(StudentConst.STUDENT_ID, id);

httpServletResponse.addCookie(new Cookie(StudentConst.STUDENT_ID, id));

System.out.println(“StudentName:”+StudentConst.STUDENT_NAME);

httpServletResponse.addCookie(new Cookie(StudentConst.STUDENT_NAME, stuName));

logger.info(“***“);

logger.info(“登录: “ + String.valueOf(loginResult.isSuccess()) + “ id : “ + id + “ password : “ + password);

logger.info(“***“);

return loginResult;

/**

  • 退出的控制

  • @param httpSession

  • @return

*/

@RequestMapping(value = “/logout”, method = RequestMethod.GET)

public String logout(HttpSession httpSession) {

httpSession.removeAttribute(StudentConst.STUDENT_EMAIL);

return “redirect:/student/login”;

/**

  • 提交报修单的POST方法

  • @param model

  • @return

*/

@RequestMapping(value = “/commit”, method = RequestMethod.GET)

public String commit(Model model) {

return “/student/commit”;

@RequestMapping(value = “/commit”, method = RequestMethod.POST)

public String commit(@RequestParam(“detail”) String detail, @RequestParam(“place”) String place,

@RequestParam(“file”) MultipartFile file, HttpServletRequest httpServletRequest) {

String id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();

Student student = studentService.getStudentById(id);

String picMD5 = “”;

logger.info(detail);

logger.info(place);

logger.info(picMD5);

try {

logger.info(file.getInputStream().toString());

} catch (IOException e) {

e.printStackTrace();

if (file != null) {

try {

picMD5 = MD5.getMD5(id + String.valueOf(System.currentTimeMillis()) + file.getOriginalFilename());

} catch (Exception e) {

e.printStackTrace();

// 往数据库中插入维修单记录

repairService.submitRepair(detail, place, picMD5, student.getId());

// 保存现场照片

String path = httpServletRequest.getSession().getServletContext().getRealPath(“/“);

System.out.println(“图片路径:” + path);

String fileName = picMD5;

File targetFile = new File(path, fileName);

try {

InputStream inputStream = file.getInputStream();

OutputStream outputStream = new FileOutputStream(targetFile);

byte[] buffer = new byte[2048];

int len = 0;

while ((len = inputStream.read(buffer)) != -1) {

outputStream.write(buffer, 0, len);

inputStream.close();

outputStream.close();

} catch (IOException e) {

e.printStackTrace();

} else {

// 往数据库中插入维修单记录

repairService.submitRepair(detail, place, picMD5, student.getId());

return “redirect:/student/dashboard”;

/**

  • 获取显示的主页面

  • @param model

  • @return

*/

@RequestMapping(value = “/dashboard”, method = RequestMethod.GET)

public String board(Model model, HttpServletRequest httpServletRequest) {

String id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();

List repairs = repairService.getRepqirByStudentId(id);

List repairInfoVos = new ArrayList<>();

for(Repair repair: repairs){

repair.setPicMD5(“/“+repair.getPicMD5());

RepairInfoVo repairInfoVo = new RepairInfoVo(repair);

repairInfoVo.setStatesInfo(RepairEnumCN.stateOf(repair.getStatus()).getStateInfo());

repairInfoVos.add(repairInfoVo);

model.addAttribute(“repairInfoVos”, repairInfoVos);

return “/student/dashboard”;

/**

  • 报修单详情

  • @param repairId

  • @param model

  • @return

*/

@RequestMapping(value = “/repair/{repairId}/detail”, method = RequestMethod.GET)

public String detail(@PathVariable(“repairId”) int repairId, Model model) {

Repair repair = repairService.getRepairById(repairId);

repair.setPicMD5(“/“ + repair.getPicMD5());

RepairInfoVo repairInfoVo = new RepairInfoVo(repair);

repairInfoVo.setStatesInfo(RepairEnumCN.stateOf(repair.getStatus()).getStateInfo());

model.addAttribute(“repairInfoVo”, repairInfoVo);

return “student/detail”;

/**

  • 删除报修单

  • @param repairId

  • @return

*/

@RequestMapping(value = “/repair/{repairId}/delete”, method = RequestMethod.GET)

public String delete(@PathVariable(“repairId”) int repairId) {

repairService.deleteRepair(repairId);

return “redirect:/student/dashboard”;

/**

  • 修改报修单

  • @param repairId

  • @param model

  • @return

*/

@RequestMapping(value = “/repair/{repairId}/update”, method = RequestMethod.GET)

public String update(@PathVariable(“repairId”) int repairId, Model model) {

Repair repair = repairService.getRepairById(repairId);

model.addAttribute(“repair”, repair);

return “/student/update”;

/**

  • 修改报修单

  • @return

*/

@RequestMapping(value = “/repair/{repairId}/update”, method = RequestMethod.POST)

public String update(@PathVariable(“repairId”) int repairId, @RequestParam(“detail”) String detail, @RequestParam(“place”) String place,

@RequestParam(“file”) MultipartFile file, HttpServletRequest httpServletRequest) {

String sno = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();

int id = repairId;

String picMD5 = “”;

logger.info(detail);

logger.info(place);

logger.info(picMD5);

if (file != null) {

try {

picMD5 = MD5.getMD5(sno + String.valueOf(System.currentTimeMillis()) + file.getOriginalFilename());

} catch (Exception e) {

e.printStackTrace();

System.out.println(“*****“);

// 保存现场照片

String path = httpServletRequest.getSession().getServletContext().getRealPath(“/“);

System.out.println(“图片路径:” + path);

String fileName = picMD5;

File targetFile = new File(path, fileName);

try {

OutputStream outputStream = new FileOutputStream(targetFile);

InputStream inputStream = file.getInputStream();

byte[] buffer = new byte[2048];

int len = 0;

while ((len = inputStream.read(buffer)) != -1) {

outputStream.write(buffer, 0, len);

inputStream.close();

outputStream.close();

} catch (IOException e) {

e.printStackTrace();

// 调用修改报修单接口

repairService.changeRepair(id, detail, place, picMD5);

return “redirect:/student/repair/“ + String.valueOf(id) + “/detail”;

/**

  • 验收报修单

  • @param repairId

  • @return

*/

@RequestMapping(value = “/repair/{repairId}/acceptance”, method = RequestMethod.GET)

public String acceptance(@PathVariable(“repairId”) int repairId) {

repairService.Acceptance(repairId);

return “redirect:/student/dashboard”;

/**

  • 将报修单标记为催单

  • @param repairId

  • @param httpServletRequest

  • @return

*/

@RequestMapping(value = “/repair/{repairId}/urgent”, method = RequestMethod.GET)

public String urgent(@PathVariable(“repairId”) int repairId, HttpServletRequest httpServletRequest) {

String id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();

Student student = studentService.getStudentById(id);

urgentRepairService.submitUrgentRepair(repairId, student.getId());

return “redirect:/student/urgent”;

/**

  • 查看所有的催单

  • @param httpServletRequest

  • @param model

  • @return

*/

@RequestMapping(value = “/urgent”, method = RequestMethod.GET)

public String showUrgent(HttpServletRequest httpServletRequest, Model model) {

String id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();

Student student = studentService.getStudentById(id);

List urgentRepairs = urgentRepairService.getAllUrgentRepairByStudentId(student.getId());

List studentUrgentResults = new ArrayList();

String detail = “”;

for (UrgentRepair urgentRepair : urgentRepairs) {

detail = repairService.getRepairById(urgentRepair.getRepairId()).getDetail();

studentUrgentResults.add(new StudentUrgentResult(

urgentRepair.getId(), urgentRepair.getStatus(), UrgentRepairEnum.stateOf(urgentRepair.getStatus()).getStateInfo(),

urgentRepair.getRepairId(), detail, urgentRepair.getStudentId(), urgentRepair.getCreateTime()));

model.addAttribute(“studentUrgentResults”, studentUrgentResults);

return “student/urgent”;

/**

  • 删除某条催单

  • @param repairId

  • @param httpServletRequest

  • @return

*/

@RequestMapping(value = “/urgent/{repairId}/delete”, method = RequestMethod.GET)

public String deleteUrgent(@PathVariable(“repairId”) int repairId, HttpServletRequest httpServletRequest) {

String id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();

Student student = studentService.getStudentById(id);

urgentRepairService.deleteUrgentRepair(repairId);

return “redirect:/student/urgent”;

/**

  • 重新提交某条催单

  • @param repairId

  • @return

*/

@RequestMapping(value = “/urgent/{repairId}/resubmit”, method = RequestMethod.GET)

public String reSubmitUrgent(@PathVariable(“repairId”) int repairId) {

urgentRepairService.reSubmit(repairId);

return “redirect:/student/urgent”;

/**

  • 获取所有待取消的报修单

  • @param httpServletRequest

  • @param model

  • @return

*/

@RequestMapping(value = “/tobecanceled”, method = RequestMethod.GET)

public String toBeCanceled(HttpServletRequest httpServletRequest, Model model) {

String id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();

List repairs = repairService.getAllToBeCanceledById(id);

List repairInfoVos = new ArrayList<>();

for(Repair repair:repairs){

repair.setPicMD5(“/“+repair.getPicMD5());

RepairInfoVo repairInfoVo = new RepairInfoVo(repair);

repairInfoVo.setStatesInfo(RepairEnumCN.stateOf(repair.getStatus()).getStateInfo());

repairInfoVos.add(repairInfoVo);

model.addAttribute(“repairInfoVos”, repairInfoVos);

return “student/tobecanceled”;

/**

  • 同意取消报修单

  • @param repairId

  • @param httpServletRequest

  • @return

*/

@RequestMapping(value = “/tobecanceled/{repairId}/agree”, method = RequestMethod.GET)

public String agreeCanceled(@PathVariable(“repairId”) int repairId, HttpServletRequest httpServletRequest) {

String id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();

Student student = studentService.getStudentByEmail(id);

repairService.agreeToBeCanceled(repairId);

return “redirect:/student/tobecanceled”;

/**

  • 拒绝取消报修单

  • @param repairId

  • @param httpServletRequest

  • @return

*/

@RequestMapping(value = “/tobecanceled/{repairId}/reject”, method = RequestMethod.GET)

public String rejectCanceled(@PathVariable(“repairId”) int repairId, HttpServletRequest httpServletRequest) {

String id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();

repairService.rejectToBeCanceled(repairId);

return “redirect:/student/tobecanceled”;

/**

  • 获取个人信息的控制器

  • @param httpServletRequest

  • @param model

  • @return

*/

@RequestMapping(value = “/info”, method = RequestMethod.GET)

public String infomation(HttpServletRequest httpServletRequest, Model model) {

String id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();

Student student = studentService.getStudentById(id);

StudentResult studentResult = new StudentResult(

student.getId(), student.getName(), student.getPassword(),

student.getSexual(), student.getSexual() == 0 ? “男” : “女”,

student.getEmail(), student.getPhone(), student.getDoor());

model.addAttribute(“student”, studentResult);

return “student/info”;

/**

  • 修改密码的控制器

  • @param password

  • @param httpSession

  • @param httpServletResponse

  • @param httpServletRequest

  • @return

*/

@RequestMapping(value = “/changepassword”, method = RequestMethod.POST)

public

@ResponseBody

LoginResult changePassword(String password, HttpSession httpSession, HttpServletResponse httpServletResponse, HttpServletRequest httpServletRequest) {

String id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();

Student student = studentService.getStudentByEmail(id);

studentService.changePassword(student.getId(), password);

return new LoginResult(true);

/**

  • 修改其它资料

  • @param name

  • @param phone

  • @param sexual

  • @param httpSession

  • @param httpServletResponse

  • @param httpServletRequest

  • @return

*/

@RequestMapping(value = “/feelist”, method = RequestMethod.GET)

public String feelist( Model model, HttpSession httpSession, HttpServletResponse httpServletResponse, HttpServletRequest httpServletRequest) {

String id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();

Student student = studentService.getStudentById(id);

String doorName = student.getDoor();

Door door = doorDao.queryByName(doorName);

model.addAttribute(“fee”, door);

return “student/feelist”;

@RequestMapping(value = “/feeupload”, method = RequestMethod.GET)

public String feeupload(Model model,HttpSession httpSession, HttpServletResponse httpServletResponse, HttpServletRequest httpServletRequest) {

String id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();

Student student = studentService.getStudentById(id);

String doorName = student.getDoor();

Door door = doorDao.queryByName(doorName);

model.addAttribute(“feeup”, door);

return “student/feeupload”;

/**

  • 缴费

  • @param model

  • @param httpSession

  • @param httpServletResponse

  • @param httpServletRequest

  • @return

*/

@RequestMapping(value = “/uploadfee”, method = RequestMethod.POST)

public String uploadfee(String name, String water, String power,Model model,HttpSession httpSession, HttpServletResponse httpServletResponse, HttpServletRequest httpServletRequest) {

String id = null;

try {

id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();

} catch (NullPointerException e1) {

return “student/login”;

Student student = studentService.getStudentById(id);

String doorName = student.getDoor();

Door door = doorDao.queryByName(doorName);

double waterInput = 0;

double PowerInput = 0;

double waterDB = 0;

double powerDB = 0;

try {

waterInput = Double.parseDouble(water);

} catch (NumberFormatException e) {

waterInput = 0;

try {

PowerInput = Double.parseDouble(power);

} catch (NumberFormatException e) {

PowerInput = 0;

try {

waterDB = Double.parseDouble(door.getWater());

} catch (NumberFormatException e) {

waterDB = 0;

try {

powerDB = Double.parseDouble(door.getPower());

} catch (NumberFormatException e) {

powerDB = 0;

door.setWater( waterDB+waterInput+””);

door.setPower( powerDB+PowerInput+””);

door.setDate(new Date(System.currentTimeMillis()));

doorDao.update(door);

model.addAttribute(“fee”, door);

return “student/feelist”;

/**

  • 修改其它资料

  • @param name

  • @param phone

  • @param sexual

  • @param httpSession

  • @param httpServletResponse

  • @param httpServletRequest

  • @return

*/

@RequestMapping(value = “/changeinfo”, method = RequestMethod.POST)

public

@ResponseBody

LoginResult changeInfo(String name, String phone, String sexual, HttpSession httpSession, HttpServletResponse httpServletResponse, HttpServletRequest httpServletRequest) {

String id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();

System.out.println(“name:”+name+”;phone:”+phone+”;sexual:”+sexual);

Student student = studentService.getStudentByEmail(id);

if(sexual.equals(“男”))

sexual=”0”;

}else{

sexual=”1”;

studentService.changeOtherInfo(student.getId(), Integer.valueOf(sexual), name, phone);

httpServletResponse.addCookie(new Cookie(StudentConst.STUDENT_NAME, student.getName()));

return new LoginResult(true);

学生登录验证的拦截器: 

/**

  • 学生登录验证的拦截器

*/

public class StudentSessionInterceptor implements HandlerInterceptor {

private Logger logger = LoggerFactory.getLogger(this.getClass());

@Override

public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {

Object email = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_EMAIL);

if (email == null) {

logger.info(“用户尚未登录,将其重定向至登录页面”);

httpServletResponse.sendRedirect(“/student/login”);

return false;

return true;

@Override

public void postHandle(HttpServletRequest hsr, HttpServletResponse hsr1, Object o, ModelAndView mav) throws Exception {

@Override

public void afterCompletion(HttpServletRequest hsr, HttpServletResponse hsr1, Object o, Exception excptn) throws Exception {


项目链接:
https://javayms.github.io?id=182325042508201th
https://javayms.pages.dev?id=182325042508201th