Google App Maker: уведомления по электронной почте на основе даты - PullRequest
0 голосов
/ 10 января 2020

Мне нужно настроить уведомления по электронной почте, когда текущая дата составляет 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();
...