Forráskód Böngészése

oracle util 底层方法修改

huangwenjie 5 éve
szülő
commit
946dbcb803

+ 3 - 3
src/server/models/messages/messages.js

@ -237,14 +237,14 @@ class Messages extends RedisModel {
                    if (err) {
                        ModelUtil.emitError(self.eventEmitter, {message: "this message not exist,id: " + messageId});
                    } else {
                        res[0].content = content;
                        log.info("res[0].timestamp="+res[0].timestamp.getTime());
                        res[0].CONTENT = content;
                        // log.info("res[0].timestamp="+res[0].timestamp.getTime());
                        callback(null,res[0]);
                    }
                })
            },
            function (messageObj) {
                log.info("  11messages.timestamp="+messageObj.timestamp.getTime());
                // log.info("  11messages.timestamp="+messageObj.timestamp.getTime());
                let messages = new Messages();
                messages.saveMessageToRedis(sessionId, sessionType, messageId, messageObj);
                MessageRepo.updateMsgContent(sessionType,sessionId, messageId, content, function (err, res) {

+ 12 - 10
src/server/repository/oracle/app.status.repo.js

@ -10,6 +10,8 @@
"use strict";
let ImDb = require("./db/im.db.js");
//oracle工具类
let oracledbUtil = require('../../util/oracledb.util');
class AppStatusRepo {
    constructor() {
@ -22,10 +24,10 @@ class AppStatusRepo {
     * @param handler
     */
    static findOne(userId, handler) {
        let sql = "SELECT PLATFORM, TOKEN, CLIENT_ID, APP_IN_BG, LAST_LOGIN_TIME " +
            "FROM APP_STATUS WHERE USER_ID = ?";
        let sql = "SELECT \"PLATFORM\" AS \"platform\",\"TOKEN\" AS \"token\",\"CLIENT_ID\" AS \"client_id\",\"APP_IN_BG\" AS \"app_in_bg\",\"LAST_LOGIN_TIME\" AS \"last_login_time\" " +
            "FROM APP_STATUS WHERE USER_ID = :USER_ID";
        ImDb.execQuery({
        oracledbUtil.query({
            "sql": sql,
            "args": [userId],
            "handler": handler
@ -43,10 +45,10 @@ class AppStatusRepo {
     */
    static save(userId, deviceToken, client_id, platform, handler) {
        let sql = "INSERT INTO APP_STATUS (USER_ID, PLATFORM, TOKEN, CLIENT_ID, APP_IN_BG, LAST_LOGIN_TIME) " +
            "VALUES (?, ?, ?, ?, 0, NOW()) " +
            "ON DUPLICATE KEY UPDATE PLATFORM=?, TOKEN=?, CLIENT_ID=?, APP_IN_BG=0,LAST_LOGIN_TIME=NOW()";
            "VALUES (:USER_ID, :PLATFORM, :TOKEN, :CLIENT_ID, :APP_IN_BG, :LAST_LOGIN_TIME, NOW()) " +
            "ON DUPLICATE KEY UPDATE PLATFORM=:PLATFORM, TOKEN=:TOKEN, CLIENT_ID=:CLIENT_ID, APP_IN_BG=0,LAST_LOGIN_TIME=NOW()";
        ImDb.execQuery({
        oracledbUtil.query({
            sql: sql,
            args: [userId, platform, deviceToken, client_id, platform, deviceToken, client_id],
            handler: function(err,res){
@ -63,8 +65,8 @@ class AppStatusRepo {
     * @param handler
     */
    static updateStatus(userId, appInBg, handler) {
        ImDb.execQuery({
            "sql": "UPDATE APP_STATUS SET APP_IN_BG = ? WHERE USER_ID = ",
        oracledbUtil.query({
            "sql": "UPDATE APP_STATUS SET APP_IN_BG = :APP_IN_BG WHERE USER_ID = :USER_ID",
            "args": [appInBg, userId],
            "handler": handler
        });
@ -77,8 +79,8 @@ class AppStatusRepo {
     * @param handler
     */
    static destroy(userId, handler) {
        ImDb.execQuery({
            "sql": "DELETE FROM APP_STATUS WHERE USER_ID = ?",
        oracledbUtil.query({
            "sql": "DELETE FROM APP_STATUS WHERE USER_ID = :userId",
            "args": [userId],
            "handler": handler
        });

+ 7 - 6
src/server/repository/oracle/doctor.repo.js

@ -7,30 +7,31 @@
var ImDb = require("./db/im.db.js");
var log = require('../../util/log');
let oracledbUtil = require('../../util/oracledb.util');
class DoctorRepo {
    constructor() {
    }
    static findOne(doctorId, handler) {
        ImDb.execQuery({
            "sql": "SELECT ID, NAME, SEX, BIRTHDATE, AVATAR ,IDCARD FROM DOCTORS WHERE ID = ? ",
        oracledbUtil.query({
            "sql": "SELECT ID, NAME, SEX, BIRTHDATE, AVATAR ,IDCARD FROM DOCTORS WHERE ID = :ID ",
            "args": [doctorId],
            "handler": handler
        });
    };
    static findByMobile(mobile, handler) {
        ImDb.execQuery({
            "sql": "SELECT ID, NAME, SEX, BIRTHDATE, AVATAR FROM DOCTORS WHERE MOBILE = ? ",
        oracledbUtil.query({
            "sql": "SELECT ID, NAME, SEX, BIRTHDATE, AVATAR FROM DOCTORS WHERE MOBILE = :MOBILE ",
            "args": [mobile],
            "handler": handler
        });
    };
    static addDoctor(id,name,mobile,sex,birthdate,avatar,hospital_name,level,idcard, handler) {
        ImDb.execQuery({
            "sql": "INSERT INTO BASE.BASE_DOCTOR (ID,NAME,MOBILE,SEX,BIRTHDATE,PHOTO,IDCARD,DEL) VALUES (?,?,?,?,?,?,?,1)",
        oracledbUtil.query({
            "sql": "INSERT INTO BASE.BASE_DOCTOR (ID,NAME,MOBILE,SEX,BIRTHDATE,PHOTO,IDCARD,DEL) VALUES (:ID,:NAME,:MOBILE,:SEX,:BIRTHDATE,:PHOTO,:IDCARD,1)",
            "args": [id,name,mobile,sex,birthdate,avatar,idcard],
            "handler": handler
        });

+ 5 - 4
src/server/repository/oracle/message.noticeSetting.repo.js

@ -6,6 +6,7 @@
let log = require('../../util/log');
let ImDb = require('../oracle/db/im.db');
let oracledbUtil = require('../../util/oracledb.util');
const DB_TABLES = require('../../include/commons').DB_TABLES;
@ -23,8 +24,8 @@ class MessageNoticeSettingRepo{
     * return  master_switch 总开关(1开,0关)',im_switch im消息开关(1开,0关)',family_topic_switch 健管师邀请后推送开关(1开,0关)',
     */
    static findOne(user,type, handler) {
        let sql = "SELECT MASTER_SWITCH,IM_SWITCH,FAMILY_TOPIC_SWITCH,SOUND_SWITCH,VIBRATION_SWITCH FROM " + DB_TABLES.MessageNoticeSetting + " S WHERE S.USER = ? AND S.TYPE=? ";
        ImDb.execQuery({
        let sql = "SELECT MASTER_SWITCH,IM_SWITCH,FAMILY_TOPIC_SWITCH,SOUND_SWITCH,VIBRATION_SWITCH FROM " + DB_TABLES.MessageNoticeSetting + " S WHERE S.USER = :USER AND S.TYPE=:TYPE ";
        oracledbUtil.query({
            "sql": sql,
            "args": [user,type],
            "handler": handler || function (err, res) {
@ -44,8 +45,8 @@ class MessageNoticeSettingRepo{
    static save(user, type, createTime, handler) {
        let sql = "INSERT INTO " + DB_TABLES.MessageNoticeSetting + " (USER,TYPE,MASTER_SWITCH,IM_SWITCH,FAMILY_TOPIC_SWITCH," +
            "SIGN_SWITCH,HEALTH_SIGN_SWITCH,SYSTEM_SWITCH,PRESCRIPTION_SWITCH,SOUND_SWITCH,VIBRATION_SWITCH,COORDINATION_SWITCH,CREATE_TIME)" +
            " VALUES (?,?,1,1,1,1,1,1,1,1,1,1,?)";
        ImDb.execQuery({
            " VALUES (:USER,:TYPE,1,1,1,1,1,1,1,1,1,1,:CREATE_TIME)";
        oracledbUtil.query({
            "sql": sql,
            "args": [user, type, createTime.getTime()],
            "handler": handler

+ 20 - 19
src/server/repository/oracle/message.repo.js

@ -8,6 +8,7 @@ let config = require('../../resources/config/' + configFile);
let log = require('../../util/log.js');
let SessionRepo = require('../../repository/oracle/session.repo');
let ImDb = require('../oracle/db/im.db');
let oracledbUtil = require('../../util/oracledb.util');
const DB_TABLES = require('../../include/commons').DB_TABLES;
@ -46,18 +47,16 @@ class MessageRepo {
                    MessageTable = DB_TABLES.GroupMessages;
                }
                let where = " W.SESSION_ID = ? ";
                let where = " W.SESSION_ID = :SESSION_ID ";
                params.push(sessionId);
                if (messageType) {
                    where += " AND CONTENT_TYPE=? ";
                    where += " AND CONTENT_TYPE=:CONTENT_TYPE ";
                    params.push(messageType);
                }
                let sqlTemp = "SELECT rownum r,ID, SESSION_ID, SENDER_ID, SENDER_NAME, CONTENT_TYPE, CONTENT, TIMESTAMP FROM " +
                    MessageTable + " W WHERE " + where + " ORDER BY W.ID ";
                let sql = "SELECT*FROM ( "+sqlTemp+" AND rownum<=?) WHERE r>=?"
                params.push(page);
                params.push(size);
                ImDb.execQuery({
                let sql = "SELECT*FROM ( "+sqlTemp+" AND rownum<="+page+") WHERE r>="+size+" "
                oracledbUtil.query({
                    "sql": sql,
                    "args": params,
                    "handler": handler || function (err, res) {
@ -80,8 +79,9 @@ class MessageRepo {
    static save(message, sessionType, messageId, sessionId, handler) {
        if(message.agent){
            let sql = "INSERT INTO " + DB_TABLES.sessionTypeToTableName(sessionType) +
                " (ID, SESSION_ID, SENDER_ID, SENDER_NAME,CONTENT_TYPE, CONTENT, TIMESTAMP,BUSINESS_TYPE,AGENT) VALUES (?,?,?,?,?,?,?,?,?)";
            ImDb.execQuery({
                " (ID, SESSION_ID, SENDER_ID, SENDER_NAME,CONTENT_TYPE, CONTENT, TIMESTAMP,BUSINESS_TYPE,AGENT) VALUES (" +
                ":ID, :SESSION_ID, :SENDER_ID, :SENDER_NAME,:CONTENT_TYPE, :CONTENT, :TIMESTAMP,:BUSINESS_TYPE,:AGENT)";
            oracledbUtil.query({
                "sql": sql,
                "args": [messageId, sessionId, message.sender_id, message.sender_name, message.content_type, message.content, message.timestamp, message.business_type || 1,message.agent],
                "handler": handler || function (err, res) {
@ -90,8 +90,9 @@ class MessageRepo {
            });
        }else {
            let sql = "INSERT INTO " + DB_TABLES.sessionTypeToTableName(sessionType) +
                " (ID, SESSION_ID, SENDER_ID, SENDER_NAME,CONTENT_TYPE, CONTENT, TIMESTAMP,BUSINESS_TYPE) VALUES (?,?,?,?,?,?,?,?)";
            ImDb.execQuery({
                " (ID, SESSION_ID, SENDER_ID, SENDER_NAME,CONTENT_TYPE, CONTENT, TIMESTAMP,BUSINESS_TYPE) VALUES (" +
                ":ID, :SESSION_ID, :SENDER_ID, :SENDER_NAME,:CONTENT_TYPE, :CONTENT, :TIMESTAMP,:BUSINESS_TYPE)";
            oracledbUtil.query({
                "sql": sql,
                "args": [messageId, sessionId, message.sender_id, message.sender_name, message.content_type, message.content, message.timestamp, message.business_type || 1],
                "handler": handler || function (err, res) {
@ -112,9 +113,9 @@ class MessageRepo {
     * @param handler
     */
    static updateMsgContent(sessionType, sessionId,messageId, content,handler) {
        let sql = "UPDATE " + DB_TABLES.sessionTypeToTableName(sessionType)  + " SET CONTENT =  ? , TIMESTAMP = ? WHERE ID = ? AND SESSION_ID = ?";
        let sql = "UPDATE " + DB_TABLES.sessionTypeToTableName(sessionType)  + " SET CONTENT =  :CONTENT , TIMESTAMP = :TIMESTAMP WHERE ID = :ID AND SESSION_ID = :SESSION_ID";
        log.info(sql);
        ImDb.execQuery({
        oracledbUtil.query({
            "sql": sql,
            "args": [content.toString(),new Date(), messageId,sessionId],
            "handler": handler || function (err, res) {
@ -133,9 +134,9 @@ class MessageRepo {
     * @param handler
     */
    static selectOneMessage(sessionType,messageId,handler) {
        let sql = "SELECT * FROM " + DB_TABLES.sessionTypeToTableName(sessionType)  + "  WHERE ID = ?";
        let sql = "SELECT * FROM " + DB_TABLES.sessionTypeToTableName(sessionType)  + "  WHERE ID = :ID";
        log.info(sql);
        ImDb.execQuery({
        oracledbUtil.query({
            "sql": sql,
            "args": [messageId],
            "handler": handler || function (err, res) {
@ -152,11 +153,11 @@ class MessageRepo {
    static findLastMessage(sessionId,sessionType,handler){
        let sql =
            "SELECT S.CONTENT_TYPE, S.CONTENT,S.AGENT FROM " + DB_TABLES.sessionTypeToTableName(sessionType) + " S " +
            "WHERE S.SESSION_ID = ? ORDER BY S.TIMESTAMP DESC rownum=1 ";
            "SELECT S.\"CONTENT_TYPE\" as \"content_type\", S.\"CONTENT\" as \"content\",S.\"AGENT\" as \"agent\" FROM " + DB_TABLES.sessionTypeToTableName(sessionType) + " S " +
            "WHERE S.SESSION_ID = :SESSION_ID ORDER BY S.TIMESTAMP DESC rownum=1 ";
        log.info("获取会话医生的id sql : " + sql);
        log.info("获取会话医生的id args : " + [sessionId]);
        ImDb.execQuery({
        oracledbUtil.query({
            "sql": sql,
            "args": [sessionId],
            "handler": handler
@ -169,8 +170,8 @@ class MessageRepo {
     * @param handler
     */
    static getWlyyMessageCount(user, handler) {
        let sql = "SELECT COUNT(1) AS COUNT FROM "+DB_TABLES.WlyyMessage+" A WHERE A.HAS_READ= 1 AND A.RECEIVER = ?";
        ImDb.execQuery({
        let sql = "SELECT COUNT(1) as \"count\" FROM "+DB_TABLES.WlyyMessage+" A WHERE A.HAS_READ= 1 AND A.RECEIVER = ?";
        oracledbUtil.query({
            "sql": sql,
            "args": [user],
            "handler": handler

+ 45 - 44
src/server/repository/oracle/participant.repo.js

@ -6,6 +6,7 @@
let ImDb = require('../oracle/db/im.db');
let DbUtil = require('../../util/db.util');
let log = require('../../util/log.js');
let oracledbUtil = require('../../util/oracledb.util');
const DB_TABLES = require('../../include/commons').DB_TABLES;
const SESSION_USER_STATUS = require('../../include/commons').SESSION_USER_STATUS;
@ -23,12 +24,12 @@ class ParticipantRepo {
     * @param handler
     */
    static findAll(sessionId, handler) {
        let sql = "SELECT U.ID, U.NAME, U.SEX, U.BIRTHDATE, U.AVATAR,U.HOSPITAL_NAME, P.PARTICIPANT_ROLE ROLE, FALSE IS_PATIENT,P.LAST_FETCH_TIME,U.LEVEL,U.MOBILE FROM SESSIONS S, PARTICIPANTS P, DOCTORS U " +
            "WHERE S.ID = ? AND S.ID = P.SESSION_ID AND P.PARTICIPANT_ID = U.ID UNION " +
            "SELECT U.ID, U.NAME, U.SEX, U.BIRTHDATE, U.AVATAR,U.HOSPITAL_NAME, P.PARTICIPANT_ROLE ROLE, TRUE IS_PATIENT,P.LAST_FETCH_TIME,0 AS LEVEL,U.MOBILE FROM SESSIONS S, PARTICIPANTS P, PATIENTS U " +
            "WHERE S.ID = ? AND S.ID = P.SESSION_ID AND P.PARTICIPANT_ID = U.ID";
        let sql = "SELECT U.\"ID\" AS \"id\",U.\"NAME\" AS \"name\",U.\"SEX\" AS \"sex\",U.\"BIRTHDATE\" AS \"birthdate\",U.\"AVATAR\" AS \"avatar\",U.\"HOSPITAL_NAME\" AS \"hospital_name\",P.\"PARTICIPANT_ROLE ROLE\" AS \"participant_role\",FALSE \"IS_PATIENT\" AS \"is_patient\",P.\"LAST_FETCH_TIME\" AS \"last_fetch_time\",U.\"LEVEL\" AS \"level\",U.\"MOBILE\" AS \"mobile\" " +
            "WHERE S.ID = :ID AND S.ID = P.SESSION_ID AND P.PARTICIPANT_ID = U.ID UNION " +
            "SELECT U.\"ID\" AS \"id\",U.\"NAME\" AS \"name\",U.\"SEX\" AS \"sex\",U.\"BIRTHDATE\" AS \"birthdate\",U.\"AVATAR\" AS \"avatar\",U.\"HOSPITAL_NAME\" AS \"hospital_name\",P.\"PARTICIPANT_ROLE ROLE\" AS \"participant_role\",FALSE \"IS_PATIENT\" AS \"is_patient\",P.\"LAST_FETCH_TIME\" AS \"last_fetch_time\",U.\"LEVEL\" AS \"level\",U.\"MOBILE\" AS \"mobile\" " +
            "WHERE S.ID = :ID AND S.ID = P.SESSION_ID AND P.PARTICIPANT_ID = U.ID";
        ImDb.execQuery({
        oracledbUtil.query({
            "sql": sql,
            "args": [sessionId, sessionId],
            "handler": function(err,res){
@ -52,13 +53,13 @@ class ParticipantRepo {
     */
    static findIds(sessionId, handler) {
        let sql =
            "SELECT U.ID, U.NAME, FALSE IS_PATIENT, P.PARTICIPANT_ROLE,U.AVATAR FROM SESSIONS S, PARTICIPANTS P, DOCTORS U " +
            "WHERE S.ID = ? AND S.ID = P.SESSION_ID AND P.PARTICIPANT_ID = U.ID " +
            "SELECT U.\"ID\" AS \"id\",U.\"NAME\" AS \"name\",FALSE \"IS_PATIENT\" AS \"is_patient\",P.\"PARTICIPANT_ROLE\" AS \"participant_role\",U.\"AVATAR\" AS \"avatar\" FROM SESSIONS S, PARTICIPANTS P, DOCTORS U " +
            "WHERE S.ID = :ID AND S.ID = P.SESSION_ID AND P.PARTICIPANT_ID = U.ID " +
            "UNION " +
            "SELECT U.ID, U.NAME, TRUE IS_PATIENT, P.PARTICIPANT_ROLE,U.AVATAR FROM SESSIONS S, PARTICIPANTS P, PATIENTS U " +
            "WHERE S.ID = ? AND S.ID = P.SESSION_ID AND P.PARTICIPANT_ID = U.ID ";
            "SELECT U.\"ID\" AS \"id\",U.\"NAME\" AS \"name\",FALSE \"IS_PATIENT\" AS \"is_patient\",P.\"PARTICIPANT_ROLE\" AS \"participant_role\",U.\"AVATAR\" AS \"avatar\" FROM SESSIONS S, PARTICIPANTS P, PATIENTS U " +
            "WHERE S.ID = :ID AND S.ID = P.SESSION_ID AND P.PARTICIPANT_ID = U.ID ";
        ImDb.execQuery({
        oracledbUtil.query({
            "sql": sql,
            "args": [sessionId, sessionId],
            "handler": handler
@ -71,8 +72,8 @@ class ParticipantRepo {
     * @param handler
     */
    static findParricipantBySessionId(sessionId,handler){
        let sql = "SELECT PARTICIPANT_ID,PARTICIPANT_ROLE FROM PARTICIPANTS P WHERE P.SESSION_ID = ?";
        ImDb.execQuery({
        let sql = "SELECT \"PARTICIPANT_ID\" as \"participant_id\" ,\"PARTICIPANT_ROLE\" as \"participant_role\" FROM PARTICIPANTS P WHERE P.SESSION_ID = :SESSION_ID";
        oracledbUtil.query({
            "sql": sql,
            "args": [sessionId],
            "handler": handler
@ -86,10 +87,10 @@ class ParticipantRepo {
     */
    static findDoctorIds(sessionId,handler){
        let sql =
            "SELECT U.ID, U.NAME, FALSE IS_PATIENT, P.PARTICIPANT_ROLE,U.AVATAR FROM SESSIONS S, PARTICIPANTS P, DOCTORS U " +
            "WHERE S.ID = ? AND S.ID = P.SESSION_ID AND P.PARTICIPANT_ID = U.ID ";
            "SELECT U.\"ID\" as \"id\", U.\"NAME\" as \"name\", FALSE \"IS_PATIENT\" as \"is_patient\", \"PARTICIPANT_ROLE\" as \"participant_role\" ,U.\"AVATAR\" as \"avatar\" FROM SESSIONS S, PARTICIPANTS P, DOCTORS U " +
            "WHERE S.ID = :ID AND S.ID = P.SESSION_ID AND P.PARTICIPANT_ID = U.ID ";
        ImDb.execQuery({
        oracledbUtil.query({
            "sql": sql,
            "args": [sessionId],
            "handler": handler
@ -103,12 +104,12 @@ class ParticipantRepo {
     */
    static findFamilyIds(sessionId, handler){
        let sql =
            "SELECT U.ID, U.NAME, TRUE IS_PATIENT, P.PARTICIPANT_ROLE,U.AVATAR,PS.NAME PNAME,PS.ID PID " +
            "U.\"ID\" as \"id\", U.\"NAME\" as \"name\", FALSE \"IS_PATIENT\" as \"is_patient\", \"PARTICIPANT_ROLE\" as \"participant_role\",U.\"AVATAR\" as \"avatar\",PS.\"NAME PNAME\",PS.\"ID\" as \"pid\" " +
            "FROM SESSIONS S, PARTICIPANTS P, PATIENTS U ,WLYY.WLYY_PATIENT_FAMILY_MEMBER M,PATIENTS PS " +
            "WHERE S.ID = ? AND S.ID = P.SESSION_ID AND P.PARTICIPANT_ID = M.PATIENT AND M.FAMILY_MEMBER = U.ID AND M.IS_AUTHORIZE = 1 AND P.PARTICIPANT_ID = PS.ID ";
            "WHERE S.ID = :ID AND S.ID = P.SESSION_ID AND P.PARTICIPANT_ID = M.PATIENT AND M.FAMILY_MEMBER = U.ID AND M.IS_AUTHORIZE = 1 AND P.PARTICIPANT_ID = PS.ID ";
        //新增发送代理人
        ImDb.execQuery({
        oracledbUtil.query({
            "sql": sql,
            "args": [sessionId],
            "handler": handler
@ -122,12 +123,12 @@ class ParticipantRepo {
     * @param handler
     */
    static findAllAvatars(sessionId, handler) {
        let sql = "SELECT U.ID, U.AVATAR,'0' AS ISPATIENT,U.NAME AS NAME FROM SESSIONS S, PARTICIPANTS P, DOCTORS U " +
            "WHERE S.ID = ? AND S.ID = P.SESSION_ID AND P.PARTICIPANT_ID = U.ID UNION " +
            "SELECT U.ID, U.AVATAR,'1' AS ISPATIENT,U.NAME AS NAME FROM SESSIONS S, PARTICIPANTS P, PATIENTS U " +
            "WHERE S.ID = ? AND S.ID = P.SESSION_ID AND P.PARTICIPANT_ID = U.ID";
        let sql = "U.\"ID\" as \"id\", U.\"AVATAR\" as \"avatar\",'0' AS \"is_patient\",U.\"NAME\" as \"name\" FROM SESSIONS S, PARTICIPANTS P, DOCTORS U " +
            "WHERE S.ID = :ID AND S.ID = P.SESSION_ID AND P.PARTICIPANT_ID = U.ID UNION " +
            "SELECT U.\"ID\" as \"id\", U.\"AVATAR\" as \"avatar\",'0' AS \"is_patient\",U.\"NAME\" as \"name\" FROM SESSIONS S, PARTICIPANTS P, PATIENTS U " +
            "WHERE S.ID = :ID AND S.ID = P.SESSION_ID AND P.PARTICIPANT_ID = U.ID";
        ImDb.execQuery({
        oracledbUtil.query({
            "sql": sql,
            "args": [sessionId, sessionId],
            "handler": handler
@ -143,8 +144,8 @@ class ParticipantRepo {
     * @param handler
     */
    static updateParticipant(sessionId, participantId, role, handler) {
        let sql = "UPDATE PARTICIPANTS SET PARTICIPANT_ROLE = ? WHERE SESSION_ID = ? AND PARTICIPANT_ID = ?";
        ImDb.execQuery({
        let sql = "UPDATE PARTICIPANTS SET PARTICIPANT_ROLE = :PARTICIPANT_ROLE WHERE SESSION_ID = :SESSION_ID AND PARTICIPANT_ID = :PARTICIPANT_ID";
        oracledbUtil.query({
            "sql": sql,
            "args": [role, sessionId, participantId],
            "handler": handler
@ -164,8 +165,8 @@ class ParticipantRepo {
    }
    static getBusinessType(users, handler) {
        let sql = "SELECT COUNT(1) AS COUNT FROM PATIENTS P WHERE P.ID IN (?)";
        ImDb.execQuery({
        let sql = "SELECT COUNT(1) as \"count\" FROM PATIENTS P WHERE P.ID IN (:ID)";
        oracledbUtil.query({
            "sql": sql,
            "args": [users],
            "handler": function (err, res) {
@ -185,8 +186,8 @@ class ParticipantRepo {
    }
    static findNameById(userId, handler) {
        let sql = "SELECT P.NAME,P.SEX,P.BIRTHDATE FROM PATIENTS P WHERE P.ID =? UNION SELECT D.NAME,D.SEX,D.BIRTHDATE FROM DOCTORS D WHERE D.ID =?";
        ImDb.execQuery({
        let sql = "SELECT P.\"NAME\" as \"name\",P.\"SEX\" as \"sex\",P.\"BIRTHDATE\" as \"birthdate\" FROM PATIENTS P WHERE P.ID =? UNION SELECT D.NAME,D.SEX,D.BIRTHDATE FROM DOCTORS D WHERE D.ID =?";
        oracledbUtil.query({
            "sql": sql,
            "args": [userId, userId],
            "handler": function (err, res) {
@ -209,10 +210,10 @@ class ParticipantRepo {
        });
        let sql = "SELECT DISTINCT S.* FROM " + DB_TABLES.Participants + " P1," + DB_TABLES.Participants + " P2," +
            DB_TABLES.Sessions + " S WHERE P1.SESSION_ID =  S.ID  AND P2.SESSION_ID = S.ID  AND S.TYPE =? " +
            "AND ((P1.PARTICIPANT_ID =? AND P2.PARTICIPANT_ID = ?) OR (P1.PARTICIPANT_ID =? AND P2.PARTICIPANT_ID = ?))";
            DB_TABLES.Sessions + " S WHERE P1.SESSION_ID =  S.ID  AND P2.SESSION_ID = S.ID  AND S.TYPE =:TYPE " +
            "AND ((P1.PARTICIPANT_ID =:PARTICIPANT_ID AND P2.PARTICIPANT_ID = :PARTICIPANT_ID) OR (P1.PARTICIPANT_ID =:PARTICIPANT_ID AND P2.PARTICIPANT_ID = :PARTICIPANT_ID))";
        ImDb.execQuery({
        oracledbUtil.query({
            "sql": sql,
            "args": [SESSION_TYPES.MUC, userTemp[0], userTemp[1], userTemp[1], userTemp[0]],
            "handler": handler
@ -228,8 +229,8 @@ class ParticipantRepo {
     * @param handler
     */
    static updateLastFetchTime(lastMessageTime, sessionId, participantId, handler) {
        let sql = "UPDATE " + DB_TABLES.Participants + " SET LAST_FETCH_TIME=? WHERE SESSION_ID = ? AND PARTICIPANT_ID =?";
        ImDb.execQuery({
        let sql = "UPDATE " + DB_TABLES.Participants + " SET LAST_FETCH_TIME=:LAST_FETCH_TIME WHERE SESSION_ID = :SESSION_ID AND PARTICIPANT_ID =:PARTICIPANT_ID";
        oracledbUtil.query({
            "sql": sql,
            "args": [lastMessageTime, sessionId, participantId],
            "handler": handler
@ -244,10 +245,10 @@ class ParticipantRepo {
     * @param handler
     */
    static existsParticipant(sessionId, userId, handler) {
        let sql = "SELECT CASE WHEN COUNT(*) > 0 THEN TRUE ELSE FALSE END EXIST FROM PARTICIPANTS W WHERE W.SESSION_ID =? AND W.PARTICIPANT_ID = ? ";
        let sql = "SELECT CASE WHEN COUNT(*) > 0 THEN TRUE ELSE FALSE END EXIST FROM PARTICIPANTS W WHERE W.SESSION_ID =:SESSION_ID AND W.PARTICIPANT_ID = :PARTICIPANT_ID ";
        log.info("用户是否在指定Session中:sql:" + sql);
        log.info("用户是否在指定Session中:args:" + [sessionId, userId]);
        ImDb.execQuery({
        oracledbUtil.query({
            "sql": sql,
            "args": [sessionId, userId],
            "handler": handler
@ -269,7 +270,7 @@ class ParticipantRepo {
        log.info("saveParticipantsToMysql:[users.length] = " + users.length);
        for (let j in users) {
            let tokens = users[j].split(":");
            sql += "(?,?,?,?)";
            sql += "(:SESSION_ID,:PARTICIPANT_ID,:PARTICIPANT_ROLE,:LAST_FETCH_TIME)";
            args.push(sessionId);
            args.push(tokens[0]);
            args.push(tokens.length > 1 ? tokens[1] : '0');
@ -278,7 +279,7 @@ class ParticipantRepo {
            log.info("saveParticipantsToMysql:[args] = " + args);
        }
        sql += " ON DUPLICATE KEY UPDATE PARTICIPANT_ROLE = VALUES(PARTICIPANT_ROLE)";
        ImDb.execQuery({
        oracledbUtil.query({
            "sql": sql,
            "args": args,
            "handler": handler
@ -286,8 +287,8 @@ class ParticipantRepo {
    }
    static deleteUserFromMysql(sessionId, userId, handler) {
        let sql = "DELETE FROM " + DB_TABLES.Participants + " WHERE PARTICIPANT_ID=? AND SESSION_ID=? ";
        ImDb.execQuery({
        let sql = "DELETE FROM " + DB_TABLES.Participants + " WHERE PARTICIPANT_ID=:PARTICIPANT_ID AND SESSION_ID=:SESSION_ID ";
        oracledbUtil.query({
            "sql": sql,
            "args": [userId, sessionId],
            "handler": handler || function (err, res) {
@ -297,8 +298,8 @@ class ParticipantRepo {
    }
    static deleteAllUser(sessionId, handler) {
        let sql = "DELETE FROM " + DB_TABLES.Participants + " WHERE SESSION_ID=? ";
        ImDb.execQuery({
        let sql = "DELETE FROM " + DB_TABLES.Participants + " WHERE SESSION_ID=:SESSION_ID ";
        oracledbUtil.query({
            "sql": sql,
            "args": [sessionId],
            "handler": handler || function (err, res) {
@ -308,8 +309,8 @@ class ParticipantRepo {
    }
    static findLastFetchTime(sessionId,userId,handler){
        let sql = "SELECT LAST_FETCH_TIME FROM PARTICIPANTS P WHERE P.SESSION_ID = ? AND P.PARTICIPANT_ID=?";
        ImDb.execQuery({
        let sql = "SELECT \"LAST_FETCH_TIME\" as \"last_fetch_time\" FROM PARTICIPANTS P WHERE P.SESSION_ID = ? AND P.PARTICIPANT_ID=?";
        oracledbUtil.query({
            "sql": sql,
            "args": [sessionId,userId],
            "handler": handler

+ 7 - 5
src/server/repository/oracle/patient.repo.js

@ -10,20 +10,22 @@
let ImDb = require('./db/im.db');
let oracledbUtil = require('../../util/oracledb.util');
class PatientRepo {
    constructor() {
    }
    static findOne(patientId, handler){
        ImDb.execQuery({
            "sql": "SELECT ID, NAME, SEX, BIRTHDATE, AVATAR, OPENID, IDCARD,MOBILE FROM PATIENTS WHERE ID = ? ",
        oracledbUtil.quer({
            "sql": "SELECT \"ID\" AS \"id\",\"NAME\" AS \"name\",\"SEX\" AS \"sex\",\"BIRTHDATE\" AS \"birthdate\",\"AVATAR\" AS \"avatar\",\"OPENID\" AS \"openid\",\"IDCARD\" AS \"idcard\",\"MOBILE\" AS \"mobile\" FROM PATIENTS WHERE ID = ? ",
            "args": [patientId],
            "handler": handler
        });
    }
    static findWechatOpenId(code, handler) {
        var sql = "SELECT OPENID FROM PATIENTS WHERE ID = ? ";
        var sql = "SELECT \"OPENID\" as \"openid\" FROM PATIENTS WHERE ID = :ID ";
        ImDb.execQuery({
            "sql": sql,
@ -39,9 +41,9 @@ class PatientRepo {
     */
    static findWechatOpenIds(code, handler){
        var sql = "SELECT M.FAMILY_MEMBER CODE,P.NAME,P.OPENID FROM WLYY.WLYY_PATIENT P,WLYY.WLYY_PATIENT_FAMILY_MEMBER M" +
            "  WHERE M.PATIENT = ? AND M.FAMILY_MEMBER=P.CODE AND P.OPENID IS NOT NULL AND M.IS_AUTHORIZE = 1 " +
            "  WHERE M.PATIENT = :PATIENT AND M.FAMILY_MEMBER=P.CODE AND P.OPENID IS NOT NULL AND M.IS_AUTHORIZE = 1 " +
            " UNION ALL" +
            "  SELECT P.CODE,P.NAME,P.OPENID  FROM WLYY.WLYY_PATIENT P WHERE P.CODE = ?";
            "  SELECT P.CODE,P.NAME,P.OPENID  FROM WLYY.WLYY_PATIENT P WHERE P.CODE = :CODE";
        ImDb.execQuery({
            "sql": sql,
            "args": [code,code],

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 72 - 80
src/server/repository/oracle/session.repo.js