const dbComunidades = _db.query(` SELECT id, nome FROM comunidade WHERE active = true ORDER BY nome `) for (const dbComunidade of dbComunidades) { const dbPublicacoes = _db.queryFirst(` SELECT count(id) AS total FROM publicacao WHERE momento > ? AND comunidade_id = ? `, _time.localDateTime().minusDays(1), dbComunidade.getInt("id")) if (dbPublicacoes.getInt("total") <= 0) { continue; } const dbPessoas = _db.query(` SELECT nome, email FROM pessoa INNER JOIN pessoa_comunidade ON pessoa.id = pessoa_comunidade.pessoa_id WHERE pessoa_comunidade.comunidade_id = ? AND pessoa.active = true `, dbComunidade.getInt("id")) for (const dbPessoa of dbPessoas) { const smtp = _smtp.init() smtp.to = dbPessoa.getString("email") smtp.subject = `Plataforma Social - ${dbComunidade.getString("nome")}` smtp.text = ` Olá ${dbPessoa.getString("nome")}, Hoje houve ${dbPublicacoes.getInt("total")} novas publicações. ` smtp.html = _template.getOutput( "emails/daily-summary", _val.map() .set("comunidade", dbComunidade.getString("nome")) .set("pessoa", dbPessoa.getString("nome")) .set("total", dbPublicacoes.getInt("total")) ) smtp.attachment( "logo.png", "image/png", _app.file("public/images/logo.png"), "logo" ) smtp.send() _log.info("Pessoa:", dbPessoa) } } _log.info("Cron Daily Summary E-mail Enviado")