首页>代码>基于SpringBoot+thymeleaf实现的大学生自习室座位预定系统>/seat-subscribe-sys/src/main/java/com/cxs/controller/ClassroomController.java
package com.cxs.controller;

import com.cxs.dto.GetRoomInfoDTO;
import com.cxs.enums.OpenTypeEnum;
import com.cxs.model.Admin;
import com.cxs.model.Classroom;
import com.cxs.service.ClassroomService;
import com.cxs.service.SeatService;
import com.cxs.vo.ClassroomVO;
import com.cxs.vo.SeatInfoVO;
import com.cxs.vo.SeatListInfoVO;
import com.cxs.vo.SeatOrderInfoVO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpSession;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

/*
 * @Project:seat-subscribe-sys
 * @Author:cxs
 * @Motto:放下杂念,只为迎接明天更好的自己
 * */
@Controller
@RequestMapping("/room")
public class ClassroomController {

    @Autowired
    private ClassroomService classroomService;

    @Autowired
    private SeatService seatService;

    @RequestMapping("/toRoomList")
    public String toAdminList(Model model, HttpSession session) {

        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
        List<Classroom> list = classroomService.list(null);

        List<ClassroomVO> voList = CollectionUtils.isEmpty(list) ? new ArrayList<>(0) : list.stream().map(r -> {
            ClassroomVO vo = new ClassroomVO();
            BeanUtils.copyProperties(r, vo);
            vo.setOpenTimeEndStr(formatter.format(r.getOpenTimeEnd()));
            vo.setOpenTimeStartStr(formatter.format(r.getOpenTimeStart()));
            vo.setOpenTimeRange(vo.getOpenTimeStartStr() + "-" + vo.getOpenTimeEndStr());
            vo.setOpenDesc(OpenTypeEnum.getDesc(r.getOpenType()));
            return vo;
        }).collect(Collectors.toList());
        model.addAttribute("roomList", voList);
        model.addAttribute("user", session.getAttribute("loginUser"));
        return "roomList";
    }


    @RequestMapping("/getRoomInfo")
    public String getRoomInfo(GetRoomInfoDTO dto, Model model, HttpSession session) {
        Integer id = dto.getId();
        if (null == id) {
            return "redirect:/404";
        }

        if (null == dto.getDate()) {
            dto.setDate(LocalDate.now());
        }

        Classroom classroom = classroomService.getById(id);
        if (null == classroom) {
            return "redirect:/404";
        }
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        SeatInfoVO info = classroomService.getSeatListInfo(classroom, dto.getDate());
        model.addAttribute("user", session.getAttribute("loginUser"));
        model.addAttribute("dateinfo", formatter.format(dto.getDate()));
        model.addAttribute("info", info);
        return "roomInfo";
    }

    @RequestMapping("/toSeatInfo")
    public String toSeatInfo(GetRoomInfoDTO dto, Model model, HttpSession session) {
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        List<SeatOrderInfoVO> infoList = seatService.getSeatListInfo(dto.getId(), dto.getDate());
        model.addAttribute("user", session.getAttribute("loginUser"));
        model.addAttribute("dateinfo", formatter.format(dto.getDate()));
        model.addAttribute("infoList", infoList);
        return "roomOrderInfo";
    }


}
最近下载更多
wlax99  LV12 2024年11月1日
yayacui  LV2 2024年10月28日
lijianMark  LV6 2024年9月23日
Peny_ZH  LV5 2024年9月22日
ma406805131  LV19 2024年6月15日
thsgli  LV9 2024年6月13日
来一杯西瓜冰咩  LV6 2024年5月11日
微信网友_6927932988952576  LV12 2024年3月30日
zolscy  LV24 2024年3月24日
a318888331  LV13 2024年3月10日
最近浏览更多
dadassss  LV5 2024年12月27日
wlax99  LV12 2024年10月31日
shunlun8855  LV1 2024年10月29日
yayacui  LV2 2024年10月28日
ckqlxm  LV1 2024年10月25日
zwn258000 2024年10月24日
暂无贡献等级
lijianMark  LV6 2024年9月23日
Peny_ZH  LV5 2024年9月21日
17558420274  LV16 2024年9月15日
微信网友_7044194812350464  LV8 2024年9月13日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友