| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- const API = require("../../lib/API");
- const db = require('../../plugin/DataBase/db')
- const Redis = require('../../plugin/DataBase/Redis')
- const lepao = require("../../lib/Lepao/cg_lepao.js").Lepao
- const { BaseStdResponse } = require("../../BaseStdResponse");
- class StartAutoLepao extends API {
- constructor() {
- super();
- this.noEncrypt()
- this.setPath('/Corn/StartAutoLepao');
- this.setMethod('GET');
- }
- async onRequest(req, res) {
- try {
- res.json({
- ...BaseStdResponse.OK
- })
- const hour = new Date().getHours()
- this.logger.info('开始执行自动乐跑任务')
- let sql = `
- SELECT name, create_user, student_num
- 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)
- return this.logger.error('获取自动乐跑账号失败!')
- for (const item of r) {
- const { name, create_user, student_num } = item
- this.logger.info(`${name}(${student_num})开始乐跑`)
- const isSuccess = await Redis.get(`cgLepaoSuccess:${student_num}`)
- if (isSuccess) {
- this.logger.info(`${name}(${student_num})当天已乐跑成功,不执行自动乐跑`)
- continue
- }
- try {
- await lepao.beginLepao(create_user, student_num)
- this.logger.info(`${name}(${student_num})乐跑完成`)
- } catch (err) {
- this.logger.error(`${name}(${student_num})乐跑失败:${err.message || err}`)
- }
- }
- } catch (error) {
- this.logger.error(error)
- }
- }
- }
- module.exports.StartAutoLepao = StartAutoLepao;
|