فهرست منبع

增加SQL用例;修复common.js启动的ES6语法要求错误

Sand 8 سال پیش
والد
کامیت
65ac973f1d

+ 2 - 0
src/doctor/include/commons.js

@ -7,6 +7,8 @@
 *
 * @type {string}
 */
 "use strict";
 
let configFile = "config.";
if (process.env.IM_PROFILE === "prod") {

+ 79 - 0
src/doctor/resources/schema/case/医生页-与医生相关的会话.sql

@ -0,0 +1,79 @@
#医生间会话测试用户: D20161008002
#组间会话测试用户: 0de7421c62dd11e69faffa163e8aee56 ,或组ID:265
#与医生的私人会话
SELECT DISTINCT
    d.code,
    d.name,
    d.sex,
    d.photo,
    ms3.last_content_type,
    ms3.last_content,
    ms3.timestamp,
    'doctor' type
FROM
    (SELECT DISTINCT
        CASE
                WHEN ms1.timestamp > ms2.timestamp THEN ms1.id
                ELSE ms2.id
            END id
    FROM
        msg_statistic ms1, msg_statistic ms2
    WHERE
        ms1.uid = ms2.peer_uid
            AND ms1.from_gid IS NULL
            AND ms2.from_gid IS NULL
            AND ms1.peer_uid = ms2.uid) x,
    msg_statistic ms3,
    wlyy.wlyy_doctor d
WHERE
    x.id = ms3.id AND ms3.last_content_type in (1,2,3,5,6) 
        AND ((ms3.uid = d.code
        AND ms3.peer_uid = 'shiliuD20160926003')
        OR (ms3.uid = 'shiliuD20160926003'
        AND ms3.peer_uid = d.code));
        
####医生群聊,包括讨论组与行政团队####
#行政团队的记录
SELECT 
    g.id,
    g.name,
    '',
    '',
    ms.last_content_type,
    ms.last_content,
    MAX(ms.timestamp),
    '1' type
FROM
    wlyy.wlyy_admin_team g,
    wlyy.wlyy_admin_team_member m,
    wlyy.wlyy_doctor d,
    msg_statistic ms
WHERE
    d.code = 'shiliuD20160926003'
        AND d.code = m.doctor_code
        AND m.team_id = g.id
        AND g.id = ms.from_gid
        AND ms.last_content_type IN (1 , 2, 3, 5, 6)
GROUP BY g.id , g.name;
        
#讨论组的记录
SELECT 
    m.group_code,
    m.group_name,
    '',
    '',
    ms.last_content_type,
    ms.last_content,
    ms.timestamp,
    '2' type
FROM
    wlyy.wlyy_talk_group_member m,
    wlyy.wlyy_doctor d,
    msg_statistic ms
WHERE
    d.code = '0de7421c62dd11e69faffa163e8aee56'
        AND d.code = m.member_code
        AND m.group_code = ms.from_gid
GROUP BY m.group_code , m.group_name
;

+ 3 - 0
src/doctor/resources/schema/case/团队修改日志.sql

@ -0,0 +1,3 @@
alter table wlyy_admin_team add column last_modified TIMESTAMP default  CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间';
alter table wlyy_admin_team_member add column available int(1) default 1 COMMENT '是否有效';
alter table wlyy_admin_team_member add column last_modified TIMESTAMP default  CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间';

+ 38 - 0
src/doctor/resources/schema/case/居民页-所有与居民相关的会话.sql

@ -0,0 +1,38 @@
#医生 <---> 患者
SELECT 
    p.code,
    p.name,
    p.birthday,
    p.sex,
    p.photo,
    ms.last_content_type,
    ms.last_content,
    ms.timestamp,
    ms.new_msg_count
FROM
    msg_statistic ms,
    wlyy.wlyy_patient p
WHERE
    ms.msg_type = 1
        AND ms.last_content_type IN (1 , 2, 3, 5, 6)
        AND (ms.from_uid = 'shiliuD20160926003'
        AND ms.uid = p.code)
        OR (ms.uid = 'shiliuD20160926003'
        AND ms.from_uid = p.code)
;
# 有居民参与的咨询/求助
select 
g.code,
    g.name,
    '',
    '',
    '',
    ms.last_content_type,
    ms.last_content,
    ms.timestamp
from im_new.msg_statistic ms, 
(
SELECT g.code code, g.name name, g.type type FROM wlyy.wlyy_talk_group g, wlyy.wlyy_talk_group_member m where g.code = m.group_code and m.member_code = 'D20161008003'
) g, wlyy.wlyy_patient p
where ((ms.uid = 'D20161008003' and ms.from_uid = p.code) OR (ms.uid = p.code and ms.from_uid = 'D20161008003'))
and ms.from_gid = g.code and ms.msg_type = 2;

+ 60 - 0
src/doctor/resources/schema/case/最近聊天列表.sql

@ -0,0 +1,60 @@
select * from(
# 最近聊天患者
SELECT DISTINCT
    p.code code, p.name name, p.birthday birthday, p.sex sex, p.photo photo, ms.timestamp timestamp, 'type' ':patient'
FROM
    im_new.msg_statistic ms,
    wlyy.wlyy_patient p
WHERE
    ms.uid = 'shiliuD20160926003' AND ms.uid = p.code
        AND UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(ms.timestamp) < 6048000
        AND msg_type = 1
union
## 最近聊天医生,测试医生ID:D2016008240002
SELECT DISTINCT
    d.code code,
    d.name name,
    d.birthday birthday,
    d.sex sex,
    d.photo photo,
    ms.timestamp timestamp,
    'doctor' type
FROM
    im_new.msg_statistic ms,
    wlyy.wlyy_doctor d,
    (SELECT 
        CASE
                WHEN ms1.timestamp > ms2.timestamp THEN ms1.id
                ELSE ms2.id
            END id
    FROM
        msg_statistic ms1, msg_statistic ms2
    WHERE
        ms1.from_gid IS NULL
            AND ms2.from_gid IS NULL
            AND ms1.uid = ms2.peer_uid
            AND ms1.peer_uid = ms2.uid) x
WHERE
    x.id = ms.id
        AND ((ms.uid = 'D2016008240002' AND ms.peer_uid = d.code) OR (ms.uid = d.code AND ms.peer_uid = 'D2016008240002'))
        AND UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(ms.timestamp) < 6048000
        
union
#最近聊天群,测试医生ID:0de7295862dd11e69faffa163e8aee56
SELECT 
    g.id code, g.name name, '' birthday, '' sex, '' photo, max(ms.timestamp) timestamp, 'type' ':group'
FROM
    im_new.msg_statistic ms,
    wlyy.wlyy_admin_team g,
    wlyy.wlyy_admin_team_member m,
    wlyy.wlyy_doctor d
WHERE
	d.code = '0de7295862dd11e69faffa163e8aee56'
    AND d.code = m.doctor_code
    AND m.team_id = g.id
    AND g.id = ms.from_gid
    AND (ms.uid = d.code or ms.from_uid = d.code)
        AND UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(ms.timestamp) < 604800000 group by g.id, g.name
) x order by timestamp

+ 118 - 0
src/doctor/resources/schema/case/用户搜索-居民与医生.sql

@ -0,0 +1,118 @@
#------------------------------------------居民搜索----------------------------------------------------
#搜索与医生签约过的患者,条件:患者姓名。测试全科医生: 66bd8ee165b711e69f7c005056850d66,测试健管师: 3b723bb8699a11e69f7c005056850d66
select * from wlyy.wlyy_sign_family f, wlyy.wlyy_patient p where f.patient = p.code AND p.name LIKE '%王%'
#and f.doctor = ''	#全科医生
#and f.doctor_health = '' #健管师
;
#搜索与患者的聊天记录
SELECT 
    p.code,
    p.name,
    p.birthday,
    p.sex,
    p.photo,
    m.msg_id,
    m.content
FROM
    (SELECT 
        CASE
                WHEN msg.from_uid = 'D2016082409' THEN msg.to_uid
                ELSE msg.from_uid
            END peer_id,
            msg.msg_id,
            msg.content
    FROM
        msg_p2p msg
    WHERE
        (msg.from_uid = 'D2016082409'
            OR msg.to_uid = 'D2016082409')
            AND msg.content LIKE '%1%'
            AND type = 1) m,
    wlyy.wlyy_patient p
WHERE
    m.peer_id = p.code
;
#------------------------------------------医生搜索----------------------------------------------------
#搜索聊天过的医生,条件:医生姓名
SELECT DISTINCT
    d.code, d.name, d.photo, d.hospital
FROM
    msg_statistic ms,
    wlyy.wlyy_doctor d
WHERE
    d.code = '0de6e08062dd11e69faffa163e8aee56'
		AND ms.from_gid IS NULL
        AND (ms.peer_uid = d.code OR ms.uid = d.code) 
        AND d.name like '%汤%'
UNION
#搜索行政团队内的成员
SELECT 
    d.code, d.name, d.photo, d.hospital
FROM
    wlyy.wlyy_admin_team_member m1,
    wlyy.wlyy_admin_team_member m2,
    wlyy.wlyy_doctor d
WHERE
    m1.doctor_code = '0de6e08062dd11e69faffa163e8aee56'
        AND m1.team_id = m2.team_id
        AND m2.doctor_code = d.code
        AND d.name like '%汤%';
# 搜索讨论组名称及讨论组成员姓名含有关键字记录
SELECT g.code, g.name, m.member_code, m.member_name from wlyy.wlyy_talk_group g left join wlyy.wlyy_talk_group_member m on g.code = m.group_code
where g.name like '%王%' or m.member_name like '%王%' and m.member_code = 'test_ch_9a0a4138a281e7c6316eb9be'
order by g.code
;
#### 搜索与医生、讨论组的聊天记录
#与医生的聊天记录
SELECT 
    d.code, d.name, d.photo, m.msg_id, m.content
FROM
    (SELECT 
        CASE
                WHEN msg.from_uid = '5fa5e88f7a4111e69f7c005056850d66' THEN msg.to_uid
                ELSE msg.from_uid
            END peer_id,
            msg.msg_id,
            msg.content
    FROM
        msg_p2p msg
    WHERE
        (msg.from_uid = '5fa5e88f7a4111e69f7c005056850d66'
            OR msg.to_uid = '5fa5e88f7a4111e69f7c005056850d66')
            AND msg.content LIKE '%sdf%'
            AND type = 1) m,
    wlyy.wlyy_doctor d
WHERE
    m.peer_id = d.code order by d.code;
    
#搜索讨论组与行政团队的聊天记录
SELECT 
    g.code, g.name, gm.msg_id, gm.content
FROM
    msg_group gm,
    (SELECT 
        t.id code, t.name name
    FROM
        wlyy.wlyy_admin_team t, wlyy.wlyy_admin_team_member m
    WHERE
        m.doctor_code = '0de6e08062dd11e69faffa163e8aee56'
            AND t.id = m.team_id UNION SELECT 
        m.group_code code, m.group_name name
    FROM
        wlyy.wlyy_talk_group_member m
    WHERE
        m.member_code = '0de6e08062dd11e69faffa163e8aee56') g
WHERE
    g.code = gm.to_gid AND gm.type = 1
        AND gm.content LIKE '%圣%'
ORDER BY g.name ASC, gm.msg_id DESC;
    
#---------------------------------------