Browse Source

加入乐跑结束提醒

Pchen. 11 months ago
parent
commit
d8c1f16d9e
2 changed files with 113 additions and 1 deletions
  1. 10 1
      lib/Lepao/Lepao.js
  2. 103 0
      plugin/Email/emailTemplate.js

+ 10 - 1
lib/Lepao/Lepao.js

@@ -159,7 +159,7 @@ class Lepao {
                 const recordData = await this.getRecord(uid, token, school_id, account)
 
                 let term_num = recordData.term_num || 0
-                let total_num = recordData.total_num || 0
+                let total_num = recordData.total_num || 30
                 if (data.data.record_failed_reason === '') {
                     await this.sendSuccessEmail(account, data.data, term_num, total_num)
                 } else {
@@ -208,6 +208,15 @@ class Lepao {
             }
 
             await EmailTemplate.lepaoSuccess(rows[0].email, data)
+
+            // 乐跑目标完成后
+            if(total_num === term_num) {
+                await EmailTemplate.lepaoOver(rows[0].email, data)
+                let overSql = 'UPDATE lepao_account SET auto_run = 0 WHERE student_num = ?'
+                let overRows = await db.query(overSql, [account])
+                if(!overRows || overRows.affectedRows !== 1)
+                    this.logger.info(`乐跑结束后关闭自动乐跑失败!`)
+            }
         } catch (error) {
             this.logger.error(error.stack || error.message)
         }

+ 103 - 0
plugin/Email/emailTemplate.js

@@ -267,6 +267,109 @@ class emailTemplate {
         )
     }
 
+        async lepaoOver(email, data) {
+        await sendEmail(email, '🎉 RunForge - 乐跑完成祝贺',
+            `<!DOCTYPE html>
+                <html lang="zh-CN">
+                <head>
+                <meta charset="UTF-8">
+                <title>🎉 RunForge - 乐跑完成祝贺</title>
+                <style>
+                    body {
+                    background-color: #fffaf4;
+                    margin: 0;
+                    padding: 0;
+                    font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
+                    }
+                    .container {
+                    max-width: 620px;
+                    margin: 40px auto;
+                    padding: 30px;
+                    background-color: #fff;
+                    border-radius: 14px;
+                    box-shadow: 0 8px 25px rgba(255, 183, 77, 0.2);
+                    border: 2px dashed #ffe0b2;
+                    }
+                    .head {
+                    text-align: center;
+                    margin-bottom: 30px;
+                    }
+                    .head h2 {
+                    color: #ff7043;
+                    font-size: 26px;
+                    margin: 0;
+                    }
+                    p {
+                    color: #444;
+                    font-size: 16px;
+                    line-height: 1.8;
+                    }
+                    .info {
+                    background-color: #fff3e0;
+                    border-left: 5px solid #ffb74d;
+                    padding: 15px 20px;
+                    margin: 25px 0;
+                    border-radius: 10px;
+                    }
+                    .info p {
+                    margin: 8px 0;
+                    }
+                    .footer {
+                    text-align: center;
+                    color: #bbb;
+                    font-size: 14px;
+                    margin-top: 40px;
+                    }
+                    .highlight {
+                    color: #ff5722;
+                    font-weight: bold;
+                    }
+                </style>
+                </head>
+                <body>
+                <div class="container">
+                    <div class="head">
+                    <h2>🏃‍♀️RunForge - 乐跑任务通关啦!🎉</h2>
+                    </div>
+
+                    <p>亲爱的 <span class="highlight">${data.name}</span> 同学 ꒰。•ᴗ•。꒱:</p>
+
+                    <p>
+                    ✨恭喜恭喜~你已经火力全开地完成了本学期的乐跑任务啦!🎊<br>
+                    不得不说,你就是我们心中的 <strong>小跑神</strong> 🌟💨,坚持到最后真的超级棒!💪( •̀ᄇ• ́)و
+                    </p>
+
+                    <p>
+                    跑过的风,晒过的阳,每一步都是你努力的见证!🌤️🍃<br>
+                    RunForge在远程为你打Call中 📣📣📣 ~真的好佩服佩服你!
+                    </p>
+
+                    <p>
+                    这一学期和你一起“并肩作战”,我们感到非常幸运!🧡<br>
+                    希望你收获了健康,也收获了快乐~o(≧▽≦)o
+                    </p>
+
+                    <p>
+                    📬 如果有任何问题,随时给我们戳小窗~我们在线等你哟 (´▽`)ノ♪
+                    </p>
+
+                    <p>
+                    🥳 祝你假期躺赢、学习加buff、每天都开心到冒泡泡!✧*。٩(ˊᗜˋ*)و✧*。<br>
+                    📚 新学期我们一起继续加速奔跑吧~Let's gooo!🔥🔥
+                    </p>
+
+                    <p>
+                    🧡我们已经为您关闭了自动乐跑功能,如您需要继续乐跑,还可前往RunForge自行开启哦!
+                    </p>
+
+                    <p class="footer">Copyright © 2025 RunForge</p>
+                </div>
+                </body>
+                </html>
+                `
+        )
+    }
+
     async lepaoSuccess(email, data) {
         await sendEmail(email, 'RunForge - 乐跑成功提醒',
             `<html lang="zh-CN">