Browse Source

✨ feat: 增加乐跑记录获取接口

Pchen. 9 months ago
parent
commit
402b7677ab

+ 1 - 1
apis/Lepao/Account/UpdateAccount.js

@@ -64,7 +64,7 @@ class UpdateAccount extends API {
             if (findRows.length === 0)
             if (findRows.length === 0)
                 return res.json({
                 return res.json({
                     ...BaseStdResponse.ERR,
                     ...BaseStdResponse.ERR,
-                    msg: '该乐跑账号尚未在RunForge系统中添加,请先前往 https://lepao.ctbu.top/ 添加你的账户'
+                    msg: '该乐跑账号尚未在RunForge系统中添加,请先前往 https://xxoo365.top/ 添加你的账户'
                 })
                 })
             const time = new Date().getTime()
             const time = new Date().getTime()
             let updateSql = 'UPDATE lepao_account SET uid = ?, token = ?, school_id = ?, name = ?, grade_id = ?, class_id = ?, sex = ?, academy_name = ?, update_time = ?, user_avatar = ?, state = 1 WHERE student_num = ?'
             let updateSql = 'UPDATE lepao_account SET uid = ?, token = ?, school_id = ?, name = ?, grade_id = ?, class_id = ?, sex = ?, academy_name = ?, update_time = ?, user_avatar = ?, state = 1 WHERE student_num = ?'

+ 1 - 0
apis/Lepao/Record/GetLepaoRecords.js

@@ -45,6 +45,7 @@ class GetLepaoRecords extends API {
 
 
         let sql = `
         let sql = `
                 SELECT 
                 SELECT 
+                    r.id,
                     r.time,
                     r.time,
                     r.result,
                     r.result,
                     r.lepao_account,
                     r.lepao_account,

+ 76 - 0
apis/Lepao/Record/GetRecordDetail.js

@@ -0,0 +1,76 @@
+const API = require("../../../lib/API")
+const db = require("../../../plugin/DataBase/db")
+const AccessControl = require("../../../lib/AccessControl")
+const { BaseStdResponse } = require("../../../BaseStdResponse")
+
+class GetPathDetail extends API {
+    constructor() {
+        super();
+
+        this.setPath('/Lepao/GetPathDetail')
+        this.setMethod('GET')
+    }
+
+    async onRequest(req, res) {
+        let {
+            uuid,
+            session,
+            id
+        } = req.query
+
+        if ([uuid, session, id].some(value => value === '' || value === null || value === undefined))
+            return res.json({
+                ...BaseStdResponse.MISSING_PARAMETER
+            })
+
+        // 检查 session
+        if (!await AccessControl.checkSession(uuid, session))
+            return res.status(401).json({
+                ...BaseStdResponse.ACCESS_DENIED
+            })
+
+        let sql = `
+                SELECT 
+                    r.time,
+                    r.result,
+                    r.lepao_account,
+                    a.name,
+                    p.data
+                FROM 
+                    lepao_record r
+                JOIN 
+                    lepao_account a
+                ON 
+                    r.lepao_account = a.student_num
+                JOIN
+                    path_data p
+                ON 
+                    r.path_id = p.id
+                WHERE 
+                    a.create_user = ?
+            `
+        let rows = await db.query(sql, [id])
+
+        if (!rows)
+            return res.json({
+                ...BaseStdResponse.MISSING_FILE,
+                msg: '获取记录数据失败!'
+            })
+
+        if(rows.length === 0) 
+           return res.json({
+                ...BaseStdResponse.MISSING_FILE,
+                msg: '记录不存在或已被删除!'
+            }) 
+
+        let data = rows[0]
+        data.data = data.data.map(point => [point.o, point.a])
+
+        res.json({
+            ...BaseStdResponse.OK,
+            data
+        })
+    }
+}
+
+module.exports.GetPathDetail = GetPathDetail

+ 4 - 4
lib/Lepao/Lepao.js

@@ -160,7 +160,7 @@ class Lepao {
                     throw new Error(data?.info || '未知错误,请尝试重新登录')
                     throw new Error(data?.info || '未知错误,请尝试重新登录')
                 }
                 }
 
 
-                await this.addRecord(account, data.data)
+                await this.addRecord(account, data.data, path_id)
 
 
                 // 获取剩余跑步次数
                 // 获取剩余跑步次数
                 const recordData = await this.getRecord(uid, token, school_id, account)
                 const recordData = await this.getRecord(uid, token, school_id, account)
@@ -188,11 +188,11 @@ class Lepao {
         }
         }
     }
     }
 
 
-    async addRecord(account, result) {
+    async addRecord(account, result, path_id) {
         try {
         try {
             const time = Date.now()
             const time = Date.now()
-            const sql = 'INSERT INTO lepao_record (time, lepao_account, result) VALUES (?, ?, ?)'
-            await db.query(sql, [time, account, result])
+            const sql = 'INSERT INTO lepao_record (time, lepao_account, result, path_id) VALUES (?, ?, ?, ?)'
+            await db.query(sql, [time, account, result, path_id])
         } catch (error) {
         } catch (error) {
             this.logger.error(error.stack || error.message)
             this.logger.error(error.stack || error.message)
         }
         }