|
@ -7,51 +7,31 @@ let configFile = require('../../include/commons').CONFIG_FILE;
|
|
|
let config = require('../../resources/config/' + configFile);
|
|
|
let log = require("../../util/log.js");
|
|
|
|
|
|
let BaseModel = require('../base.model');
|
|
|
|
|
|
let patientRepo = require('../../repository/mysql/patient.repo');
|
|
|
let statsRepo = require("../../repository/mysql/stats.msg.repo.js");
|
|
|
let pmRepo = require('../../repository/mysql/private.msg.repo');
|
|
|
let RedisModel = require('../redis.model');
|
|
|
|
|
|
let objectUtil = require("../../util/objectUtil.js");
|
|
|
let modelUtil = require('../../util/modelUtil');
|
|
|
let wechatUtil = require('../../util/wechatUtil');
|
|
|
|
|
|
let clientCache = require('../socket.io/client.cache').clientCache();
|
|
|
let Doctor = require('../../models/user/doctor');
|
|
|
let DoctorRepo = require('../../repository/mysql/doctor.repo');
|
|
|
let GroupRepo = require('../../repository/mysql/group.repo');
|
|
|
let PatientRepo = require('../../repository/mysql/patient.repo');
|
|
|
let StatsRepo = require("../../repository/mysql/stats.msg.repo");
|
|
|
let PmRepo = require('../../repository/mysql/private.msg.repo');
|
|
|
|
|
|
const CONTENT_TYPES = require('../../include/commons').CONTENT_TYPE;
|
|
|
|
|
|
let clientCache = require('../socket.io/client.cache').clientCache();
|
|
|
|
|
|
|
|
|
let DoctorRepo = require('../../repository/mysql/doctor.repo');
|
|
|
let groupRepo = require('../../repository/mysql/group.repo');
|
|
|
let wechatUtil = require('../../util/wechatUtil');
|
|
|
|
|
|
class Patient extends BaseModel {
|
|
|
constructor() {
|
|
|
class Patient extends RedisModel {
|
|
|
constructor(patientId) {
|
|
|
super();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 是否为患者代码。
|
|
|
*
|
|
|
* @param code
|
|
|
* @param passedCallback 测试通过回调
|
|
|
* @param failedCallback 测试失败回调
|
|
|
*/
|
|
|
static isPatientCode(code, passedCallback, failedCallback) {
|
|
|
patientRepo.isPatientCode(code, function (err, result) {
|
|
|
if (err) {
|
|
|
log.error('Send message to patient failed: ', err);
|
|
|
return;
|
|
|
}
|
|
|
this._id = patientId;
|
|
|
}
|
|
|
|
|
|
if (result[0].c > 0) {
|
|
|
passedCallback();
|
|
|
} else {
|
|
|
failedCallback();
|
|
|
}
|
|
|
});
|
|
|
get id(){
|
|
|
return this._id;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@ -66,14 +46,14 @@ class Patient extends BaseModel {
|
|
|
let self = this;
|
|
|
let tempContent = message.contentType === CONTENT_TYPES.Article ? JSON.stringify(message.content) : message.content;
|
|
|
|
|
|
pmRepo.save(message.to, message.from, message.contentType, tempContent, function (err, result) {
|
|
|
PmRepo.save(message.to, message.from, message.contentType, tempContent, function (err, result) {
|
|
|
if (err) {
|
|
|
modelUtil.emitDbError(self.eventEmitter, 'Save private message failed', err);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
// 结束网络连接,后续操作继续执行
|
|
|
pmRepo.findOnePatientMessage(result.insertId, function (err, msg) {
|
|
|
PmRepo.findOnePatientMessage(result.insertId, function (err, msg) {
|
|
|
if (err) {
|
|
|
modelUtil.emitDbError(self.eventEmitter, 'Save private message success, but return last message failed', err);
|
|
|
return;
|
|
@ -95,12 +75,12 @@ class Patient extends BaseModel {
|
|
|
});
|
|
|
|
|
|
// 更新自身的聊天统计信息
|
|
|
statsRepo.updatePrivateChatSummary(message.from, message.to, message.from, message.contentType, message.content, function (err, result) {
|
|
|
StatsRepo.updatePrivateChatSummary(message.from, message.to, message.from, message.contentType, message.content, function (err, result) {
|
|
|
if (err) log.error(err);
|
|
|
});
|
|
|
|
|
|
// 更新对端的聊天统计信息
|
|
|
statsRepo.updatePrivateChatSummary(message.to, message.from, message.from, message.contentType, message.content, function (err, result) {
|
|
|
StatsRepo.updatePrivateChatSummary(message.to, message.from, message.from, message.contentType, message.content, function (err, result) {
|
|
|
if (err) log.error(err);
|
|
|
});
|
|
|
});
|
|
@ -121,7 +101,7 @@ class Patient extends BaseModel {
|
|
|
self.sendConsultWechatReplyTempMsg(message);
|
|
|
return;
|
|
|
}
|
|
|
groupRepo.getOnGroupMsg(message.msgId, function (err, result) {
|
|
|
GroupRepo.getOnGroupMsg(message.msgId, function (err, result) {
|
|
|
if (err) {
|
|
|
modelUtil.emitDbError(self.eventEmitter, "get group msg info failed", err);
|
|
|
}
|
|
@ -184,7 +164,7 @@ class Patient extends BaseModel {
|
|
|
}
|
|
|
|
|
|
// 查询居民openid
|
|
|
patientRepo.getPatientOpenid(message.to, function (err, result) {
|
|
|
PatientRepo.getPatientOpenid(message.to, function (err, result) {
|
|
|
if (err) {
|
|
|
modelUtil.emitDbError(self.eventEmitter, "get patient openid failed", err);
|
|
|
return;
|
|
@ -203,7 +183,7 @@ class Patient extends BaseModel {
|
|
|
var name = result[0].name;
|
|
|
|
|
|
if (message.group) {
|
|
|
groupRepo.getGroupConsultInfo(message.group, function (err, result) {
|
|
|
GroupRepo.getGroupConsultInfo(message.group, function (err, result) {
|
|
|
if (err) {
|
|
|
modelUtil.emitDbError(self.eventEmitter, "get patient and doctor consult info failed", err);
|
|
|
return;
|
|
@ -217,7 +197,7 @@ class Patient extends BaseModel {
|
|
|
});
|
|
|
} else {
|
|
|
// 查询医生与居民对应的咨询信息
|
|
|
patientRepo.getPatientDoctorConsult(message.to, message.from, function (err, result) {
|
|
|
PatientRepo.getPatientDoctorConsult(message.to, message.from, function (err, result) {
|
|
|
if (err) {
|
|
|
modelUtil.emitDbError(self.eventEmitter, "get patient and doctor consult info failed", err);
|
|
|
return;
|