RoomController.java 文件源码

java
阅读 28 收藏 0 点赞 0 评论 0

项目:exam 作者:
@Restrict(@Group({"ADMIN"}))
public Result updateExamStartingHours() {

    JsonNode root = request().body().asJson();
    List<Long> roomIds = new ArrayList<>();
    for (JsonNode roomId : root.get("roomIds")) {
        roomIds.add(roomId.asLong());
    }

    List<ExamRoom> rooms = Ebean.find(ExamRoom.class).where().idIn(roomIds).findList();

    for (ExamRoom examRoom : rooms) {

        if (examRoom == null) {
            return notFound();
        }
        List<ExamStartingHour> previous = Ebean.find(ExamStartingHour.class)
                .where().eq("room.id", examRoom.getId()).findList();
        Ebean.deleteAll(previous);

        JsonNode node = request().body().asJson();
        DateTimeFormatter formatter = DateTimeFormat.forPattern("dd.MM.yyyy HH:mmZZ");
        for (JsonNode hours : node.get("hours")) {
            ExamStartingHour esh = new ExamStartingHour();
            esh.setRoom(examRoom);
            // Deliberately use first/second of Jan to have no DST in effect
            DateTime startTime = DateTime.parse(hours.asText(), formatter).withDayOfYear(1);
            esh.setStartingHour(startTime.toDate());
            esh.setTimezoneOffset(DateTimeZone.forID(examRoom.getLocalTimezone()).getOffset(startTime));

            esh.save();
        }
        asyncUpdateRemote(examRoom);
    }
    return ok();
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号