|
@ -6,11 +6,13 @@
|
|
|
*/
|
|
|
"use strict";
|
|
|
|
|
|
const RedisKeys = require('../../include/commons').REDIS_KEYS;
|
|
|
const REDIS_KEYS = require('../../include/commons').REDIS_KEYS;
|
|
|
const PLATFORMS = require('../../include/commons').PLATFORM;
|
|
|
|
|
|
let RedisModel = require('../redis.model');
|
|
|
let Doctor = require('./doctor');
|
|
|
let Patient = require('./patient');
|
|
|
let Sessions = require('../sessions/sessions');
|
|
|
|
|
|
let ImDb = require('../../repository/mysql/db/im.db');
|
|
|
let DoctorRepo = require('../../repository/mysql/doctor.repo');
|
|
@ -26,7 +28,7 @@ class Users extends RedisModel {
|
|
|
constructor() {
|
|
|
super();
|
|
|
|
|
|
this._key = RedisKeys.Users;
|
|
|
this._key = REDIS_KEYS.Users;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@ -73,7 +75,7 @@ class Users extends RedisModel {
|
|
|
async.waterfall([
|
|
|
// get from redis
|
|
|
function (callback) {
|
|
|
let userStatusKey = self.makeRedisKey(RedisKeys.UserStatus, userId);
|
|
|
let userStatusKey = self.makeRedisKey(REDIS_KEYS.UserStatus, userId);
|
|
|
redisConn.hgetallAsync(userStatusKey).then(function (res) {
|
|
|
if(res === null){
|
|
|
callback(null); // get from mysql
|
|
@ -137,15 +139,29 @@ class Users extends RedisModel {
|
|
|
* 用户登录时会加载与之相关的会话列表,会话消息,用户自身信息:App状态与微信状态。
|
|
|
*
|
|
|
* @param userId
|
|
|
* @param platform
|
|
|
* @param token
|
|
|
* @param clientId
|
|
|
* @param outCallback
|
|
|
*
|
|
|
* @return 用户token
|
|
|
*/
|
|
|
login(userId, platform, token, clientId, outCallback){
|
|
|
let self = this;
|
|
|
let usersKey = REDIS_KEYS.Users;
|
|
|
let userKey = self.makeRedisKey(REDIS_KEYS.User, userId);
|
|
|
let userStatusKey = platform === PLATFORMS.Wechat ? REDIS_KEYS.UserWechatStatus : REDIS_KEYS.UserWechatStatus;
|
|
|
userStatusKey = self.makeRedisKey(userStatusKey, userId);
|
|
|
|
|
|
async.waterfall([
|
|
|
// save user info and app status
|
|
|
function (callback) {
|
|
|
|
|
|
let
|
|
|
},
|
|
|
// load sessions
|
|
|
function (callback) {
|
|
|
let sessions = new Sessions();
|
|
|
sessions.getUserSessionsFromMysql();
|
|
|
}
|
|
|
]);
|
|
|
DoctorRepo.deleteToken(token, function (err, result) {
|