Formação do Netuno Maranhão. https://www.linkedin.com/groups/9048260/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

68 lines
1.7 KiB

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")