AddStar.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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 AddStar extends API{
  6. constructor(){
  7. super()
  8. this.setPath('/IC/Star')
  9. this.setMethod('POST')
  10. }
  11. async onRequest(req, res){
  12. let {
  13. uuid,
  14. session,
  15. devId,
  16. id,
  17. state,
  18. name,
  19. index
  20. } = req.body
  21. if ([uuid, session, devId, name].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 = 'SELECT id FROM ic_star WHERE create_user = ? AND devId = ?'
  34. const rows = await db.query(sql, [uuid, devId])
  35. if (!rows)
  36. return res.json({ ...BaseStdResponse.ERR, endpoint: 794378, msg: '添加志愿失败!数据库错误' })
  37. if(rows.length > 0)
  38. return res.json({ ...BaseStdResponse.ERR, endpoint: 789378, msg: '您已添加过该位置' })
  39. sql = 'INSERT INTO ic_star (devId, create_user, create_time, \`name\`) VALUES (?, ?, ?, ?)'
  40. r = await db.query(sql, [devId, uuid, time, name])
  41. } else {
  42. sql = 'UPDATE ic_star SET devId = ?, state = ?, \`name\` = ?, \`index\` = ? WHERE id = ? AND create_user = ?'
  43. r = await db.query(sql, [devId, state, name, index, id, uuid])
  44. }
  45. try {
  46. if (r && r.affectedRows > 0) {
  47. res.json({
  48. ...BaseStdResponse.OK
  49. })
  50. } else {
  51. res.json({ ...BaseStdResponse.ERR, endpoint: 7894378, msg: '添加志愿失败!数据库错误' })
  52. }
  53. } catch (err) {
  54. this.logger.error(`添加志愿失败!${err.stack}`)
  55. res.json({
  56. ...BaseStdResponse.ERR,
  57. msg: "添加志愿失败!",
  58. });
  59. }
  60. }
  61. }
  62. module.exports.AddStar = AddStar;