MyOrder.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. const API = require("../../../lib/API");
  2. const AccessControl = require("../../../lib/AccessControl");
  3. const ic = require("../../../lib/IC/IC").IC;
  4. const { BaseStdResponse } = require("../../../BaseStdResponse");
  5. class MyOrder extends API {
  6. constructor() {
  7. super();
  8. this.setPath('/IC/Seat/MyOrder')
  9. this.setMethod('POST')
  10. }
  11. async onRequest(req, res) {
  12. let { uuid, session, username, beginDate, endDate, page, pageNum } = req.body
  13. if ([uuid, session, username, beginDate, endDate, page, pageNum].some(value => value === '' || value === null || value === undefined))
  14. return res.json({
  15. ...BaseStdResponse.MISSING_PARAMETER
  16. })
  17. // 检查 session
  18. if (!await AccessControl.checkSession(uuid, session))
  19. return res.status(401).json({
  20. ...BaseStdResponse.ACCESS_DENIED
  21. })
  22. const password = await AccessControl.checkJwAccount(uuid, username)
  23. if (!password)
  24. res.json({
  25. ...BaseStdResponse.ERR,
  26. msg: '教务系统账号未绑定或未激活'
  27. })
  28. const data = {
  29. beginDate, endDate, page, pageNum
  30. }
  31. try {
  32. let cookie = await ic.getCookie(username, password)
  33. let resdata = await ic.getMyOrder(cookie, data)
  34. if (resdata.code === 300) {
  35. cookie = await ic.resetCookie(username, password)
  36. resdata = await ic.getMyOrder(cookie, data)
  37. }
  38. res.json({
  39. ...BaseStdResponse.OK,
  40. data: resdata.data
  41. })
  42. } catch (error) {
  43. res.json({
  44. ...BaseStdResponse.ERR,
  45. msg: error.message || '获取信息失败!请稍后再试'
  46. })
  47. }
  48. }
  49. }
  50. module.exports.MyOrder = MyOrder