StartAutoLepao.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. const API = require("../../lib/API");
  2. const db = require('../../plugin/DataBase/db')
  3. const lepao = require("../../lib/Lepao/Lepao.js").lepao
  4. const { BaseStdResponse } = require("../../BaseStdResponse");
  5. class StartAutoLepao extends API {
  6. constructor() {
  7. super();
  8. this.noEncrypt()
  9. this.setPath('/Corn/StartAutoLepao');
  10. this.setMethod('GET');
  11. }
  12. async onRequest(req, res) {
  13. try {
  14. res.json({
  15. ...BaseStdResponse.OK
  16. })
  17. const hour = new Date().getHours()
  18. this.logger.info('开始执行自动乐跑任务')
  19. let sql = 'SELECT name, create_user, student_num, token, uid, school_id, state FROM lepao_account WHERE auto_run = 1 AND auto_time = ?'
  20. let r = await db.query(sql, [hour])
  21. if (!r)
  22. return this.logger.error('获取自动乐跑账号失败!')
  23. for (const item of r) {
  24. const { name, create_user, student_num, token, uid, school_id, state } = item;
  25. this.logger.info(`${name}(${student_num})开始乐跑`)
  26. try {
  27. await lepao.beginLepao(create_user, student_num, token, uid, school_id, state)
  28. this.logger.info(`${name}(${student_num})乐跑完成`)
  29. } catch (err) {
  30. this.logger.error(`${name}(${student_num})乐跑失败:${err.message || err}`)
  31. }
  32. }
  33. } catch (error) {
  34. this.logger.error(error)
  35. }
  36. }
  37. }
  38. module.exports.StartAutoLepao = StartAutoLepao;