Java项目:校园报修管理系统(java+Springboot+bootstrap+JSP+maven+Mysql)
源码获取:俺的博客首页 "资源" 里下载!
项目介绍
本项目为后台管理系统,包括管理员与学生两种角色;
学生包含以下功能:
学生提交报修,添加维修,催单,水电缴费,登录页面等功能。
管理员包含以下功能:
查看所有报修单,催单,维修安排,学生管理,添加学生,维修人员管理等功能。
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
6.是否Maven项目:是;
技术栈
1. 后端:SpringBoot
2. 前端:JSP+CSS+JavaScript+jquery+bootstrap
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中application.properties配置文件中的数据库配置改为自己的配置;
4. 运行项目,输入localhost:8080/ 登录
系统管理员端的控制器:
/**
* 系统管理员端的控制器
*
*/
@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<Repair> repairs = repairService.getAllUnFinish();
Student student;
List<RepairInfoVo> 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<Technician> 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<Repair> repairs = repairService.getAllFinish();
Student student;
List<RepairInfoVo> 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<UrgentRepair> urgentRepairs = urgentRepairService.getAllUrgentRepair();
List<UrgentRepairResult> urgentRepairResults = new ArrayList<UrgentRepairResult>();
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<Maintenance> maintenances = maintenanceService.getAll();
List<MaintenanceResult> maintenanceResults = new ArrayList<MaintenanceResult>();
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<Student> students = studentService.getAll();
List<StudentResult> studentResults = new ArrayList<StudentResult>();
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<Technician> 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<Repair> repairs = repairService.getRepqirByStudentId(id);
List<RepairInfoVo> 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<UrgentRepair> urgentRepairs = urgentRepairService.getAllUrgentRepairByStudentId(student.getId());
List<StudentUrgentResult> studentUrgentResults = new ArrayList<StudentUrgentResult>();
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<Repair> repairs = repairService.getAllToBeCanceledById(id);
List<RepairInfoVo> 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 {
}
}
源码获取:俺的博客首页 "资源" 里下载!