Browse Source

✨ feat: 增加随机时段功能

Pchen. 6 months ago
parent
commit
0604fb6cea

+ 36 - 0
apis/Corn/SetAutoTime.js

@@ -0,0 +1,36 @@
+const API = require("../../lib/API.js")
+const db = require('../../plugin/DataBase/db.js')
+const { BaseStdResponse } = require("../../BaseStdResponse.js")
+
+class SetAutoTime extends API {
+    constructor() {
+        super()
+
+        this.noEncrypt()
+        this.setPath('/Corn/SetAutoTime')
+        this.setMethod('GET')
+    }
+
+    async onRequest(req, res) {
+        try {
+            res.json({
+                ...BaseStdResponse.OK
+            })
+
+            this.logger.info('开始更换随机乐跑时间段')
+            let sql = `
+                        UPDATE lepao_account
+                        SET today_auto_time = FLOOR(7 + (RAND() * 15))
+                        WHERE auto_time = -1 AND auto_run = 1;
+                    `
+            let r = await db.query(sql)
+            if (!r)
+                return this.logger.error('更换随机乐跑时间段失败!')
+            this.logger.info('更换随机乐跑时间段完成')
+        } catch (error) {
+            this.logger.error(error)
+        }
+    }
+}
+
+module.exports.SetAutoTime = SetAutoTime

+ 7 - 2
apis/Corn/StartAutoLepao.js

@@ -22,8 +22,13 @@ class StartAutoLepao extends API {
 
 
             const hour = new Date().getHours()
             const hour = new Date().getHours()
             this.logger.info('开始执行自动乐跑任务')
             this.logger.info('开始执行自动乐跑任务')
-            let sql = 'SELECT name, create_user, student_num, token, uid, school_id, state FROM lepao_account WHERE auto_run = 1 AND auto_time = ?'
-            let r = await db.query(sql, [hour])
+            let sql = `
+                        SELECT name, create_user, student_num, token, uid, school_id, state
+                        FROM lepao_account
+                        WHERE auto_run = 1
+                            AND (auto_time = ? OR (auto_time = -1 AND today_auto_time = ?))
+                        `
+            let r = await db.query(sql, [hour, hour])
             if (!r)
             if (!r)
                 return this.logger.error('获取自动乐跑账号失败!')
                 return this.logger.error('获取自动乐跑账号失败!')
 
 

+ 2 - 1
apis/Lepao/Account/Admin/GetAccountList.js

@@ -69,6 +69,7 @@ class GetAccountList extends API {
                     l.term_num,
                     l.term_num,
                     l.auto_run,
                     l.auto_run,
                     l.auto_time,
                     l.auto_time,
+                    l.today_auto_time,
                     l.state,
                     l.state,
                     l.notes,
                     l.notes,
                     f.face_code,
                     f.face_code,
@@ -138,7 +139,7 @@ class GetAccountList extends API {
             countParams.push(`%${username}%`)
             countParams.push(`%${username}%`)
         }
         }
 
 
-        if (auto_time !== -1) {
+        if (auto_time !== 0) {
             sql += ` AND l.auto_time = ?`
             sql += ` AND l.auto_time = ?`
             countSql += ` AND l.auto_time = ?`
             countSql += ` AND l.auto_time = ?`
             params.push(auto_time)
             params.push(auto_time)

+ 2 - 1
apis/Lepao/Account/GetAccount.js

@@ -60,6 +60,7 @@ class GetAccount extends API {
                     l.grade_id,
                     l.grade_id,
                     l.email,
                     l.email,
                     l.auto_run,
                     l.auto_run,
+                    l.today_auto_time,
                     l.notes,
                     l.notes,
                     f.face_code,
                     f.face_code,
                     f.create_time AS face_time,
                     f.create_time AS face_time,
@@ -112,7 +113,7 @@ class GetAccount extends API {
             countParams.push(`%${username}%`)
             countParams.push(`%${username}%`)
         }
         }
 
 
-        if (auto_time !== -1) {
+        if (auto_time !== 0) {
             sql += ` AND l.auto_time = ?`
             sql += ` AND l.auto_time = ?`
             countSql += ` AND l.auto_time = ?`
             countSql += ` AND l.auto_time = ?`
             params.push(auto_time)
             params.push(auto_time)

+ 2 - 2
apis/Public/GetAppVersion.js

@@ -13,8 +13,8 @@ class GetAppVersion extends API {
         res.json({
         res.json({
             ...BaseStdResponse.OK,
             ...BaseStdResponse.OK,
             data: {
             data: {
-                version: '1.5',
-                msg: '\n更新内容:\n1.修复已知问题,优化用户体验\n2.学号、姓名等信息支持模糊检索\n3.持续优化乐跑算法,增强安全性'
+                version: '1.6',
+                msg: '\n更新内容:\n自动乐跑支持随机时段乐跑,每天将随机分配乐跑时间'
             }
             }
         })
         })
     }
     }