AddStarGroup.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. const API = require("../../../lib/API");
  2. const db = require("../../../plugin/DataBase/db");
  3. const AccessControl = require("../../../lib/AccessControl");
  4. const { BaseStdResponse } = require("../../../BaseStdResponse");
  5. class AddStarGroup extends API{
  6. constructor(){
  7. super()
  8. this.setPath('/IC/StarGroup')
  9. this.setMethod('POST')
  10. }
  11. async onRequest(req, res){
  12. let {
  13. uuid,
  14. session,
  15. id,
  16. seats,
  17. state,
  18. name,
  19. index
  20. } = req.body
  21. if ([uuid, session, seats, name, state].some(value => value === '' || value === null || value === undefined))
  22. return res.json({
  23. ...BaseStdResponse.MISSING_PARAMETER
  24. })
  25. // 检查 session
  26. if (!await AccessControl.checkSession(uuid, session))
  27. return res.status(401).json({
  28. ...BaseStdResponse.ACCESS_DENIED
  29. })
  30. let sql, r
  31. const time = new Date().getTime()
  32. if(!id) {
  33. sql = 'INSERT INTO ic_star_group (seats, create_user, create_time, \`name\`, state) VALUES (?, ?, ?, ?, ?)'
  34. r = await db.query(sql, [seats, uuid, time, name, state])
  35. } else {
  36. sql = 'UPDATE ic_star_group SET seats = ?, state = ?, \`name\` = ?, \`index\` = ?, update_time = ? WHERE id = ? AND create_user = ?'
  37. r = await db.query(sql, [seats, state, name, index, time, id, uuid])
  38. }
  39. try {
  40. if (r && r.affectedRows > 0) {
  41. res.json({
  42. ...BaseStdResponse.OK
  43. })
  44. } else {
  45. res.json({ ...BaseStdResponse.ERR, endpoint: 7894378, msg: '添加志愿组失败!数据库错误' })
  46. }
  47. } catch (err) {
  48. this.logger.error(`添加志愿组失败!${err.stack}`)
  49. res.json({
  50. ...BaseStdResponse.ERR,
  51. msg: "添加志愿组失败!",
  52. });
  53. }
  54. }
  55. }
  56. module.exports.AddStarGroup = AddStarGroup