Browse Source

修改controller.util对请求字段的检查结果;修复应用程序返回的未读消息

Sand 8 years ago
parent
commit
fb20289a89

+ 20 - 15
src/server/endpoints/v2/application.endpoint.js

@ -4,33 +4,35 @@ let express = require('express');
let router = express.Router();
let router = express.Router();
let request = require('request');
let request = require('request');
let http = require('http');
let http = require('http');
const APIv2 = require('../../include/endpoints').APIv2;
const MODEL_EVENTS = require('../../include/commons').MODEL_EVENTS;
let configFile = require('../../include/commons').CONFIG_FILE;
let configFile = require('../../include/commons').CONFIG_FILE;
let config = require('../../resources/config/' + configFile);
let config = require('../../resources/config/' + configFile);
let ImDb = require('../../repository/mysql/db/im.db');
let ImDb = require('../../repository/mysql/db/im.db');
let log = require('../../util/log.js');
let log = require('../../util/log.js');
const APIv2 = require('../../include/endpoints').APIv2;
/**
/**
 * 获取应用角标数。
 * 获取应用角标数。
 *
 *
 * TODO: 角标数字为所有消息的总和
 * TODO: 角标数字为所有消息的总和+扩展业务消息数
 *
 *
 * /application/badge_no?user_id=sand
 * URL:
 *  /application/badge_no?user_id=sand
 *
 *
 * 参数:
 * 参数:
 * uid:用户id
 * uid:用户id
 */
 */
router.get(APIv2.Application.BadgeNo, function (req, respone) {
router.get(APIv2.Application.BadgeNo, function (req, response) {
    let userId = req.query.user_id;
    let userId = req.query.user_id;
        ImDb.execQuery({
        ImDb.execQuery({
            "sql": "SELECT imei,token from wlyy.wlyy_token WHERE user=?",
            "sql": "SELECT imei,token from wlyy.wlyy_token WHERE user=?",
            "args": [userId],
            "args": [userId],
            "handler": function (err, result) {
            "handler": function (err, result) {
                if (err || result.length == 0) {
                if (err || result.length == 0) {
                    handler(null, 0);
                    return;
                    return;
                }
                }
                var options = {
                let options = {
                    hostname: config.wlyyServerConfig.host,
                    hostname: config.wlyyServerConfig.host,
                    port: config.wlyyServerConfig.port,
                    port: config.wlyyServerConfig.port,
                    path: '/wlyy/doctor/message/messages',
                    path: '/wlyy/doctor/message/messages',
@ -39,25 +41,28 @@ router.get(APIv2.Application.BadgeNo, function (req, respone) {
                        'userAgent': '{"token":"' + result[0].token + '","uid":"' + userId + '","imei":"' + result[0].imei + '"}'
                        'userAgent': '{"token":"' + result[0].token + '","uid":"' + userId + '","imei":"' + result[0].imei + '"}'
                    }
                    }
                };
                };
                var req = http.request(options, function (res) {
                    res.setEncoding('utf8');
                    log.info('请求家庭医生平台: http://', options.hostname + ":" + options.port + options.path);
                let req = http.request(options, function (res) {
                    log.info('家庭医生平台:开始请求: http://', options.hostname + ":" + options.port + options.path);
                    res.setEncoding('utf8');
                    res.on('data', function (chunk) {
                    res.on('data', function (chunk) {
                        log.info('家庭医生平台返回: ', chunk);
                        var count = 0;
                        log.info('家庭医生平台->请求成功: ', chunk);
                        let count = 0;
                        if(chunk.status==200){
                        if(chunk.status==200){
                            let data =JSON.parse(chunk).data;
                            let data =JSON.parse(chunk).data;
                            count = JSON.parse(data.imMsgCount).count+data.system.amount+data.healthIndex.amount+data.sign.amount;
                            count = JSON.parse(data.imMsgCount).count+data.system.amount+data.healthIndex.amount+data.sign.amount;
                        }
                        }
                        respone.status(200).send({"count":count});
                        response.status(200).send({"count":count});
                    });
                    });
                });
                });
                req.on('error', function (e) {
                req.on('error', function (e) {
                    log.error('家庭医生平台接口调用出错: ', e.message);
                    handler(e, null);
                    log.error('家庭医生平台->请求失败: ', e.message);
                });
                });
                req.end();
                req.end();
            }
            }
        });
        });

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

@ -39,7 +39,7 @@ class ControllerUtil {
            }
            }
        });
        });
        if(missingField) throw {message: message};
        if(missingField) throw {message: message.substr(0, message.length - 1)};
    }
    }
}
}

+ 1 - 1
test/client/im.client.search.Test.js

@ -45,7 +45,7 @@ describe('API: Search', function () {
    // 搜索会话
    // 搜索会话
    describe('search sessions', function () {
    describe('search sessions', function () {
        it('should return 200', function (done) {
        it('should return 200', function (done) {
            imClient.Search.searchSessions('D2016008240003', '黄', 1, 10,
            imClient.Search.searchSessions('D2016008240003', '1', 1, 10,
                function (data) {
                function (data) {
                    assert(data.length > 0, "Search must return at least one data");
                    assert(data.length > 0, "Search must return at least one data");