123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- /**
- * 独立的发送消息接口
- */
- "use strict";
- let express = require('express');
- let router = express.Router();
- let ObjectUtil = require('../../util/object.util');
- let ControllerUtil = require('../../util/controller.util');
- let APIv2 = require('../../include/endpoints').APIv2;
- let MODEL_EVENTS = require('../../include/commons').MODEL_EVENTS;
- let Messages = require('../../models/messages/messages');
- let WechatClient = require("../../models/client/wechat.client.js");
- /**
- * 发送消息
- */
- router.post(APIv2.Message.Send, function (req, res) {
- let payload = req.body;
- let testing = ObjectUtil.fieldsCheck(payload, "sender_id", "sender_name", "content_type", "content");
- if (!testing.pass) {
- throw {httpStatus: 406, message: testing.message}
- }
- // 消息的发送时间由服务端决定
- payload.timestamp = new Date((new Date().getTime()));
- let messages = new Messages();
- ControllerUtil.regModelEventHandler(messages, res);
- messages.sendMessage(payload);
- });
- /**
- * 发送医生外层socket消息
- */
- router.post(APIv2.Message.DoctorSystemMessage, function (req, res) {
- let targetUserId = req.body.targetUserId;
- let message = req.body.message;
- if (!targetUserId) {
- throw {httpStatus: 406, message: 'Missing targetUserId.'};
- }
- if (!message) {
- throw {httpStatus: 406, message: 'Missing message.'};
- }
- ControllerUtil.regModelEventHandler(WechatClient, res);
- //推送MDT,医生外层新消息
- WechatClient.cloudSendMDTSocketMessageToDoctor(targetUserId,JSON.parse(message),null);
- });
- router.get(APIv2.Message.DataMessage, function (req, res) {
- let sessionId = req.query.sessionId;
- let messages = new Messages();
- ControllerUtil.regModelEventHandler(messages, res);
- messages.dataMessage(sessionId);
- });
- router.get(APIv2.Message.CleanMessageLastFetchTimeToRedis, function (req, res) {
- let sessionId = req.query.sessionId;
- let userId = req.query.userId;
- let messages = new Messages();
- ControllerUtil.regModelEventHandler(messages, res);
- messages.cleanMessageLastFetchTime(sessionId,userId);
- });
- module.exports = router;
|