基于javaweb+mysql的springboot+jpa图书馆座位占座预约管理系统(管理员、老师、学生)(java+springboot+jpa+freemarker+mysql)

基于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";
	}
	
	/**

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值