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