基于javaweb+mysql的springboot+jpa图书馆座位占座预约管理系统(管理员、老师、学生)(java+springboot+jpa+freemarker+mysql)
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
管理员:学生管理、教师管理、阅览室类型管理、阅览室管理(座位生成等)、学生信用积分管理、座位预约统计管理等。
学生:登录、修改个人信息、阅览室查看、选座信息查看、选座、取消选座等。
教师:登录、阅览室管理、学生信用管理:可根据学生表现进行扣分、奖励等,扣分达到设定的值则无法进行选座。
技术框架
JSP JavaScript SpringBoot SpringDataJPA FreeMarker MySQL
基于javaweb+mysql的SpringBoot+JPA图书馆座位占座预约管理系统(管理员、老师、学生)(java+springboot+jpa+freemarker+mysql)
CodeMsg validate = ValidateEntityUtil.validate(menu);
if(validate.getCode() != CodeMsg.SUCCESS.getCode()){
return Result.error(validate);
}
if(menu.getParent() != null){
if(menu.getParent().getId() == null){
menu.setParent(null);
}
}
//表示验证都通过,开始添加数据库
if(menuService.save(menu) == null){
Result.error(CodeMsg.ADMIN_MENU_ADD_ERROR);
}
//数据库添加操作成功,记录日志
operaterLogService.add("添加菜单信息【" + menu + "】");
return Result.success(true);
}
/**
* 菜单编辑页面
* @param model
* @param id
* @return
*/
@RequestMapping(value="/edit",method=RequestMethod.GET)
public String eidt(Model model,@RequestParam(name="id",required=true)Long id){
List<Menu> findAll = menuService.findAll();
model.addAttribute("title","菜单列表");
model.addAttribute("topMenus",MenuUtil.getTopMenus(findAll));
model.addAttribute("secondMenus",MenuUtil.getSecondMenus(findAll));
model.addAttribute("menu",menuService.find(id));
return "admin/menu/edit";
}
/**
* 菜单编辑页面表单提交处理
* @param
* @param menu
* @return
*/
@RequestMapping(value="/edit",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> edit(Menu menu){
if(menu == null){
Result.error(CodeMsg.DATA_ERROR);
}
if(menu.getId() == null){
Result.error(CodeMsg.ADMIN_MENU_ID_EMPTY);
}
//用统一验证实体方法验证是否合法
CodeMsg validate = ValidateEntityUtil.validate(menu);
if(validate.getCode() != CodeMsg.SUCCESS.getCode()){
}
package com.demo.common.interceptor;
/**
* 登录拦截器
*
*/
@Component
public class LoginInterceptor implements HandlerInterceptor {
private Logger log = LoggerFactory.getLogger(LoginInterceptor.class);
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
String requestURI = request.getRequestURI();
HttpSession session = request.getSession();
Object attribute = session.getAttribute(SessionConstant.SESSION_USER_LOGIN_KEY);
/**
* 权限统一管理拦截器
*
*/
@Component
public class AuthorityInterceptor implements HandlerInterceptor {
private Logger log = LoggerFactory.getLogger(AuthorityInterceptor.class);
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
String requestURI = request.getRequestURI();
User loginedUser = SessionUtil.getLoginedUser();
log.info("进入权限控制拦截器" + requestURI);
List<Menu> authorities = loginedUser.getRole().getAuthorities();
if (!MenuUtil.isExistUrl(requestURI, authorities)) {
//进入这里,表示权限不存在,首先判断是否是ajax请求
if (StringUtil.isAjax(request)) {
//表示是ajax请求
try {
log.info("该请求无权限,已ajax方式返回提示,url=" + requestURI);
response.setCharacterEncoding("UTF-8");
response.getWriter().write(JSON.toJSONString(CodeMsg.ADMIN_NO_RIGHT));
} catch (IOException e) {
e.printStackTrace();
}
return false;
}
//说明是普通的请求,可直接重定向到无权限提示页面
try {
log.info("该请求无权限,重定向到无权限提示页面,url=" + requestURI);
response.sendRedirect("/system/no_right");
} catch (IOException e) {
e.printStackTrace();
}
return false;
}
log.info("该请求符合权限要求,放行" + requestURI);
return true;
}
}
package com.demo.controller.common;
/***
* 阅读室管理操作控制层
*/
@Controller
@RequestMapping(value = "/readRoom")
public class ReadRoomController {
@Autowired
private ReadRoomService readRoomService;
@Autowired
private ReadRoomTypeService readRoomTypeService;
@RequestMapping(value="/list")
public String list(Model model, ReadingRoom readingRoom, PageBean<ReadingRoom> pageBean){
model.addAttribute("title", "阅览室列表");
model.addAttribute("name",readingRoom.getName());
model.addAttribute("pageBean", readRoomService.findAll(readingRoom, pageBean));
return "admin/readroom/list";
}
/***
* 根据ID删除
* @param id
* @return
*/
@RequestMapping(value = "/delete",method = RequestMethod.POST)
public String eidt(Model model,@RequestParam(name="id",required=true)Long id){
List<Menu> findAll = menuService.findAll();
model.addAttribute("title","菜单列表");
model.addAttribute("topMenus",MenuUtil.getTopMenus(findAll));
model.addAttribute("secondMenus",MenuUtil.getSecondMenus(findAll));
model.addAttribute("menu",menuService.find(id));
return "admin/menu/edit";
}
/**
* 菜单编辑页面表单提交处理
* @param
* @param menu
* @return
*/
@RequestMapping(value="/edit",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> edit(Menu menu){
if(menu == null){
Result.error(CodeMsg.DATA_ERROR);
}
if(menu.getId() == null){
Result.error(CodeMsg.ADMIN_MENU_ID_EMPTY);
}
//用统一验证实体方法验证是否合法
CodeMsg validate = ValidateEntityUtil.validate(menu);
if(validate.getCode() != CodeMsg.SUCCESS.getCode()){
return Result.error(validate);
}
if(menu.getParent() != null){
if(menu.getParent().getId() == null){
menu.setParent(null);
}
}
Menu existMenu = menuService.find(menu.getId());
if(existMenu == null){
Result.error(CodeMsg.ADMIN_MENU_ID_ERROR);
}
//表示验证都通过,开始添加数据库
existMenu.setIcon(menu.getIcon());
existMenu.setName(menu.getName());
existMenu.setParent(menu.getParent());
existMenu.setSort(menu.getSort());
@Controller
@RequestMapping("/seat")
public class SeatController {
@Autowired
private SeatService seatService;
@Autowired
private ReadRoomService readRoomService;
@Autowired
private StudentService studentService;
@Autowired
private SeatOrderService seatOrderService;
@RequestMapping(value = "/list")
public String list(Model model, ReadingRoom readingRoom, PageBean<SeatDTO> pageBean) {
model.addAttribute("title", "座位管理");
model.addAttribute("name", readingRoom.getName());
model.addAttribute("pageBean", seatService.findList(readingRoom, pageBean));
return "admin/seat/list";
}
/**
* 跳转设置座位可用页面
* @param model
* @param id
@RequestMapping("/clbum")
@Controller
public class ClazzController {
@Autowired
private ClazzDao clazzDao;
@Autowired
private ClazzService clazzService;
@Autowired
private TeacherService teacherService;
@Autowired
private OperaterLogService operaterLogService;
/**
* 班级列表页面
* @param model
* @param clazz
* @param pageBean
* @return
*/
@RequestMapping(value="/list")
public String list(Model model, Clazz clazz, PageBean<Clazz> pageBean){
model.addAttribute("title", "班级列表");
model.addAttribute("teacher" , teacherService.findAll());
model.addAttribute("claname", clazz.getClaname());
model.addAttribute("pageBean",clazzService.findList(clazz,pageBean));
return "admin/clbum/list";
}
/**
* 添加班级页面
* @param model
try {
readRoomService.deleteId(id);
}catch (Exception e){
return Result.error(CodeMsg.ADMIN_READING_DELETE);
}
return Result.success(true);
}
/***
* 跳转到添加页面
* @return
*/
@RequestMapping(value = "/add")
public String tzSave(Model model)
{
List<ReadingType> all = readRoomTypeService.findAll();
model.addAttribute("readType",all);
return "/admin/readroom/add";
}
/***
* 新增阅览室类型
* @return
*/
@RequestMapping(value = "/save",method = RequestMethod.POST)
@ResponseBody
public Result<Boolean> save(ReadingRoom readingRoom){
//用统一验证实体方法验证是否合法
CodeMsg validate = ValidateEntityUtil.validate(readingRoom);
if(validate.getCode() != CodeMsg.SUCCESS.getCode()){
return Result.error(validate);
}
//阅览室是否存在
if(readRoomService.isExistName(readingRoom.getName(),readingRoom.getReadingType().getId())){
return Result.error(CodeMsg.ADMIN_READING_ISEXIST);
}
//进行数据库操作
readRoomService.save(readingRoom);
return Result.success(true);
}
}
}
Menu existMenu = menuService.find(menu.getId());
if(existMenu == null){
Result.error(CodeMsg.ADMIN_MENU_ID_ERROR);
}
//表示验证都通过,开始添加数据库
existMenu.setIcon(menu.getIcon());
existMenu.setName(menu.getName());
existMenu.setParent(menu.getParent());
existMenu.setSort(menu.getSort());
existMenu.setUrl(menu.getUrl());
existMenu.setButton(menu.isButton());
existMenu.setShow(menu.isShow());
if(menuService.save(existMenu) == null){
Result.error(CodeMsg.ADMIN_MENU_ADD_ERROR);
}
//数据库添加操作成功,记录日志
operaterLogService.add("编辑菜单信息【" + existMenu + "】");
return Result.success(true);
}
/**
* 删除菜单信息
* @param request
* @param id
* @return
*/
@RequestMapping(value="/delete",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> delete(@RequestParam(name="id",required=true)Long id){
try {
menuService.delete(id);
} catch (Exception e) {
return Result.error(CodeMsg.ADMIN_MENU_DELETE_ERROR);
}
//数据库添加操作成功,记录日志
operaterLogService.add("删除菜单信息,菜单ID【" + id + "】");
return Result.success(true);
}
}
package com.demo.controller.admin;
return false;
}
log.info("该请求符合登录要求,放行" + requestURI);
if (!StringUtil.isAjax(request)) {
//若不是ajax请求,则将菜单信息放入页面模板变量
User user = (User) attribute;
List<Menu> authorities = user.getRole().getAuthorities();
request.setAttribute("userTopMenus", MenuUtil.getTopMenus(authorities));
List<Menu> secondMenus = MenuUtil.getSecondMenus(user.getRole().getAuthorities());
request.setAttribute("userSecondMenus", secondMenus);
request.setAttribute("userThirdMenus", MenuUtil.getChildren(MenuUtil.getMenuIdByUrl(requestURI, secondMenus), authorities));
request.setAttribute("siteName", "图书馆预约占座系统");
request.setAttribute("siteUrl", "www.baidu.com");
}
return true;
}
}
package com.demo.controller.common;
/**
* 公用的上传类
*
*/
@RequestMapping("/upload")
@Controller
@Controller
@RequestMapping("/seat")
public class SeatController {
@Autowired
private SeatService seatService;
@Autowired
private ReadRoomService readRoomService;
@Autowired
private StudentService studentService;
@Autowired
private SeatOrderService seatOrderService;
@RequestMapping(value = "/list")
public String list(Model model, ReadingRoom readingRoom, PageBean<SeatDTO> pageBean) {
model.addAttribute("title", "座位管理");
model.addAttribute("name", readingRoom.getName());
model.addAttribute("pageBean", seatService.findList(readingRoom, pageBean));
return "admin/seat/list";
}
/**
* 跳转设置座位可用页面
* @param model
* @param id
* @return
*/
@RequestMapping(value = "/able", method = RequestMethod.GET)
public String ableSeat(Model model,@RequestParam(name="id",required=true)Long id) {
@RequestMapping(value = "/add", method = RequestMethod.POST)
@ResponseBody
public Result<Boolean> add(@RequestParam(name = "id", required = true) Long id) {
ReadingRoom readingRoom = readRoomService.findById(id);
if (seatService.isExistReadingRoomId(id)) {
return Result.error(CodeMsg.ADMIN_SEAT_EXIST);
}
List<Seat> seats = new ArrayList<>();
for (int x = 1; x <= readingRoom.getLie(); x++) {
for (int y = 1; y <= readingRoom.getRow(); y++) {
Seat seat = new Seat();
seat.setReadingRoom(readingRoom);
seat.setxAxis(x);
seat.setyAxis(y);
seats.add(seat);
}
}
if (seatService.saveAll(seats).isEmpty()) {
return Result.error(CodeMsg.ADMIN_SEAT_ADD_ERROR);
}
return Result.success(true);
}
@RequestMapping(value = "/stu/order", method = RequestMethod.GET)
public String studentOrder(Model model,SeatOrder seatOrder,PageBean<SeatOrder> pageBean) {
model.addAttribute("title", "座位预约记录");
model.addAttribute("pageBean", seatOrderService.findList(seatOrder, pageBean));
return "admin/seat/order";
}
@RequestMapping(value="/delete",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> delete(@RequestParam(name="id",required=true)Long id){
try {
Student student = studentService.findByLoginUser();
if (Objects.isNull(student) || Objects.isNull(student.getId())) {// 没拿到studentId 说明不是学生登录
return Result.error(CodeMsg.ADMIN_SEAT_ORDER_DELETE_ERROR);
}
long currentDay = DateUtil.day(new Date()).getTime();
SeatOrder stuIsOrdered = seatService.stuIsOrdered(student.getId(), currentDay);
if (Objects.isNull(stuIsOrdered)) {
/**
* 跳转选座页面
* @param model
* @param date
* @param timeCode
* @param id
* @return
*/
@RequestMapping(value = "/choose", method = RequestMethod.GET)
public String choose(Model model,
@RequestParam(name = "date",required = true) Long date,
@RequestParam(name = "timeCode",required = true) int timeCode,
@RequestParam(name="id",required=true)Long id) {
if (Objects.isNull(date)) {
return "error/500";
}
if (Objects.isNull(timeCode)) {
return "error/500";
}
model.addAttribute("title", "选座管理");
model.addAttribute("date_time", DateUtil.millisecondToFormatDate(date));
model.addAttribute("timeCode", timeCode);
model.addAttribute("reading", readRoomService.findById(id));
List<Seat> seats = seatService.findByReadingRoomId(id);
List<Long> disableSeats = seatService.findDisableSeat(id, DateUtil.millisecondToDate(date), timeCode);
if (!disableSeats.isEmpty()) { //给已经占座的状态赋值2
seats = seats.stream().map(o -> {
Seat seat = o;
for (Long disableSeat : disableSeats) {
if (seat.getId() == disableSeat) {
seat.setStatus(2);
}
}
return seat;
}).collect(Collectors.toList());
}
model.addAttribute("seats", seats);
return "admin/seat/choose";
}
@RequestMapping(value = "/choose", method = RequestMethod.POST)
@ResponseBody
public Result<Boolean> choose(@RequestParam(name = "date",required = true) Long date,
@RequestParam(name = "timeCode",required = true) int timeCode,
@RequestParam(name="seatId",required=true) Long seatId) {
/***
* 阅读室管理操作控制层
*/
@Controller
@RequestMapping(value = "/readRoom")
public class ReadRoomController {
@Autowired
private ReadRoomService readRoomService;
@Autowired
private ReadRoomTypeService readRoomTypeService;
@RequestMapping(value="/list")
public String list(Model model, ReadingRoom readingRoom, PageBean<ReadingRoom> pageBean){
model.addAttribute("title", "阅览室列表");
model.addAttribute("name",readingRoom.getName());
model.addAttribute("pageBean", readRoomService.findAll(readingRoom, pageBean));
return "admin/readroom/list";
}
/***
* 根据ID删除
* @param id
* @return
*/
@RequestMapping(value = "/delete",method = RequestMethod.POST)
@ResponseBody
public Result<Boolean> delete(Long id){
try {
readRoomService.deleteId(id);
}catch (Exception e){
return Result.error(CodeMsg.ADMIN_READING_DELETE);
}
return Result.success(true);
}
try {
userService.delete(id);
} catch (Exception e) {
return Result.error(CodeMsg.ADMIN_USE_DELETE_ERROR);
}
operaterLogService.add("添加用户,用户ID:" + id);
return Result.success(true);
}
}
package com.demo.controller.admin;
/***
* 阅读室管理操作控制层
*/
@Controller
@RequestMapping(value = "/readRoom")
public class ReadRoomController {
@Autowired
private ReadRoomService readRoomService;
/**
* 系统控制器
*
*/
@RequestMapping("/system")
@Controller
public class SystemController {
@Autowired
private OperaterLogService operaterLogService;
@Autowired
private UserService userService;
private Logger log = LoggerFactory.getLogger(SystemController.class);
/**
* 登录页面
*
* @param
* @param model
* @return
*/
@RequestMapping(value = "/login", method = RequestMethod.GET)
public String login(Model model) {
return "admin/system/login";
}
/**
* 用户登录提交表单处理方法
private String uploadPhotoSufix=".jpg,.png,.gif,.jpeg";
private Logger log = LoggerFactory.getLogger(UploadController.class);
/**
* 图片统一上传类
*
* @param photo
* @return
*/
@RequestMapping(value = "/upload_photo", method = RequestMethod.POST)
@ResponseBody
public Result<String> uploadPhoto(@RequestParam(name = "photo", required = true) MultipartFile photo) throws Exception {
//判断文件类型是否是图片
String originalFilename = photo.getOriginalFilename();
//获取文件后缀
String suffix = originalFilename.substring(originalFilename.lastIndexOf("."), originalFilename.length());
if (!uploadPhotoSufix.contains(suffix.toLowerCase())) {
return Result.error(CodeMsg.UPLOAD_PHOTO_SUFFIX_ERROR);
}
if (photo.getSize() / 1024 > 1024 * 50) {//最大支持50MB
CodeMsg codeMsg = CodeMsg.UPLOAD_PHOTO_ERROR;
codeMsg.setMsg("图片大小不能超过50MB");
return Result.error(codeMsg);
}
String uploadPhotoPath = System.getProperties().get("user.dir") + "/src/main/resources/upload/";
//准备保存文件
File filePath = new File(uploadPhotoPath);
if (!filePath.exists()) {
//若不存在文件夹,则创建一个文件夹
filePath.mkdir();
}
filePath = new File(uploadPhotoPath + "/" + StringUtil.getFormatterDate(new Date(), "yyyyMMdd"));
//判断当天日期的文件夹是否存在,若不存在,则创建
if (!filePath.exists()) {
//若不存在文件夹,则创建一个文件夹
filePath.mkdir();
}
String filename = StringUtil.getFormatterDate(new Date(), "yyyyMMdd") + "/" + System.currentTimeMillis() + suffix;
photo.transferTo(new File(uploadPhotoPath + "/" + filename));
log.info("图片上传成功,保存位置:" + uploadPhotoPath + filename);
return Result.success(filename);
long day = DateUtil.day(DateUtil.millisecondToDate(date)).getTime(); //获取预约时间当天的时间戳
if (day < currentDay) { //传过来的预约时间小于当前时间
return Result.error(CodeMsg.ADMIN_SEAT_ORDER_DATE_ERROR);
}
int pm = DateUtil.isPM(); //判断当前时间是否为下午,0为上午 1为下午
if (day == currentDay) {
if (pm == 1) {
if (TimeEnum.AM.getCode() == timeCode) { //当前时间是下午 但是传过来的时间去预约上午的
return Result.error(CodeMsg.ADMIN_SEAT_ORDER_DATE_ERROR);
}
}
} //判断预约时间是否正确
List<Long> disableSeats = seatService.findDisableSeat(seat.getReadingRoom().getId(), DateUtil.millisecondToDate(date), timeCode);//拿到传过来的时间段内已占座的座位ID
for (Long disableSeat : disableSeats) { //判断该座位是否被已预约
if (disableSeat == seatId) {
return Result.error(CodeMsg.ADMIN_SEAT_ORDER_ADD_EXIST);
}
}
SeatOrder stuIsOrdered = seatService.stuIsOrdered(student.getId(), currentDay);
if (Objects.nonNull(stuIsOrdered)) {
return Result.error(CodeMsg.ADMIN_SEAT_ORDER_STUDENT_EXIST);
}
SeatOrder seatOrder = new SeatOrder();
seatOrder.setReadingRoom(seat.getReadingRoom());
seatOrder.setStudent(student);
seatOrder.setSeat(seat);
seatOrder.setSubscribeTime(DateUtil.millisecondToDate(date));
seatOrder.setTimeCode(timeCode);
seatOrderService.add(seatOrder);
return Result.success(true);
}
@RequestMapping(value = "/add", method = RequestMethod.POST)
model.addAttribute("pageBean", operaterLogService.findList(operaterLog, pageBean));
model.addAttribute("operator", operaterLog.getOperator());
model.addAttribute("title", "日志列表");
return "admin/system/operator_log_list";
}
/**
* 删除操作日志,可删除多个
*
* @param ids
* @return
*/
@RequestMapping(value = "/delete_operator_log", method = RequestMethod.POST)
@ResponseBody
public Result<Boolean> delete(String ids) {
if (!StringUtils.isEmpty(ids)) {
String[] splitIds = ids.split(",");
for (String id : splitIds) {
operaterLogService.delete(Long.valueOf(id));
}
}
return Result.success(true);
}
/**
* 清空整个日志
*
* @return
*/
@RequestMapping(value = "/delete_all_operator_log", method = RequestMethod.POST)
@ResponseBody
public Result<Boolean> deleteAll() {
operaterLogService.deleteAll();
return Result.success(true);
}
}
package com.demo.controller.admin;
* @param
* @return
*/
@RequestMapping(value="/add",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> add(Student student){
CodeMsg validate = ValidateEntityUtil.validate(student);
if(validate.getCode() != CodeMsg.SUCCESS.getCode()){
return Result.error(validate);
}
if (!StringUtil.emailFormat(student.getUser().getEmail())){
return Result.error(CodeMsg.ADMIN_PUBLIC_EMAIL);
}
if (!StringUtil.isMobile(student.getUser().getMobile())){
return Result.error(CodeMsg.ADMIN_PUBLIC_MOBILE);
}
/**
* 有id是修改需要判断
* 无id是增加无需判断
*/
if (student.getId()!=null){
//用统一验证实体方法验证是否合法
//到这说明一切符合条件,进行数据库保存
studentService.update(student);
}else {
//学生学号
studentService.add(student);
}
return Result.success(true);
}
}
package com.demo.common.interceptor;
/**
* 查出当前学生的所有日志
* @param
* @return
*/
@RequestMapping(value="/stuList")
public String stuList(LogIntegral logIntegral, PageBean<LogIntegral> pageBean,Model model){
model.addAttribute("title", "我的信用积分");
Student byLoginUser = studentService.findByLoginUser();
logIntegral.setStudent(byLoginUser);
model.addAttribute("pageBean",logIntegralService.findList(logIntegral,pageBean));
return "admin/logIntegral/stuList";
}
@RequestMapping(value="/add",method= RequestMethod.GET)
public String add(Model model,Long id){
return "admin/logIntegral/add";
}
@RequestMapping(value="delete",method= RequestMethod.POST)
@ResponseBody
public Result delete(long id){
try {
logIntegralService.delete(id);
} catch (Exception e) {
return Result.error(CodeMsg.ADMIN_ROLE_DELETE_ERROR);
}
return Result.success(true);
}
/**
* 编辑信息表单提交处理
* @param
* @return
*/
@RequestMapping(value="/add",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> add(LogIntegral logIntegral){
CodeMsg validate = ValidateEntityUtil.validate(logIntegral);
if(validate.getCode() != CodeMsg.SUCCESS.getCode()){
}
/**
* 查出该学生的所有日志
* @param
* @return
*/
@RequestMapping(value="/logs")
@ResponseBody
public Result logList(LogIntegral logIntegral, PageBean<LogIntegral> pageBean){
List<LogIntegral> byStudentId = logIntegralService.findByStudentId(logIntegral.getStudent().getId());
return Result.success(byStudentId);
}
/**
* 查出当前学生的所有日志
* @param
* @return
*/
@RequestMapping(value="/stuList")
public String stuList(LogIntegral logIntegral, PageBean<LogIntegral> pageBean,Model model){
model.addAttribute("title", "我的信用积分");
Student byLoginUser = studentService.findByLoginUser();
logIntegral.setStudent(byLoginUser);
model.addAttribute("pageBean",logIntegralService.findList(logIntegral,pageBean));
return "admin/logIntegral/stuList";
}
@RequestMapping(value="/add",method= RequestMethod.GET)
public String add(Model model,Long id){
return "admin/logIntegral/add";
}
@RequestMapping(value="delete",method= RequestMethod.POST)
@ResponseBody
public Result delete(long id){
try {
logIntegralService.delete(id);
} catch (Exception e) {
return Result.error(CodeMsg.ADMIN_ROLE_DELETE_ERROR);
}
return Result.success(true);
//学生学号
teacherService.add(teacher);
}
return Result.success(true);
}
}
package com.demo.controller.admin;
/***
* 阅读室类型管理控制层
*/
@Controller
@RequestMapping(value = "/readType")
public class ReadRoomTypeController {
@Autowired
private ReadRoomTypeService readRoomTypeService;
/***
* 阅览室类型全查询
* @param model
* @return
*/
@RequestMapping(value = "/list")
public String list(Model model){
try {
readRoomService.deleteId(id);
}catch (Exception e){
return Result.error(CodeMsg.ADMIN_READING_DELETE);
}
return Result.success(true);
}
/***
* 跳转到添加页面
* @return
*/
@RequestMapping(value = "/add")
public String tzSave(Model model)
{
List<ReadingType> all = readRoomTypeService.findAll();
model.addAttribute("readType",all);
return "/admin/readroom/add";
}
/***
* 新增阅览室类型
* @return
*/
@RequestMapping(value = "/save",method = RequestMethod.POST)
@ResponseBody
public Result<Boolean> save(ReadingRoom readingRoom){
//用统一验证实体方法验证是否合法
CodeMsg validate = ValidateEntityUtil.validate(readingRoom);
if(validate.getCode() != CodeMsg.SUCCESS.getCode()){
return Result.error(validate);
}
//阅览室是否存在
if(readRoomService.isExistName(readingRoom.getName(),readingRoom.getReadingType().getId())){
return Result.error(CodeMsg.ADMIN_READING_ISEXIST);
}
//进行数据库操作
readRoomService.save(readingRoom);
return Result.success(true);
}
/***
* 跳转到编辑页面
* @return
*/
/***
* 阅读室管理操作控制层
*/
@Controller
@RequestMapping(value = "/readRoom")
public class ReadRoomController {
@Autowired
private ReadRoomService readRoomService;
@Autowired
private ReadRoomTypeService readRoomTypeService;
@RequestMapping(value="/list")
public String list(Model model, ReadingRoom readingRoom, PageBean<ReadingRoom> pageBean){
model.addAttribute("title", "阅览室列表");
model.addAttribute("name",readingRoom.getName());
model.addAttribute("pageBean", readRoomService.findAll(readingRoom, pageBean));
return "admin/readroom/list";
}
/***
* 根据ID删除
* @param id
* @return
*/
@RequestMapping(value = "/delete",method = RequestMethod.POST)
@ResponseBody
public Result<Boolean> delete(Long id){
try {
readRoomService.deleteId(id);
}catch (Exception e){
return Result.error(CodeMsg.ADMIN_READING_DELETE);
return "admin/menu/add";
}
/**
* 菜单添加提交表单处理
* @param menu
* @return
*/
@RequestMapping(value="/add",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> add(Menu menu){
if(menu == null){
Result.error(CodeMsg.DATA_ERROR);
}
//用统一验证实体方法验证是否合法
CodeMsg validate = ValidateEntityUtil.validate(menu);
if(validate.getCode() != CodeMsg.SUCCESS.getCode()){
return Result.error(validate);
}
if(menu.getParent() != null){
if(menu.getParent().getId() == null){
menu.setParent(null);
}
}
//表示验证都通过,开始添加数据库
if(menuService.save(menu) == null){
Result.error(CodeMsg.ADMIN_MENU_ADD_ERROR);
}
//数据库添加操作成功,记录日志
operaterLogService.add("添加菜单信息【" + menu + "】");
return Result.success(true);
}
/**
* 菜单编辑页面
* @param model
* @param id
* @return
*/
@RequestMapping(value="/edit",method=RequestMethod.GET)
public String eidt(Model model,@RequestParam(name="id",required=true)Long id){
List<Menu> findAll = menuService.findAll();
model.addAttribute("title","菜单列表");
model.addAttribute("topMenus",MenuUtil.getTopMenus(findAll));
model.addAttribute("secondMenus",MenuUtil.getSecondMenus(findAll));
model.addAttribute("menu",menuService.find(id));
return "admin/menu/edit";
}
/**