我有一个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
获取唯一记录,然后发送邮件。
请从事该项目并提出具体问题。