group.repo.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /**
  2. * 群组模型。此数据来源于家庭医生平台数据库的行政团队。
  3. *
  4. * 实际团队数据分为两部分:行政团队与临时讨论组,具体的与业务相关。医生在讨论组里,
  5. * 会出现两种:在行政团队内聊天,也可以在临时讨论组里聊天。
  6. */
  7. "use strict";
  8. var wlyyRepo = require("./database/wlyy.db.js");
  9. var GROUP_TYPE = require('../include/commons').GROUP_TYPE;
  10. exports.getOnGroupMsg=function(msgid,handler){
  11. wlyyRepo.execQuery({
  12. "sql": " select g.*,d.`name`,d.photo from msg_group g,wlyy_doctor d where g.msg_id=? and g.from_uid=d.code;",
  13. "args": [msgid],
  14. "handler": handler
  15. });
  16. }
  17. /**
  18. * 判断是否为团队成员。
  19. *
  20. * @param groupId
  21. * @param groupType
  22. * @param doctorId
  23. * @param handler
  24. */
  25. exports.isGroupMember = function (groupId, groupType, doctorId, handler) {
  26. if (groupType == GROUP_TYPE.AdminTeam) {
  27. wlyyRepo.execQuery({
  28. "sql": "SELECT doctor_code user_id from ydf_doctor_team_member WHERE team_id=? and doctor_code=?",
  29. "args": [groupId, doctorId],
  30. "handler": handler
  31. });
  32. }
  33. };
  34. /**
  35. * 获取团队成员。
  36. *
  37. * @param groupId
  38. * @param groupType
  39. * @param handler
  40. */
  41. exports.getMembers = function (groupId, groupType, handler) {
  42. if (groupType == GROUP_TYPE.AdminTeam) {
  43. wlyyRepo.execQuery({
  44. "sql": "SELECT doctor_code user_id from ydf_doctor_team_member WHERE team_id=? AND available = 1",
  45. "args": [groupId],
  46. "handler": handler
  47. });
  48. }
  49. };
  50. exports.getMembersAvatar = function (groups, handler) {
  51. /*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 " +
  52. "FROM wlyy_talk_group_member m, wlyy_doctor d " +
  53. "WHERE m.member_code = d.code AND m.group_code IN (" + groups + ") " +
  54. "UNION " +
  55. "SELECT m.team_id g_code, COUNT(m.team_id) member_count, d.code dr_code, d.name dr_name, d.photo dr_photo " +
  56. "FROM ydf_doctor_team_member m, wlyy_doctor d " +
  57. "WHERE m.doctor_code = d.code AND m.team_id IN (" + groups + ") GROUP BY m.team_id";*/
  58. var sql = "SELECT * FROM("+
  59. "SELECT m.team_id g_code, d.id code, d.name name, d.photo photo, 'doctor' type " +
  60. "FROM ydf_doctor_team_member m, ydf_doctor d " +
  61. "WHERE m.doctor_code = d.id AND m.team_id IN (" + groups + ") " +
  62. ") x ORDER BY x.g_code";
  63. wlyyRepo.execQuery({
  64. "sql": sql,
  65. "args": [],
  66. "handler": handler
  67. });
  68. };