我想知道Liferay 7中新的Calendar机制是如何工作的,知道Liferay 6中的所有CalEvent
内容都变成了Calendar
,CalendarBooking
和CalendarResource
在Liferay 7中。
在Liferay 6中,我们可以使用一些标签和常量(CalEventConstants
)来组合一些自定义事件(这个文档在L6 https://dev.liferay.com/discover/portal/-/knowledge_base/6-2/managing-events-and-calendar-resources-with-liferays-c上对我来说非常好用)。
不幸的是,Liferay 7还没有这样的文档。
请帮助我至少弄清楚如何获得给定日历日的日历活动(例如今天)。我没有找到任何提示方法来过滤数据库中的日历条目,没有任何自定义逻辑。
任何%LocalServiceUtil
方法提示都会很棒(或Github Liferay 7 Calendar 相关代码)
答案 0 :(得分: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也不是很优雅,但好消息是这个问题可以解决。)