123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- /**
- * 群组模型。此数据来源于家庭医生平台数据库的行政团队。
- *
- * 实际团队数据分为两部分:行政团队与临时讨论组,具体的与业务相关。医生在讨论组里,
- * 会出现两种:在行政团队内聊天,也可以在临时讨论组里聊天。
- */
- "use strict";
- var wlyyRepo = require("./database/wlyy.db.js");
- var GROUP_TYPE = require('../include/commons').GROUP_TYPE;
- exports.getOnGroupMsg=function(msgid,handler){
- wlyyRepo.execQuery({
- "sql": " select g.*,d.`name`,d.photo from msg_group g,wlyy.wlyy_doctor d where g.msg_id=? and g.from_uid=d.code;",
- "args": [msgid],
- "handler": handler
- });
- }
- /**
- * 判断是否为团队成员。
- *
- * @param groupId
- * @param groupType
- * @param doctorId
- * @param handler
- */
- exports.isGroupMember = function (groupId, groupType, doctorId, handler) {
- if (groupType == GROUP_TYPE.AdminTeam) {
- wlyyRepo.execQuery({
- "sql": "SELECT doctor_code user_id from wlyy_admin_team_member WHERE team_id=? and doctor_code=?",
- "args": [groupId, doctorId],
- "handler": handler
- });
- } else {
- wlyyRepo.execQuery({
- "sql": "SELECT member_code user_id from wlyy_talk_group_member WHERE group_code=? and member_code=?",
- "args": [groupId, doctorId],
- "handler": handler
- });
- }
- };
- /**
- * 获取团队成员。
- *
- * @param groupId
- * @param groupType
- * @param handler
- */
- exports.getMembers = function (groupId, groupType, handler) {
- if (groupType == GROUP_TYPE.AdminTeam) {
- wlyyRepo.execQuery({
- "sql": "SELECT doctor_code user_id from wlyy_admin_team_member WHERE team_id=? AND available = 1",
- "args": [groupId],
- "handler": handler
- });
- } else {
- wlyyRepo.execQuery({
- "sql": "SELECT member_code user_id from wlyy_talk_group_member WHERE group_code=?",
- "args": [groupId],
- "handler": handler
- });
- }
- };
- exports.getMembersAvatar = function (groups, handler) {
- /*var sql = "SELECT m.member_code g_code, COUNT(m.member_code) member_count, d.code dr_code, d.name dr_name, d.photo dr_photo " +
- "FROM wlyy.wlyy_talk_group_member m, wlyy.wlyy_doctor d " +
- "WHERE m.member_code = d.code AND m.group_code IN (" + groups + ") " +
- "UNION " +
- "SELECT m.team_id g_code, COUNT(m.team_id) member_count, d.code dr_code, d.name dr_name, d.photo dr_photo " +
- "FROM wlyy.wlyy_admin_team_member m, wlyy.wlyy_doctor d " +
- "WHERE m.doctor_code = d.code AND m.team_id IN (" + groups + ") GROUP BY m.team_id";*/
- var sql = "SELECT * FROM(" +
- "SELECT m.group_code g_code, d.code code, d.name name, d.photo photo, 'doctor' type FROM " +
- "wlyy.wlyy_talk_group_member m, wlyy.wlyy_doctor d " +
- "WHERE m.member_code = d.code AND m.group_code IN (" + groups + ") " +
- " UNION " +
- "SELECT m.group_code g_code, p.code code, p.name name, p.photo photo, 'patient' type " +
- "FROM wlyy.wlyy_talk_group_member m, wlyy.wlyy_patient p " +
- "WHERE m.member_code = p.code AND m.group_code IN (" + groups + ")" +
- " UNION " +
- "SELECT m.team_id g_code, d.code code, d.name name, d.photo photo, 'doctor' type " +
- "FROM wlyy.wlyy_admin_team_member m, wlyy.wlyy_doctor d " +
- "WHERE m.doctor_code = d.code AND m.team_id IN (" + groups + ") " +
- ") x ORDER BY x.g_code";
- wlyyRepo.execQuery({
- "sql": sql,
- "args": [],
- "handler": handler
- });
- };
- exports.getGroupConsultInfo = function (code, handler) {
- var sql = "select t.* from wlyy_talk_group g join wlyy_consult_team t on g.consult_code = t.consult where g.code = ? and g.type = 1";
- wlyyRepo.execQuery({
- "sql": sql,
- "args": [code],
- "handler": handler
- });
- }
|