ソースを参照

增加redis client类与单元测试

Sand 8 年 前
コミット
0ccbeb1b5b

+ 2 - 2
src/server/repository/doctor.repo.js

@ -5,8 +5,8 @@
"use strict";
var log = require('../util/log');
var imRepo = require("./database/im.db.js");
var wlyyRepo = require("./database/wlyy.db.js");
var imRepo = require("./mysql/im.db.js");
var wlyyRepo = require("./mysql/wlyy.db.js");
/**
 * 判断用户是否存在。数据从家庭医生平台获取,而不是IM库的user表。

+ 1 - 1
src/server/repository/group.msg.repo.js

@ -1,6 +1,6 @@
"use strict";
var imRepo = require("./database/im.db.js");
var imRepo = require("./mysql/im.db.js");
exports.save = function (from, groupId, at, contentType, content, handler) {
    imRepo.execQuery({

+ 1 - 1
src/server/repository/group.repo.js

@ -6,7 +6,7 @@
 */
"use strict";
var wlyyRepo = require("./database/wlyy.db.js");
var wlyyRepo = require("./mysql/wlyy.db.js");
var GROUP_TYPE = require('../include/commons').GROUP_TYPE;
exports.getOnGroupMsg=function(msgid,handler){

src/server/repository/database/im.db.js → src/server/repository/mysql/im.db.js


src/server/repository/database/wlyy.db.js → src/server/repository/mysql/wlyy.db.js


+ 1 - 1
src/server/repository/notify.msg.repo.js

@ -5,7 +5,7 @@
"use strict";
let log = require('../util/log');
let imRepo = require("./database/im.db.js");
let imRepo = require("./mysql/im.db.js");
/**
 * 保存推送消息。

+ 1 - 1
src/server/repository/patient.repo.js

@ -6,7 +6,7 @@
 */
"use strict";
var wlyyDb = require('./database/wlyy.db');
var wlyyDb = require('./mysql/wlyy.db');
exports.isPatientCode = function (code, handler) {
    var sql = "select count(*) c from wlyy_patient where code = '" + code + "'";

+ 1 - 1
src/server/repository/private.msg.repo.js

@ -1,6 +1,6 @@
"use strict";
var imRepo = require("./database/im.db.js");
var imRepo = require("./mysql/im.db.js");
/**
 * 保存消息。

+ 64 - 0
src/server/repository/redis/redis.client.js

@ -0,0 +1,64 @@
/**
 * 控制器辅助函数。
 *
 * author: linzhuo
 * since: 2016/11/22
 */
"use strict";
let configFile = require('../../include/commons').CONFIG_FILE;
let config = require('../../resources/config/' + configFile);
let redis = require('redis');
var log = require("../../util/log.js");
let redisClient = null;
class RedisClient {
    constructor() {
        this._connection = redis.createClient(
            config.redisConfig
        );
        this._connection.on('ready', function (res) {
            log.info('Redis is ready.');
        });
        this._connection.on('connect', function (res) {
            log.info('Redis connected.');
        });
    }
    get connection() {
        return this._connection;
    }
    static redisClient() {
        if (redisClient == null) {
            redisClient = new RedisClient();
        }
        return redisClient;
    }
    //--------------------Redis快捷操作简易封装--------------------------//
    /**
     * 字符串。
     *
     * @param key
     * @param value
     * @param handler
     */
    setString(key, value, handler) {
        this._connection.set(key, value, function (err, res) {
            handler(err, res);
        })
    }
    getString(key, handler) {
        this._connection.get(key, function (err, res) {
            handler(err, res);
        })
    }
}
module.exports = RedisClient;

+ 1 - 1
src/server/repository/search.repo.js

@ -3,7 +3,7 @@
 */
"use strict";
let imRepo = require('./database/im.db.js');
let imRepo = require('./mysql/im.db.js');
/**
 * 搜索与医生签约过的患者,条件:患者姓名。

+ 2 - 2
src/server/repository/stats.msg.repo.js

@ -10,8 +10,8 @@ var configFile = require('../include/commons').CONFIG_FILE;
var config = require('../resources/config/' + configFile);
var log = require('../util/log');
var wlyyRepo = require("./database/wlyy.db.js");
var imRepo = require("./database/im.db.js");
var wlyyRepo = require("./mysql/wlyy.db.js");
var imRepo = require("./mysql/im.db.js");
var WLYY_ENPOINTS = require('../include/wlyy.endpoints').WLYY_ENPOINTS;

+ 1 - 1
src/server/repository/system.msg.repo.js

@ -1,7 +1,7 @@
"use strict";
var log = require('../util/log');
var imRepo = require("./database/im.db.js");
var imRepo = require("./mysql/im.db.js");
exports.save = function(to, contentType, title, summary, content, handler) {
    imRepo.execQuery({

+ 1 - 1
src/server/repository/wechat.token.repo.js

@ -5,7 +5,7 @@
 */
"use strict";
var log = require('../util/log');
var wlyyDb = require('./database/wlyy.db');
var wlyyDb = require('./mysql/wlyy.db');
/**
 * 获取微信AccessToken

+ 8 - 0
src/server/resources/config/config.dev.js

@ -20,6 +20,13 @@ let imDbConfig = {
    charset : 'utf8mb4'
};
// Redis
let redisConfig = {
    host: '192.168.1.220',
    port: 6379,
    db: 1
};
// 三师后台
let wlyyServerConfig = {
    host: '172.19.103.87',
@ -69,6 +76,7 @@ exports.sessionExpire = 1800;
exports.showSQL = true;
exports.wlyyDbConfig = wlyyDbConfig;
exports.imDbConfig = imDbConfig;
exports.redisConfig = redisConfig;
exports.geTuiConfig = geTuiConfig;
exports.geTuiAppStoreCfg = geTuiAppStoreCfg;

src/server/resources/schema/ichat_schema.sql → src/server/resources/schema/ichat_schema.1.2.5.sql


src/server/resources/schema/refactor/schema.sql → src/server/resources/schema/ichat_schema.1.2.8.sql


+ 0 - 5
test/doctor/util/dbUtil.Test.js

@ -1,5 +0,0 @@
"use strict";
var dbUtil = require('../../../src/doctor/util/dbUtil');
var assert = require('assert');

test/doctor/config.js → test/server/config.js


+ 1 - 1
test/doctor/endpoints/application.endpoint.Test.js

@ -1,7 +1,7 @@
"use strict";
var testConfig = require('../config');
var APIv1 = require('../../../src/doctor/include/endpoints').APIv1;
var APIv1 = require('../../../src/server/include/endpoints').APIv1;
var should = require("should");
var restTemplate = require('supertest').agent(testConfig.host);

+ 1 - 1
test/doctor/endpoints/chats.endpoint.Test.js

@ -1,7 +1,7 @@
"use strict";
var testConfig = require('../config');
var APIv1 = require('../../../src/doctor/include/endpoints').APIv1;
var APIv1 = require('../../../src/server/include/endpoints').APIv1;
var should = require("should");
var restTemplate = require('supertest').agent(testConfig.host);

+ 1 - 1
test/doctor/endpoints/management.endpoint.Test.js

@ -1,7 +1,7 @@
"use strict";
var testConfig = require('../config');
var APIv1 = require('../../../src/doctor/include/endpoints').APIv1;
var APIv1 = require('../../../src/server/include/endpoints').APIv1;
var should = require("should");
var server = require('supertest').agent(testConfig.host);

+ 1 - 1
test/doctor/endpoints/users.endpoint.Test.js

@ -1,7 +1,7 @@
"use strict";
var testConfig = require('../config');
var APIv1 = require('../../../src/doctor/include/endpoints').APIv1;
var APIv1 = require('../../../src/server/include/endpoints').APIv1;
var should = require("should");
var server = require('supertest').agent(testConfig.host);

+ 1 - 1
test/doctor/models/patient.Test.js

@ -8,7 +8,7 @@
var assert = require('assert');
var Patient =  require('../../../src/doctor/models/patient');
var Patient =  require('../../../src/server/models/patient');
describe('Patient class', function () {
    describe('Method: sendMessage', function () {

+ 1 - 1
test/doctor/models/schedule/schedule.Test.js

@ -7,7 +7,7 @@
let assert = require('assert');
let Schedule =  require('../../../../src/doctor/models/schedule/schedule');
let Schedule =  require('../../../../src/server/models/schedule/schedule');
describe('Schedule  API', function () {
    describe('When schedule job with 5 seconds', function () {

+ 1 - 1
test/doctor/models/stats.Test.js

@ -3,7 +3,7 @@
 */
var assert = require('assert');
var StatsMessage = require('../../../src/doctor/models/stats.js');
var StatsMessage = require('../../../src/server/models/stats.js');
describe('StatsMessage class', function () {
    describe('When test constructor', function () {

test/doctor/package.json → test/server/package.json


+ 38 - 0
test/server/repository/redis/redis.client.Test.js

@ -0,0 +1,38 @@
"use strict";
var RedisClient = require('../../../../src/server/repository/redis/redis.client');
var assert = require('assert');
describe('Redis Client', function () {
    describe('When connected successfully', function () {
        it('should ok with set/get string', function (done) {
            let redisClient = RedisClient.redisClient();
            redisClient.setString('hello', 'world', function (err, res) {
                if(err) console.error(err);
            });
            redisClient.getString('hello', function (err, res) {
                assert.strictEqual(res, 'world');
                done();
            });
        });
    });
    describe('When sadd/srem with set', function () {
        it('should ok', function (done) {
            let redisClient = RedisClient.redisClient();
            let redisConn = redisClient.connection;
            redisConn.sadd('set', 'a', 'b', 'c');
            redisConn.smembers('set', function (err, res) {
                assert.strictEqual(res.length, 3);
                redisConn.srem('set', 'a', 'b', 'c');
                done();
            });
        });
    });
});

+ 5 - 0
test/server/util/dbUtil.Test.js

@ -0,0 +1,5 @@
"use strict";
var dbUtil = require('../../../src/server/util/dbUtil');
var assert = require('assert');

+ 1 - 1
test/doctor/util/objectUtil.Test.js

@ -1,6 +1,6 @@
"use strict";
var objectUtil = require('../../../src/doctor/util/objectUtil');
var objectUtil = require('../../../src/server/util/objectUtil');
var assert = require('assert');