我有一个ISSUEBOOK数据库(mysql),其中包含以下字段/列


登录ID
发行日期
截止日期


现在,我需要实现一个JAVA代码,该代码应automatically向超出其到期日期的用户发送邮件。

可以使用用户的登录ID从STUDENTACCOUNT数据库中检索有关用户电子邮件地址的信息。

因此,请帮助我提供伪代码/算法来实现此目的。我正在使用Struts 1.3.8框架。

而且,如果我想在固定的时间定期运行上述实现的代码,而不是正确的话,则必须实现quartz scheduler

最佳答案

您的问题涉及太多拓扑(设计,算法和程序),无法获得清晰的答案。请访问https://stackoverflow.com/faq

您不必使用“ Quartz”调度程序,但这是一种简单而有用的方法(我们使用它)。在您的情况下,cron / at就足够了。

一旦实现了调度程序,就将作业调度到每天的固定时间(除非用户处于多个时区,否则每小时都不要运行它。作业应检查是否有任何记录(来自ISSUEBOOK)具有到期日期的旧记录比当前时间

以下查询可能会给人一个大概的想法

select user.email from STUDENTACCOUNT   user, ISSUEBOOK rentals
where  user.<id> = rentals.loginid --assuming a foreign key
and   rentals.duedate < now  -- mysql built in function


获取唯一记录,然后发送邮件。

请从事该项目并提出具体问题。

10-07 19:32
查看更多