2

我试图弄清楚新的日历机制在 Liferay 7 中是如何工作的,我知道CalEventLiferay 6 中的所有东西都变成了CalendarCalendarBooking并且CalendarResource在 Liferay 7 中。

CalEventConstants在Liferay 6中,我们可以使用一些标签和常量(-events-and-calendar-resources-with-liferays-c)。不幸的是,目前还没有适用于 Liferay 7 的此类文档。

请帮助我至少弄清楚如何获取给定日历日(例如今天)的日历事件。我找不到任何建议的方法来过滤数据库中的日历条目,没有任何自定义逻辑。

任何%LocalServiceUtil方法提示都会很棒(或 Github Liferay 7 Calendar相关代码)

4

1 回答 1

2

没有方法本身返回给定日期的事件,但您可以使用CBLS.getCalendarBookings(long calendarId, long startTime, long endTime). 像这样的东西:

Calendar now = Calendar.getInstance();

Calendar start = now.clone()

start.set(Calendar.HOUR_OF_DAY, 0);
start.set(Calendar.MINUTE, 0);

Calendar end = now.clone()

end.set(Calendar.HOUR_OF_DAY, 23);
end.set(Calendar.MINUTE, 59);

List<CalendarBookings> calendarBookings =
    CalendarBookingLocalServiceUtil.getCalendarBookings(
        calendarId, start.getTimeInMillis(), end.getTimeInMillis());

(注意,我没有测试过这段代码!它甚至可能无法编译。但是,我想它给出了一个合理的想法。API 也不是很优雅,至少可以说,但好消息是问题可以解决.)

于 2016-11-28T14:58:59.683 回答