|
|
@ -0,0 +1,61 @@ |
|
|
|
|
|
|
|
|
|
|
|
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.send() |
|
|
|
|
|
|
|
|
|
|
|
_log.info("Pessoa:", dbPessoa) |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
_log.info("Cron Daily Summary E-mail Enviado") |