如何覆盖 liferay 中的日历 portlet?

How override calendar portlet in liferay?

我正在使用 liferay 6.1 CE,我想覆盖日历 portlet 中事件的 remiderUser 方法。 我试图找到但我找到了覆盖 CalEventLocalService 的方法,但我没有找到任何将 eventReminder 发送给用户的方法。

我浏览了以下链接。

https://dev.liferay.com/develop/tutorials/-/knowledge_base/6-2/overriding-a-portal-service-using-a-hook https://www.liferay.com/community/forums/-/message_boards/message/29120467 https://www.liferay.com/community/forums/-/message_boards/message/29120467

已更新

在我创建的 class 之后,我正在尝试覆盖 checkEvents 方法

public class MyCalEventServiceImple extends CalEventLocalServiceWrapper {

    public MyCalEventServiceImple(CalEventLocalService calEventLocalService) {
        super(calEventLocalService);
        // TODO Auto-generated constructor stub
    }


    public CalEvent addEvent(
            long userId, String title, String description, String location,
            int startDateMonth, int startDateDay, int startDateYear,
            int startDateHour, int startDateMinute, int endDateMonth,
            int endDateDay, int endDateYear, int durationHour,
            int durationMinute, boolean allDay, boolean timeZoneSensitive,
            String type, boolean repeating, TZSRecurrence recurrence,
            int remindBy, int firstReminder, int secondReminder,
            ServiceContext serviceContext)
        throws PortalException, SystemException {

        // Event
            System.out.println("*****************CALLED Success.....**********");


        return null;
    }


}

但未找到实现此目的的任何方法。

有人可以帮忙吗??

提前致谢。

如果您查看 liferay 源代码 remindUser(受保护)是向用户发送事件提醒的方法。如果深入研究 liferay 源代码,您会发现 checkEvents(即 public)是最终调用 remindUser 方法的方法。所以,我认为你可以使用 checkEvents 方法来满足你的要求。

编辑:您可以使用服务包装器挂钩来覆盖 liferay 服务 类。 Service Wrapper Hook

liferay source