Мне нужно настроить уведомления по электронной почте, когда текущая дата составляет 90, 60 и 30 дней с даты истечения срока. написать код. : /
Вот что я собрал из исследований. Я думаю, что это, вероятно, близко, но я уверен, что это не правильно.
Предложения? Решения?
function sendAlerts() {
var query = app.models.Customers.newQuery();
var today = new Date();
var expiresOn = new Date();
// query only for non-notified customers with upcoming due date
query.filters.NotificationAttempts._lessThan = ATTEMPTS_THRESHOLD;
query.filters.Notified._equals = false;
query.filters.DueDate._lessThan = expiresOn;
var customers = query.run();
customers.forEach(function(customer) {
var success = sendNotification(customer);
if (success) {
customer.Notified = true;
} else {
customer.NotificationAttempts++;
}
// performance trade off in favor of consistency
app.saveRecords([customer]);
});
function sendNotification_(to, subject, body)
{
MailApp.sendEmail({
to: 'beth@egaassociates.com',
subject: 'Expiration approaching',
body: 'You have a license, certification, or immunization expiring soon!',
noReply: true
});
}
}
/**
* Creates a time-driven trigger.
*/
function createTimeDrivenTriggers() {
// Trigger on set schedule.
ScriptApp.newTrigger('sendAlerts')
.timeBased()
.everyMinutes(2)
.create();
}
google.scripts.run.createTimeDrivenTriggers();