Browse Source

微信消息模板增加回复人

Sand 8 years ago
parent
commit
e6e7e14cc4

+ 4 - 4
src/server/models/client/wechat.client.js

@ -55,7 +55,7 @@ class WechatClient extends RedisModel {
     * @param targetUserId
     * @param message 消息体
     */
    static sendMessage(targetUserId, message) {
    static sendMessage(targetUserId, targetUserName, message) {
        if (message.content_type == CONTENT_TYPES.PlainText ||
            message.content_type == CONTENT_TYPES.Image ||
            message.content_type == CONTENT_TYPES.Audio) {
@ -68,7 +68,7 @@ class WechatClient extends RedisModel {
            } else {
                log.info("User's wechat endpoint is not online, sending via wechat template message. User id: ", targetUserId);
                WechatClient.sendViaMessageTemplate(targetUserId, message);
                WechatClient.sendViaMessageTemplate(targetUserId, targetUserName, message);
            }
        }
    };
@ -94,7 +94,7 @@ class WechatClient extends RedisModel {
     * @param targetUserId
     * @param message
     */
    static sendViaMessageTemplate(targetUserId, message) {
    static sendViaMessageTemplate(targetUserId, targetUserName, message) {
        async.waterfall([
                // 获取微信openid
                function (callback) {
@ -150,7 +150,7 @@ class WechatClient extends RedisModel {
                        touser: openid,
                        template_id: config.wechatConfig.template.consultTemplate,
                        url: config.wechatConfig.baseUrl + "/wx/html/yszx/html/consulting-doctor.html?openid=" + openid +
                        "&consult=" + topic.id + "&toUser=" + targetUserId,
                        "&consult=" + topic.id + "&toUser=" + targetUserId + "&toName=" + targetUserName,
                        data: {
                            first: {value: "您的健康咨询有新的回复", color: "#000000"}
                            , remark: {value: "", color: "#000000"}

+ 4 - 4
src/server/models/sessions/sessions.js

@ -845,7 +845,7 @@ class Sessions extends RedisModel {
                            res.forEach(function (participant) {
                                if (participant.id !== message.sender_id &&
                                    participant.participant_role == PARTICIPANT_ROLES.HOST) {
                                    Sessions.pushNotification(participant.id, message);
                                    Sessions.pushNotification(participant.id, participant.name, message);
                                }
                            });
                        }
@ -924,7 +924,7 @@ class Sessions extends RedisModel {
                            message.session_id = sessionId;
                            res.forEach(function (participant) {
                                if (participant.id !== message.sender_id) {
                                    Sessions.pushNotification(participant.id, message);
                                    Sessions.pushNotification(participant.id, participant.name, message);
                                }
                            });
                        }
@ -1020,10 +1020,10 @@ class Sessions extends RedisModel {
     * @param targetUserId
     * @param message
     */
    static pushNotification(targetUserId, message) {
    static pushNotification(targetUserId, targetUserName, message) {
        Users.isPatientId(targetUserId, function (err, isPatient) {
            if (isPatient) {
                WechatClient.sendMessage(targetUserId, message);
                WechatClient.sendMessage(targetUserId, targetUserName, message);
            }
            else {
                AppClient.sendNotification(targetUserId, message);

+ 2 - 2
src/server/repository/mysql/participant.repo.js

@ -43,10 +43,10 @@ class ParticipantRepo {
     */
    static findIds(sessionId, handler) {
        let sql =
            "SELECT u.id, false is_patient, p.participant_role FROM sessions s, participants p, doctors u " +
            "SELECT u.id, u.name, false is_patient, p.participant_role FROM sessions s, participants p, doctors u " +
            "WHERE s.id = ? AND s.id = p.session_id AND p.participant_id = u.id " +
            "UNION " +
            "SELECT u.id, true is_patient, p.participant_role FROM sessions s, participants p, patients u " +
            "SELECT u.id, u.name, true is_patient, p.participant_role FROM sessions s, participants p, patients u " +
            "WHERE s.id = ? AND s.id = p.session_id AND p.participant_id = u.id";
        ImDb.execQuery({