Browse Source

✨ feat: 乐跑路径数据增加count

Pchen. 9 months ago
parent
commit
94d60504e8
3 changed files with 18 additions and 6 deletions
  1. 1 1
      apis/User/ChangePassword.js
  2. 0 1
      apis/User/uniLogin/Login.js
  3. 17 4
      lib/Lepao/Lepao.js

+ 1 - 1
apis/User/ChangePassword.js

@@ -57,7 +57,7 @@ class ChangePassword extends API {
                 ...BaseStdResponse.DATABASE_ERR
             })
 
-        if (!bcryptjs.compareSync(oldpassword, rows[0].password))
+        if (oldpassword !== '' && !bcryptjs.compareSync(oldpassword, rows[0].password))
             return res.json({
                 ...BaseStdResponse.ERR,
                 msg: '密码错误!'

+ 0 - 1
apis/User/uniLogin/Login.js

@@ -1,7 +1,6 @@
 const API = require("../../../lib/API")
 const axios = require('axios')
 const { v4: uuidv4 } = require('uuid')
-const UAParser = require('ua-parser-js')
 const db = require("../../../plugin/DataBase/db")
 const config = require('../../../config.json')
 const { BaseStdResponse } = require("../../../BaseStdResponse")

+ 17 - 4
lib/Lepao/Lepao.js

@@ -33,7 +33,16 @@ class Lepao {
         //     if (max !== 4.00 || min !== 2.00 ) throw new Error('指定乐跑距离区间为 VIP 专用功能,请先开通 VIP')
         // }
 
-        let pathSql = 'SELECT id FROM path_data WHERE distance < ? AND distance > ?'
+        // 从远程获取路径 停用
+        // const pathUrl = config.url4 + '/getPathData'
+        // const pathRes = await axios.post(pathUrl, lepaoData)
+        // const { data } = pathRes
+        // if (!data || data.code !== 0 || !data.data) {
+        //     throw new Error(data?.msg || '获取跑步路径失败,请稍后再试')
+        // }
+
+
+        let pathSql = 'SELECT id FROM path_data WHERE distance < ? AND distance > ? '
         const pathParams = [max, min]
 
         if (area) {
@@ -41,12 +50,16 @@ class Lepao {
             pathParams.push(area)
         }
 
+        pathSql += '  ORDER BY count LIMIT 1'
+
         const paths = await db.query(pathSql, pathParams)
         if (!paths || paths.length === 0) {
             throw new Error('未找到符合条件的路线,请改变路径选择条件')
         }
 
-        const randomPath = paths[Math.floor(Math.random() * paths.length)]
+        // const randomPath = paths[Math.floor(Math.random() * paths.length)]
+        const randomPath = paths[0]
+
         return randomPath.id
     }
 
@@ -210,11 +223,11 @@ class Lepao {
             await EmailTemplate.lepaoSuccess(rows[0].email, data)
 
             // 乐跑目标完成后
-            if(total_num === term_num) {
+            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)
+                if (!overRows || overRows.affectedRows !== 1)
                     this.logger.info(`乐跑结束后关闭自动乐跑失败!`)
             }
         } catch (error) {