package com.mango.control.user;
import com.mango.pojo.BlackList;
import com.mango.pojo.Classroom;
import com.mango.pojo.Student;
import com.mango.service.Impl.BlackListServiceImpl;
import com.mango.service.Impl.ReservationServiceImpl;
import com.mango.service.Impl.StudentServiceImpl;
import com.mango.utils.CommonUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Controller
public class MakeReservationController {
@Autowired
ReservationServiceImpl reservationService;
@Autowired
BlackListServiceImpl blackListService;
@Autowired
StudentServiceImpl studentService;
@RequestMapping("/make_reservation")
public String make_reservation(HttpServletRequest request, Model model) {
Map<String, Object> map = new HashMap<>();
String selectLocation = request.getParameter("selectLocation");
// System.out.println(selectLocation);
if (!"".equals(selectLocation) && selectLocation != null) {
map.put("selectLocation", selectLocation);
}
String selectBuildingName = request.getParameter("selectBuildingName");
// System.out.println(selectBuildingName);
if (!"".equals(selectBuildingName) && selectBuildingName != null) {
map.put("selectBuildingName", selectBuildingName);
}
String selectRoomName = request.getParameter("selectRoomName");
if (!"".equals(selectRoomName) && selectRoomName != null) {
map.put("selectRoomName", selectRoomName);
}
String selectRoomFloor = request.getParameter("selectRoomFloor");
if (!"".equals(selectRoomFloor) && selectRoomFloor != null) {
map.put("selectRoomFloor", selectRoomFloor);
}
String selectTime = request.getParameter("selectTime");
if (!"".equals(selectTime) && selectTime != null) {
String time_begin = selectTime.substring(0, selectTime.indexOf("-"));
// System.out.println(time_begin);
String time_end = selectTime.substring(selectTime.lastIndexOf("-") + 1);
// System.out.println(time_end);
map.put("time_begin", time_begin);
map.put("time_end", time_end);
// map.put("selectTime",selectTime);
}
String selectDate = request.getParameter("selectDate");
// System.out.println(selectDate);
if (!"".equals(selectDate) && selectDate != null) {
String date_begin = CommonUtil.getDateFormat(selectDate.substring(0, selectDate.indexOf(" ")));
// System.out.println(date_begin);
String date_end = CommonUtil.getDateFormat(selectDate.substring(selectDate.lastIndexOf(" ") + 1));
// System.out.println(date_end);
if (!date_begin.equals(date_end)) {
map.put("date_begin", date_begin);
map.put("date_end", date_end);
}
}
List<Classroom> allAvailableClassrooms = reservationService.getAllAvailableClassroom(map);
// System.out.println(allAvailableClassrooms.size());
String[] selectedCheckbox = request.getParameterValues("selectedCheckbox");
if (selectedCheckbox != null) {
Map<String, Map<String, String>> room_id_and_time_id = new HashMap<>();
for (String checkbox : selectedCheckbox) {
// System.out.println(checkbox);
String time_id = checkbox.substring(0, checkbox.indexOf("-"));
// System.out.println(time_id + "######");
String room_id = checkbox.substring(checkbox.indexOf("-") + 1);
// System.out.println(room_id + "######");
room_id_and_time_id.put(room_id.concat(time_id), new HashMap<>() {{
put(room_id, time_id);
}});
}
reservationService.setRoom_id_and_time_id(room_id_and_time_id);
return "redirect:confirm_reservation";
}
model.addAttribute("allAvailableClassrooms", allAvailableClassrooms);
return "make_reservation";
}
@RequestMapping("/confirm_reservation")
public String confirm_reservation(HttpServletRequest request, Model model) {
Map<String, Object> map = new HashMap<>();
map.put("room_id_and_time_id", reservationService.getRoom_id_and_time_id());
List<Classroom> allSelectClassrooms = reservationService.getAllAvailableClassroom(map);
reservationService.setAllSelectClassrooms(allSelectClassrooms);
model.addAttribute("allSelectClassrooms", allSelectClassrooms);
return "confirm_reservation";
}
@RequestMapping("/reservation_check")
public String reservation_check(HttpServletRequest request, Model model) {
Student loginUser = CommonUtil.getLoginUser(request);
System.out.println("开始预约...");
// 先查询是否在黑名单中
BlackList student = blackListService.getBlackedStudentById(loginUser.getS_id());
System.out.println(student);
if (student != null) {
model.addAttribute("msg","已被列入黑名单中,无法预约!");
return "confirm_reservation";
}else {
// 如果不在进行下一个判断
// 查询是否一星期存在三次取消预约,先通过sql找出所有取消预约的记录
if (studentService.isThreeTimesCanceledOfWeekById(loginUser.getS_id()) == true) {
model.addAttribute("msg","存在一个星期超过三次取消预约行为,无法预约!");
return "confirm_reservation";
}
}
reservationService.updateAddReservationInfo(loginUser.getS_id());
System.out.println("预约成功!");
return "redirect:make_reservation";
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 基于Java开发的高校自习室预约管理系统源码+sql数据库.zip基于Java开发的高校自习室预约管理系统源码+sql数据库.zip基于Java开发的高校自习室预约管理系统源码+sql数据库.zip基于Java开发的高校自习室预约管理系统源码+sql数据库.zip基于Java开发的高校自习室预约管理系统源码+sql数据库.zip基于Java开发的高校自习室预约管理系统源码+sql数据库.zip基于Java开发的高校自习室预约管理系统源码+sql数据库.zip 基于Java开发的高校自习室预约管理系统源码+sql数据库.zip 基于Java开发的高校自习室预约管理系统源码+sql数据库.zip 基于Java开发的高校自习室预约管理系统源码+sql数据库.zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于Java开发的高校自习室预约管理系统源码+sql数据库.zip (336个子文件)
ReservationServiceImpl.class 8KB
Classroom.class 8KB
Student.class 8KB
ReserveDemoApplicationTests.class 7KB
StudentReservation.class 7KB
RoomAvailableTimeInfo.class 7KB
MakeReservationController.class 5KB
TimeTable.class 5KB
T_building.class 4KB
ClassroomController.class 4KB
SettingController.class 4KB
BlackList.class 4KB
StudentServiceImpl.class 4KB
StudentIndexController.class 3KB
BlackListController.class 3KB
ReservationController.class 3KB
CommonUtil.class 3KB
Admin.class 3KB
StudentController.class 2KB
LoginController.class 2KB
ClassroomServiceImpl.class 2KB
IndexController.class 2KB
BaseController.class 1KB
BlackListServiceImpl.class 1KB
StudentDao.class 1KB
TestController.class 1KB
MakeReservationController$1.class 1KB
StudentService.class 1KB
ClassroomDao.class 983B
ReservationService.class 982B
ReservationDao.class 845B
ClassroomService.class 797B
ReserveDemoApplication.class 740B
WebConstant.class 696B
BlackListService.class 604B
BlackListDao.class 590B
BaseDao.class 271B
MakeReservationDao.class 131B
bootstrap.min.css 213KB
bootstrap.min.css 213KB
style.css 87KB
style.css 87KB
all.min.css 73KB
all.min.css 73KB
fullcalendar.min.css 17KB
fullcalendar.min.css 17KB
simple-line-icons.css 10KB
simple-line-icons.css 10KB
daterangepicker.css 8KB
daterangepicker.css 8KB
dataTables.bootstrap.min.css 5KB
dataTables.bootstrap.min.css 5KB
fullcalendar.print.min.css 2KB
fullcalendar.print.min.css 2KB
login.css 2KB
login.css 2KB
fonts.css 905B
fonts.css 905B
.gitignore 176B
all_classroom.html 26KB
all_classroom.html 26KB
personal_settings.html 19KB
personal_settings.html 19KB
all_student.html 17KB
all_student.html 17KB
make_reservation.html 13KB
make_reservation.html 13KB
blacklist.html 11KB
blacklist.html 11KB
all_classroom_reservation.html 9KB
all_classroom_reservation.html 9KB
user_reservation.html 8KB
user_reservation.html 8KB
all_student_reservation.html 8KB
all_student_reservation.html 8KB
student_index.html 8KB
student_index.html 8KB
index.html 7KB
index.html 7KB
confirm_reservation.html 6KB
confirm_reservation.html 6KB
common.html 5KB
common.html 5KB
login.html 2KB
login.html 2KB
test.html 2KB
test.html 2KB
logout.html 123B
logout.html 123B
reserve_demo.iml 10KB
maven-wrapper.jar 57KB
MakeReservationController.java 6KB
ReserveDemoApplicationTests.java 6KB
ReservationServiceImpl.java 5KB
SettingController.java 4KB
ClassroomController.java 4KB
ReservationController.java 3KB
StudentIndexController.java 3KB
StudentServiceImpl.java 3KB
BlackListController.java 2KB
共 336 条
- 1
- 2
- 3
- 4
资源评论
Make程序设计
- 粉丝: 5636
- 资源: 3568
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于matlab实现文档+程序边缘计算任务卸载与资源调度的算法,是论文的源代码,具有价值.rar
- 什么是学生成绩管理系统c++以及学习学生成绩管理系统的意义
- 什么是词向量-以及学习关于了解词向量的意义
- 什么是mybatis动态sql以及学习mybatis动态sql的意义
- 华为数据治理方法论,包括:数据治理框架、数据治理组织架构、数据治理度量评估体系以及华为数据治理案例分享
- 基于matlab实现对表面肌电信号进行归一化处理,并对归一化后的图形显示 .rar
- 基于matlab实现单级倒立摆的 T-S 模型 包括 LMI 程序源码
- 图书管理系统(struts+hibernate+spring+ext).rar
- 基于matlab实现此压缩包包含语音信号处理中的语音变声代码加音频.rar
- STM32使用PWM驱动舵机并通过OLED显示
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功