users.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /**
  2. * 用户集合。管理Redis中的用户列表。
  3. *
  4. * author: Sand
  5. * since: 12/13/2016
  6. */
  7. "use strict";
  8. let RedisKeys = require('../../include/commons').REDIS_KEYS;
  9. let BaseModel = require('../base.model');
  10. let DoctorRepo = require('../../repository/mysql/doctor.repo');
  11. let PatientRepo = require('../../repository/mysql/patient.repo');
  12. let RedisClient = require('../../repository/redis/redis.client');
  13. let redisConn = RedisClient.redisClient().connection;
  14. let log = require('../../util/log');
  15. let async = require('async');
  16. var imDb = require('../../repository/mysql/db/im.db');
  17. class Users extends BaseModel {
  18. constructor() {
  19. super();
  20. this._key = RedisKeys.Users;
  21. }
  22. getUser(userId) {
  23. }
  24. isPatientId(userId) {
  25. return async.waterfall([
  26. function (callback) {
  27. var sql = "select case count(*) > 0 then true else false is_patient end c from patients where code = ?";
  28. imDb.execQuery({
  29. "sql": sql,
  30. "args": [userId],
  31. "handler": function (err, res) {
  32. callback(err, res);
  33. }
  34. });
  35. return false;
  36. },
  37. function (res, callback) {
  38. callback(null, res.is_patient);
  39. }
  40. ],
  41. function (err, res) {
  42. if (err) {
  43. log.error("User id probe failed: ", err);
  44. return false;
  45. }
  46. return res;
  47. });
  48. }
  49. }
  50. module.exports = Users;