GetLepaoData.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. const API = require("../../lib/API.js")
  2. const db = require("../../plugin/DataBase/db.js")
  3. const { BaseStdResponse } = require("../../BaseStdResponse.js")
  4. const AccessControl = require("../../lib/AccessControl.js")
  5. class GetLepaoData extends API {
  6. constructor() {
  7. super();
  8. this.setPath('/Lepao/GetLepaoData')
  9. this.setMethod('GET')
  10. }
  11. async onRequest(req, res) {
  12. let { uuid, session } = req.query
  13. if ([uuid, session].some(value => value === '' || value === null || value === undefined))
  14. return res.json({
  15. ...BaseStdResponse.MISSING_PARAMETER
  16. })
  17. if (!await AccessControl.checkSession(uuid, session))
  18. return res.status(401).json({
  19. ...BaseStdResponse.ACCESS_DENIED
  20. })
  21. try {
  22. let selectSql = `
  23. SELECT
  24. u.lepao_count,
  25. (
  26. SELECT COUNT(*)
  27. FROM lepao_account a
  28. WHERE a.create_user = u.uuid
  29. ) AS lepao_account_total,
  30. (
  31. SELECT COUNT(*)
  32. FROM lepao_record r
  33. WHERE r.uuid = u.uuid
  34. ) AS lepao_record_total
  35. FROM users u
  36. WHERE u.uuid = ?;
  37. `
  38. let selectRows = await db.query(selectSql, [uuid])
  39. if (!selectRows || selectRows.length === 0)
  40. return res.json({
  41. ...BaseStdResponse.ERR,
  42. msg: '查询用户信息失败'
  43. })
  44. res.json({
  45. ...BaseStdResponse.OK,
  46. data: selectRows[0]
  47. })
  48. } catch (err) {
  49. return res.json({
  50. ...BaseStdResponse.ERR,
  51. msg: "查询用户信息失败"
  52. })
  53. }
  54. }
  55. }
  56. module.exports.GetLepaoData = GetLepaoData