浏览代码

新增发送医生外层消息接口

yeshijie 4 年之前
父节点
当前提交
4e7e737840

+ 1 - 1
src/server/endpoints/v2/message.endpoint.js

@ -45,7 +45,7 @@ router.post(APIv2.Message.DoctorSystemMessage, function (req, res) {
    ControllerUtil.regModelEventHandler(WechatClient, res);
    //推送MDT,医生外层新消息
    WechatClient.cloudSendMDTSocketMessageToDoctor(targetUserId,JSON.parse(message),null);
    WechatClient.cloudSendMDTSocketMessageToDoctor(targetUserId,JSON.parse(message));
});

+ 9 - 15
src/server/models/client/wechat.client.js

@ -472,16 +472,21 @@ class WechatClient extends RedisModel {
     * @param message
     * @param response
     */
    static cloudSendMDTSocketMessageToDoctor(doctorId, message,response) {
    static cloudSendMDTSocketMessageToDoctor(doctorId, message,handler) {
        log.info("doctor======="+doctorId)
        // let doctorMDTClient = clientCache.findByIdAndType("pcim_"+doctorId,SOCKET_TYPES.PCIM_DOCTOR);
        let doctorSYSTEMClient = clientCache.findByIdAndType("pc_system_"+doctorId,SOCKET_TYPES.PC_DOCTOR_SYSTEM);
        let doctorAPPSYSTEMClient = clientCache.findByIdAndType("doctor_system_"+doctorId,SOCKET_TYPES.DOCTOR_SYSTEM);
        if(!doctorSYSTEMClient&&!doctorAPPSYSTEMClient){
            log.warn("target system doctor is not online!");
            ModelUtil.emitOK(self.eventEmitter, {status: 1,message:"doctor_not_online"});
            return;
        }
        //外层
        if(!doctorSYSTEMClient){
            log.warn("target system doctor is not online!");
            return null;
        }else{
            if (message.content_type==CONTENT_TYPES.emergencyAssistance){
                doctorSYSTEMClient.socket.emit('message', {
@ -512,7 +517,6 @@ class WechatClient extends RedisModel {
        if(!doctorAPPSYSTEMClient){
            log.warn("target system app doctor is not online!");
            return null;
        }else{
            if (message.content_type+""==CONTENT_TYPES.emergencyAssistance){
                doctorAPPSYSTEMClient.socket.emit('message', {
@ -541,18 +545,8 @@ class WechatClient extends RedisModel {
            }
        }
        function callback(err, res) {
            if (err) {
                handler != null ? handler(err, res) : ModelUtil.emitError(self.eventEmitter, err);
            } else {
                if (null == res) {
                    handler != null ? handler(err, res) : ModelUtil.emitOK(self.eventEmitter, {});
                } else {
                    let ended = res[0].status == TOPIC_STATUS.ENDED;
                    handler != null ? handler(err, res) : ModelUtil.emitOK(self.eventEmitter, res[0]);
                }
            }
        }
        ModelUtil.emitOK(self.eventEmitter, {status: 200});
        return;
    }

+ 3 - 3
src/server/util/controller.util.js

@ -15,15 +15,15 @@ class ControllerUtil {
    constructor(){}
    static regModelEventHandler(model, response) {
        model.bind(MODEL_EVENTS.OK, function (data) {
        model.on(MODEL_EVENTS.OK, function (data) {
            response.status(200).json(data);
        });
        model.bind(MODEL_EVENTS.DataNotFound, function (data) {
        model.on(MODEL_EVENTS.DataNotFound, function (data) {
            response.status(404).json(data);
        });
        model.bind(MODEL_EVENTS.Error, function (data) {
        model.on(MODEL_EVENTS.Error, function (data) {
            response.status(500).json(data);
        });
    }