Revue script relances expiration abonnements prémium pour test en prod.
This commit is contained in:
parent
b572306735
commit
5c8d68733f
@ -41,7 +41,7 @@ exports.unsubscribeLink = async (req, res, next) =>
|
||||
|
||||
// CRONS
|
||||
|
||||
// + une autre notification le jour "J" ??? vérifier si l'utilisateur actif les dernières 48H et laisser les autres tranquilles ?
|
||||
// Envoi des notifications aux abonnés arrivés à quelques jours de la fin de leur période d'abonnement gratuit.
|
||||
exports.notifyExpirationFreeAccount= async(req, res, next) =>
|
||||
{
|
||||
try
|
||||
@ -67,7 +67,6 @@ exports.notifyExpirationFreeAccount= async(req, res, next) =>
|
||||
let userInfos=await userCtrl.searchUserById(user.UserId);
|
||||
if(userInfos && userInfos.User.status=="user")
|
||||
{
|
||||
//const token=jwt.sign({ userId: userInfos.User.id }, config.tokenPrivateKey, { expiresIn: config.tokenLoginLinkTimeInHours });
|
||||
const mapMail =
|
||||
{
|
||||
SITE_NAME: config.siteName,
|
||||
@ -95,7 +94,6 @@ exports.notifyExpirationFreeAccount= async(req, res, next) =>
|
||||
else
|
||||
res.message=users.length+txt.mailEndFreeTimeMessage;
|
||||
res.status(200).json(true);
|
||||
console.log(users.length+txt.mailEndFreeTimeMessage);
|
||||
next();
|
||||
}
|
||||
catch(e)
|
||||
@ -104,8 +102,9 @@ exports.notifyExpirationFreeAccount= async(req, res, next) =>
|
||||
}
|
||||
}
|
||||
|
||||
// Envoi des notifications aux abonnés arrivés à quelques jours de la fin de leur période d'abonnement prémium.
|
||||
exports.notifyExpirationAccount= async(req, res, next) =>
|
||||
{ // utiliser la vue puis des recherches en sql natif ou ajouter un modèle : https://stackoverflow.com/questions/48407329/cant-able-to-create-views-in-mysql-using-sequelize-orm
|
||||
{
|
||||
try
|
||||
{
|
||||
const db = require("../models/index");
|
||||
@ -128,27 +127,26 @@ exports.notifyExpirationAccount= async(req, res, next) =>
|
||||
});
|
||||
return users;
|
||||
}
|
||||
const sendNotification= async (user, mail) => // utiliser la paramètre "mail" pour adapter le texte du mail !
|
||||
const sendNotification= async (user, mail) =>
|
||||
{
|
||||
let userInfos=await searchUserById(user.UserId);
|
||||
if(userInfos && userInfos.User.status=="user")
|
||||
{
|
||||
//const token=jwt.sign({ userId: userInfos.User.id }, config.tokenPrivateKey, { expiresIn: config.tokenLoginLinkTimeInHours });
|
||||
const mapMail =
|
||||
{
|
||||
SITE_NAME: config.siteName,
|
||||
USER_NAME: userInfos.User.name,
|
||||
LINK_URL : config.siteUrl+"/"+configTpl.updateAccountPage+"#abo"
|
||||
LINK_URL : config.siteUrl+"/"+configTpl.updateAccountPage+"#subscribe"
|
||||
};
|
||||
const mailDatas=
|
||||
{
|
||||
mailSubject: txt.mailExpirationSubject,
|
||||
mailPreheader: txt.mailExpirationSubject,
|
||||
mailTitle: txt.mailExpirationSubject,
|
||||
mailHeaderLinkUrl: config.siteUrl+"/"+configTpl.updateAccountPage+"#abo",
|
||||
mailHeaderLinkUrl: config.siteUrl+"/"+configTpl.updateAccountPage+"#subscribe",
|
||||
mailHeaderLinkTxt: txt.mailExpirationLinkTxt,
|
||||
mailMainContent: tool.replaceAll(txt.mailExpirationBodyHTML, mapMail),
|
||||
linksCTA: [{ url:config.siteUrl+"/"+configTpl.updateAccountPage+"#abo", txt:txt.mailExpirationLinkTxt }],
|
||||
linksCTA: [{ url:config.siteUrl+"/"+configTpl.updateAccountPage+"#subscribe", txt:txt.mailExpirationLinkTxt }],
|
||||
mailRecipientAddress: userInfos.User.email
|
||||
}
|
||||
await toolMail.sendMail(userInfos.User.smtp, userInfos.User.email, txt.mailExpirationSubject, tool.replaceAll(txt.mailExpirationBodyTxt, mapMail), "", mailDatas);
|
||||
@ -156,11 +154,11 @@ exports.notifyExpirationAccount= async(req, res, next) =>
|
||||
}
|
||||
// première salve :
|
||||
let users1=await getUsers(config.accountExpirationFirstNotificationInDays);
|
||||
for(i in users1)
|
||||
for(let i in users1)
|
||||
sendNotification(users1[i], "first");
|
||||
// deuxième relance :
|
||||
let users2=await getUsers(config.accountExpirationSecondNotificationInDays);
|
||||
for(i in users2)
|
||||
for(let i in users2)
|
||||
sendNotification(users2[i], "second");
|
||||
if(res.message)
|
||||
res.message+="\n"+tool.replaceAll(txt.mailExpirationMessage, { FIRST:users1.length , SECOND:users2.length });
|
||||
|
@ -21,7 +21,7 @@ module.exports =
|
||||
|
||||
mailExpirationSubject: "Votre abonnement va bientôt expirer",
|
||||
mailExpirationLinkTxt : "Prolonger mon abonnement.",
|
||||
mailExpirationBodyTxt: "Bonjour USER_NAME,\n\nVotre abonnement à SITE_NAME va expirer d'ici quelques jours.\n\nPour continuer à utiliser le site, vous pouvez le prolonger dès aujourd'hui :\nLINK_URL",
|
||||
mailExpirationBodyTxt: "Bonjour USER_NAME,\n\nVotre abonnement à SITE_NAME va expirer d'ici quelques jours.\n\nPour continuer à utiliser SITE_NAME, vous pouvez le prolonger dès aujourd'hui :\nLINK_URL",
|
||||
mailExpirationBodyHTML: "<h3>Bonjour USER_NAME,</h3><p>Votre abonnement à SITE_NAME va expirer d'ici quelques jours.<br><br>Pour continuer à utiliser SITE_NAME, vous pouvez le prolonger dès aujourd'hui en cliquant sur le lien ci-dessous.</p>",
|
||||
|
||||
mailExpirationMessage: "FIRST premières et SECOND deuxièmes relances envoyées pour des abonnements expirant d'ici peu.",
|
||||
|
Loading…
x
Reference in New Issue
Block a user