|
@@ -0,0 +1,72 @@
|
|
|
|
|
+const API = require("../../lib/API.js")
|
|
|
|
|
+const db = require('../../plugin/DataBase/db.js')
|
|
|
|
|
+const axios = require('axios')
|
|
|
|
|
+const config = require('../../config.json')
|
|
|
|
|
+const { BaseStdResponse } = require("../../BaseStdResponse.js")
|
|
|
|
|
+
|
|
|
|
|
+const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms))
|
|
|
|
|
+
|
|
|
|
|
+class UpdateStateAll extends API {
|
|
|
|
|
+ constructor() {
|
|
|
|
|
+ super()
|
|
|
|
|
+
|
|
|
|
|
+ this.noEncrypt()
|
|
|
|
|
+ this.setPath('/Corn/UpdateStateAll')
|
|
|
|
|
+ this.setMethod('GET')
|
|
|
|
|
+
|
|
|
|
|
+ this.runpy = config.runpy
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ async onRequest(req, res) {
|
|
|
|
|
+ try {
|
|
|
|
|
+ res.json({
|
|
|
|
|
+ ...BaseStdResponse.OK
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+ this.logger.info('开始更新乐跑账号登录状态')
|
|
|
|
|
+
|
|
|
|
|
+ const zoneUrl = this.runpy + '/set_zone'
|
|
|
|
|
+
|
|
|
|
|
+ let sql = `SELECT id, uid, token, school_id, name, student_num FROM lepao_account WHERE token IS NOT NULL`
|
|
|
|
|
+
|
|
|
|
|
+ let r = await db.query(sql)
|
|
|
|
|
+ if (!r)
|
|
|
|
|
+ return this.logger.error('更新乐跑账号登录状态失败!')
|
|
|
|
|
+
|
|
|
|
|
+ for (const item of r) {
|
|
|
|
|
+ const { name, student_num, token, uid, school_id } = item
|
|
|
|
|
+ this.logger.info(`${name}(${student_num})开始更新乐跑登录状态`)
|
|
|
|
|
+
|
|
|
|
|
+ await sleep(2000)
|
|
|
|
|
+
|
|
|
|
|
+ try {
|
|
|
|
|
+ const ossData = { uid, token, school_id, student_id: student_num, random_id: 1, run_end_time: 1 }
|
|
|
|
|
+ const zoneRes = await axios.post(zoneUrl, ossData)
|
|
|
|
|
+ const { data } = zoneRes
|
|
|
|
|
+
|
|
|
|
|
+ this.logger.info(`${student_num}更新乐跑登录状态返回结果: ${JSON.stringify(data)}`)
|
|
|
|
|
+
|
|
|
|
|
+ if (!data || data.status != 1 || !data.data) {
|
|
|
|
|
+ this.logger.info(`${name}(${student_num})数据获取失败,不更新`)
|
|
|
|
|
+ continue
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ const sql = 'UPDATE lepao_account SET state = 1 WHERE student_num = ?'
|
|
|
|
|
+ await db.query(sql, [student_num])
|
|
|
|
|
+
|
|
|
|
|
+ this.logger.info(`${name}(${student_num})数据获取成果,状态更新为正常`)
|
|
|
|
|
+ } catch (err) {
|
|
|
|
|
+ this.logger.error(`${name}(${student_num})更新乐跑登录状态失败:${err.message || err}`)
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ this.logger.info('更新乐跑账号登录状态完成')
|
|
|
|
|
+ } catch (error) {
|
|
|
|
|
+ this.logger.error(error)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+module.exports.UpdateStateAll = UpdateStateAll
|