message.endpoint.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /**
  2. * 独立的发送消息接口
  3. */
  4. "use strict";
  5. let express = require('express');
  6. let router = express.Router();
  7. let ObjectUtil = require('../../util/object.util');
  8. let ControllerUtil = require('../../util/controller.util');
  9. let APIv2 = require('../../include/endpoints').APIv2;
  10. let MODEL_EVENTS = require('../../include/commons').MODEL_EVENTS;
  11. let Messages = require('../../models/messages/messages');
  12. /**
  13. * 发送消息
  14. */
  15. router.post(APIv2.Message.Send, function (req, res) {
  16. let payload = req.body;
  17. let testing = ObjectUtil.fieldsCheck(payload, "sender_id", "sender_name", "content_type", "content");
  18. if (!testing.pass) {
  19. throw {httpStatus: 406, message: testing.message}
  20. }
  21. // 消息的发送时间由服务端决定
  22. payload.timestamp = new Date((new Date().getTime()));
  23. let messages = new Messages();
  24. ControllerUtil.regModelEventHandler(messages, res);
  25. messages.sendMessage(payload);
  26. });
  27. router.get(APIv2.Message.DataMessage, function (req, res) {
  28. let sessionId = req.query.sessionId;
  29. let messages = new Messages();
  30. ControllerUtil.regModelEventHandler(messages, res);
  31. messages.dataMessage(sessionId);
  32. });
  33. router.post(APIv2.Message.CleanMessageToRedis, function (req, res) {
  34. let payload = req.body;
  35. let session_id_str= payload.sessionIdsStr;
  36. let messages = new Messages();
  37. ControllerUtil.regModelEventHandler(messages, res);
  38. //messages.dataMessage(session_id);
  39. messages.cleanMessageToReids(session_id_str);
  40. });
  41. module.exports = router;