wangjun 4 роки тому
батько
коміт
9b5a027957

+ 1 - 1
src/server/include/commons.js

@ -243,7 +243,7 @@ const DB_TABLES = {
    WlyyMessage:"WLYY_MESSAGE",
    MessageNoticeSetting:"WLYY_MESSAGE_NOTICE_SETTING",
    SignFamily:"WLYY_SIGN_FAMILY",
    AesKey :"jkzl2021ZJXL*#%a",
    sessionTypeToTableName: function (sessionType) {
        if (sessionType == SESSION_TYPES.SYSTEM)
            return DB_TABLES.SystemMessages;

+ 11 - 2
src/server/repository/oracle/doctor.repo.js

@ -15,7 +15,7 @@ class DoctorRepo {
    static findOne(doctorId, handler) {
        oracledbUtil.query({
            "sql": "SELECT ID, NAME, SEX, BIRTHDATE, AVATAR ,IDCARD FROM DOCTORS WHERE ID = :ID ",
            "sql": "SELECT ID, FUN_DECRYPTION(name,'"+DB_TABLES.AesKey+"') as NAME, SEX, BIRTHDATE, AVATAR ,FUN_DECRYPTION(IDCARD,'"+DB_TABLES.AesKey+"') as IDCARD FROM DOCTORS WHERE ID = :ID ",
            "args": [doctorId],
            "handler": handler
        });
@ -23,13 +23,22 @@ class DoctorRepo {
    static findByMobile(mobile, handler) {
        oracledbUtil.query({
            "sql": "SELECT ID, NAME, SEX, BIRTHDATE, AVATAR FROM DOCTORS WHERE MOBILE = :MOBILE ",
            "sql": "SELECT ID, FUN_DECRYPTION(name,'"+DB_TABLES.AesKey+"') as NAME , SEX, BIRTHDATE, AVATAR FROM DOCTORS WHERE FUN_DECRYPTION(MOBILE,'"+DB_TABLES.AesKey+"') = :MOBILE ",
            "args": [mobile],
            "handler": handler
        });
    };
    static addDoctor(id,name,mobile,sex,birthdate,avatar,hospital_name,level,idcard, handler) {
        if(name!=null&&name!=""){
            name = "FUN_ENCRYPTION('"+name+"','"+DB_TABLES.AesKey+"')";
        }
        if(mobile!=null&&mobile!=""){
            mobile = "FUN_ENCRYPTION('"+mobile+"','"+DB_TABLES.AesKey+"')";
        }
        if(idcard!=null&&idcard!=""){
            idcard = "FUN_ENCRYPTION('"+idcard+"','"+DB_TABLES.AesKey+"')";
        }
        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],

+ 11 - 3
src/server/repository/oracle/message.repo.js

@ -53,7 +53,7 @@ class MessageRepo {
                    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 " +
                let sqlTemp = "SELECT rownum r,ID, SESSION_ID, SENDER_ID, FUN_DECRYPTION(SENDER_NAME,'"+DB_TABLES.AesKey+"') as SENDER_NAME, CONTENT_TYPE, CONTENT, TIMESTAMP FROM " +
                    MessageTable + " W WHERE " + where + " ORDER BY W.ID ";
                let sql = "SELECT*FROM ( "+sqlTemp+" AND rownum<="+page+") WHERE r>="+size+" "
                oracledbUtil.query({
@ -81,9 +81,13 @@ class MessageRepo {
            let sql = "INSERT INTO " + DB_TABLES.sessionTypeToTableName(sessionType) +
                " (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)";
            let senderName ="";
            if (message.sender_name!=null&&message.sender_name!=""){
                senderName="FUN_ENCRYPTION('"+message.sender_name+"','"+DB_TABLES.AesKey+"')";
            }
            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],
                "args": [messageId, sessionId, message.sender_id, senderName, message.content_type, message.content, message.timestamp, message.business_type || 1,message.agent],
                "handler": handler || function (err, res) {
                    if(err) log.error(err);
                }
@ -92,9 +96,13 @@ class MessageRepo {
            let sql = "INSERT INTO " + DB_TABLES.sessionTypeToTableName(sessionType) +
                " (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)";
            let senderName ="";
            if (message.sender_name!=null&&message.sender_name!=""){
                senderName="FUN_ENCRYPTION('"+message.sender_name+"','"+DB_TABLES.AesKey+"')";
            }
            oracledbUtil.query({
                "sql": sql,
                "args": [messageId, sessionId, message.sender_id, message.sender_name, message.content_type, message.content, message.timestamp, message.business_type || 1],
                "args": [messageId, sessionId, message.sender_id, senderName, message.content_type, message.content, message.timestamp, message.business_type || 1],
                "handler": handler || function (err, res) {
                    if(err) log.error(err);
                }

+ 8 - 8
src/server/repository/oracle/participant.repo.js

@ -24,9 +24,9 @@ class ParticipantRepo {
     * @param handler
     */
    static findAll(sessionId, handler) {
        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\" AS \"role\",0 AS \"is_patient\",P.\"LAST_FETCH_TIME\" AS \"last_fetch_time\",U.\"LEVEL\" AS \"level\",U.\"MOBILE\" AS \"mobile\" FROM sessions s, participants p, doctors u " +
        let sql = "SELECT U.\"ID\" AS \"id\",FUN_DECRYPTION(U.NAME,'"+DB_TABLES.AesKey+"') AS \"name\",U.\"SEX\" AS \"sex\",U.\"BIRTHDATE\" AS \"birthdate\",U.\"AVATAR\" AS \"avatar\",U.\"HOSPITAL_NAME\" AS \"hospital_name\",P.\"PARTICIPANT_ROLE\" AS \"role\",0 AS \"is_patient\",P.\"LAST_FETCH_TIME\" AS \"last_fetch_time\",U.\"LEVEL\" AS \"level\", FUN_DECRYPTION(U.MOBILE,'"+DB_TABLES.AesKey+"') AS \"mobile\" 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.\"NAME\" AS \"name\",U.\"SEX\" AS \"sex\",U.\"BIRTHDATE\" AS \"birthdate\",U.\"AVATAR\" AS \"avatar\",U.\"HOSPITAL_NAME\" AS \"hospital_name\",P.\"PARTICIPANT_ROLE\" AS \"role\",1 AS \"is_patient\",P.\"LAST_FETCH_TIME\" AS \"last_fetch_time\",'0' AS \"level\",U.\"MOBILE\" AS \"mobile\" FROM sessions s, participants p, patients u " +
            "SELECT U.\"ID\" AS \"id\",FUN_DECRYPTION(U.NAME,'"+DB_TABLES.AesKey+"') AS \"name\",U.\"SEX\" AS \"sex\",U.\"BIRTHDATE\" AS \"birthdate\",U.\"AVATAR\" AS \"avatar\",U.\"HOSPITAL_NAME\" AS \"hospital_name\",P.\"PARTICIPANT_ROLE\" AS \"role\",1 AS \"is_patient\",P.\"LAST_FETCH_TIME\" AS \"last_fetch_time\",'0' AS \"level\",FUN_DECRYPTION(U.MOBILE,'"+DB_TABLES.AesKey+"') AS \"mobile\" FROM sessions s, participants p, patients u " +
            "WHERE S.ID = :ID AND S.ID = P.SESSION_ID AND P.PARTICIPANT_ID = U.ID";
        oracledbUtil.query({
@ -53,10 +53,10 @@ class ParticipantRepo {
     */
    static findIds(sessionId, handler) {
        let sql =
            "SELECT U.\"ID\" AS \"id\",U.\"NAME\" AS \"name\",0  AS \"is_patient\",P.\"PARTICIPANT_ROLE\" AS \"participant_role\",U.\"AVATAR\" AS \"avatar\" FROM SESSIONS S, PARTICIPANTS P, DOCTORS U " +
            "SELECT U.\"ID\" AS \"id\",FUN_DECRYPTION(U.NAME,'"+DB_TABLES.AesKey+"') AS \"name\",0  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\" AS \"id\",U.\"NAME\" AS \"name\",1  AS \"is_patient\",P.\"PARTICIPANT_ROLE\" AS \"participant_role\",U.\"AVATAR\" AS \"avatar\" FROM SESSIONS S, PARTICIPANTS P, PATIENTS U " +
            "SELECT U.\"ID\" AS \"id\",FUN_DECRYPTION(U.NAME,'"+DB_TABLES.AesKey+"') AS \"name\",1  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 ";
        oracledbUtil.query({
@ -87,7 +87,7 @@ class ParticipantRepo {
     */
    static findDoctorIds(sessionId,handler){
        let sql =
            "SELECT U.\"ID\" as \"id\", U.\"NAME\" as \"name\", 0  as \"is_patient\", \"PARTICIPANT_ROLE\" as \"participant_role\" ,U.\"AVATAR\" as \"avatar\" FROM SESSIONS S, PARTICIPANTS P, DOCTORS U " +
            "SELECT U.\"ID\" as \"id\", FUN_DECRYPTION(U.NAME,'"+DB_TABLES.AesKey+"') as \"name\", 0  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 ";
        oracledbUtil.query({
@ -104,7 +104,7 @@ class ParticipantRepo {
     */
    static findFamilyIds(sessionId, handler){
        let sql =
            "U.\"ID\" as \"id\", U.\"NAME\" as \"name\", 0 as \"is_patient\", \"PARTICIPANT_ROLE\" as \"participant_role\",U.\"AVATAR\" as \"avatar\",PS.\"NAME PNAME\",PS.\"ID\" as \"pid\" " +
            "U.\"ID\" as \"id\", FUN_DECRYPTION(U.NAME,'"+DB_TABLES.AesKey+"') as \"name\", 0 as \"is_patient\", \"PARTICIPANT_ROLE\" as \"participant_role\",U.\"AVATAR\" as \"avatar\",FUN_DECRYPTION(PS.NAME,'"+DB_TABLES.AesKey+"') as PNAME,PS.\"ID\" as \"pid\" " +
            "FROM SESSIONS S, PARTICIPANTS P, PATIENTS U ,WLYY.WLYY_PATIENT_FAMILY_MEMBER M,PATIENTS PS " +
            "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 ";
        //新增发送代理人
@ -123,7 +123,7 @@ class ParticipantRepo {
     * @param handler
     */
    static findAllAvatars(sessionId, handler) {
        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 " +
        let sql = "U.\"ID\" as \"id\", U.\"AVATAR\" as \"avatar\",'0' AS \"is_patient\", FUN_DECRYPTION(U.NAME,'"+DB_TABLES.AesKey+"') 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\",'1' 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";
@ -186,7 +186,7 @@ class ParticipantRepo {
    }
    static findNameById(userId, handler) {
        let sql = "SELECT P.\"NAME\" as \"name\",P.\"SEX\" as \"sex\",P.\"BIRTHDATE\" as \"birthdate\" FROM PATIENTS P WHERE P.ID =:ID UNION SELECT D.NAME,D.SEX,D.BIRTHDATE FROM DOCTORS D WHERE D.ID =:ID";
        let sql = "SELECT  FUN_DECRYPTION(P.NAME,'"+DB_TABLES.AesKey+"') as \"name\",P.\"SEX\" as \"sex\",P.\"BIRTHDATE\" as \"birthdate\" FROM PATIENTS P WHERE P.ID =:ID UNION SELECT FUN_DECRYPTION(D.NAME,'"+DB_TABLES.AesKey+"') as \"name\",D.SEX,D.BIRTHDATE FROM DOCTORS D WHERE D.ID =:ID";
        oracledbUtil.query({
            "sql": sql,
            "args": [userId, userId],

+ 3 - 3
src/server/repository/oracle/patient.repo.js

@ -18,7 +18,7 @@ class PatientRepo {
    static findOne(patientId, handler){
        oracledbUtil.query({
            "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 = :ID ",
            "sql": "SELECT \"ID\" AS \"id\",FUN_DECRYPTION(NAME,'"+DB_TABLES.AesKey+"') AS \"name\",\"SEX\" AS \"sex\",\"BIRTHDATE\" AS \"birthdate\",\"AVATAR\" AS \"avatar\",\"OPENID\" AS \"openid\",FUN_DECRYPTION(IDCARD,'"+DB_TABLES.AesKey+"') AS \"idcard\",FUN_DECRYPTION(MOBILE,'"+DB_TABLES.AesKey+"') AS \"mobile\" FROM PATIENTS WHERE ID = :ID ",
            "args": [patientId],
            "handler": handler
        });
@ -40,10 +40,10 @@ class PatientRepo {
     * @param handler
     */
    static findWechatOpenIds(code, handler){
        var sql = "SELECT M.\"FAMILY_MEMBER\" AS \"CODE\",P.\"NAME\" AS \"name\",P.\"OPENID\" AS \"openid\" FROM WLYY.WLYY_PATIENT P,WLYY.WLYY_PATIENT_FAMILY_MEMBER M" +
        var sql = "SELECT M.\"FAMILY_MEMBER\" AS \"CODE\",FUN_DECRYPTION(P.NAME,'"+DB_TABLES.AesKey+"') AS \"name\",P.\"OPENID\" AS \"openid\" FROM WLYY.WLYY_PATIENT P,WLYY.WLYY_PATIENT_FAMILY_MEMBER M" +
            "  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.\"NAME\" AS \"name\",P.\"OPENID\" AS \"openid\"  FROM WLYY.WLYY_PATIENT P WHERE P.CODE = :CODE";
            "  SELECT FUN_DECRYPTION(P.NAME,'"+DB_TABLES.AesKey+"') AS AS \"name\",P.\"OPENID\" AS \"openid\"  FROM WLYY.WLYY_PATIENT P WHERE P.CODE = :CODE";
        oracledbUtil.query({
            "sql": sql,
            "args": [code,code],

+ 7 - 7
src/server/repository/oracle/search.repo.js

@ -112,9 +112,9 @@ class SearchRepo {
     * @param handler
     */
    static searchUser(sessionIdList,userId, keyword, userTable, page, size, handler) {
        let sql = "SELECT*FROM ( SELECT DISTINCT rownum r,U.\"NAME\" AS \"user_name\",S.\"ID\" AS \"session_id\",S.\"NAME\" AS \"session_name\",S.\"TYPE\" AS \"session_type\",S.\"BUSINESS_TYPE\" AS \"business_type\",U.\"ID\" AS \"user_id\",U.\"SEX\" AS \"sex\",U.\"BIRTHDATE\" AS \"birthdate\",U.\"AVATAR\" AS \"avatar\",U.\"IDCARD\" AS \"idcard\" %s " +
        let sql = "SELECT*FROM ( SELECT DISTINCT rownum r,FUN_DECRYPTION(U.NAME,'"+DB_TABLES.AesKey+"') AS \"user_name\",S.\"ID\" AS \"session_id\",FUN_DECRYPTION(S.NAME,'"+DB_TABLES.AesKey+"') AS \"session_name\",S.\"TYPE\" AS \"session_type\",S.\"BUSINESS_TYPE\" AS \"business_type\",U.\"ID\" AS \"user_id\",U.\"SEX\" AS \"sex\",U.\"BIRTHDATE\" AS \"birthdate\",U.\"AVATAR\" AS \"avatar\",FUN_DECRYPTION(U.IDCARD,'"+DB_TABLES.AesKey+"') AS AS \"idcard\" %s " +
            " FROM  PARTICIPANTS P, " + userTable +
            " U,SESSIONS S WHERE S.ID IN ('"+sessionIdList+"') AND S.ID = P.SESSION_ID AND P.PARTICIPANT_ID = U.ID AND P.PARTICIPANT_ID<>:PARTICIPANT_ID AND (U.NAME LIKE :NAME OR U.IDCARD LIKE :IDCARD) ";
            " U,SESSIONS S WHERE S.ID IN ('"+sessionIdList+"') AND S.ID = P.SESSION_ID AND P.PARTICIPANT_ID = U.ID AND P.PARTICIPANT_ID<>:PARTICIPANT_ID AND (FUN_DECRYPTION(U.NAME,'"+DB_TABLES.AesKey+"') LIKE :NAME OR FUN_DECRYPTION(U.IDCARD,'"+DB_TABLES.AesKey+"') LIKE :IDCARD) ";
        if (userTable === DB_TABLES.Doctors) {
            sql += " AND S.TYPE = 2 AND S.BUSINESS_TYPE = 1 ";
@ -142,9 +142,9 @@ class SearchRepo {
        }
        let sqlTemp = "SELECT rownum r,* FROM(" +
            "SELECT S.\"ID\" AS \"id\",S.\"NAME\" AS \"name\",S.\"TYPE\" AS \"type\",S.\"CREATE_DATE\" AS \"create_date\",S.\"BUSINESS_TYPE\" AS \"business_type\",GROUP_CONCAT(U.NAME) AS \"participant_name\" " +
            "SELECT S.\"ID\" AS \"id\",FUN_DECRYPTION(S.NAME,'"+DB_TABLES.AesKey+"') AS \"name\",S.\"TYPE\" AS \"type\",S.\"CREATE_DATE\" AS \"create_date\",S.\"BUSINESS_TYPE\" AS \"business_type\",GROUP_CONCAT(FUN_DECRYPTION(U.NAME,'"+DB_TABLES.AesKey+"')) AS \"participant_name\" " +
            "FROM SESSIONS S,  DOCTORS U ,PARTICIPANTS P " +
            "WHERE S.ID IN ('"+sessionIdList+"') AND S.TYPE IN (3,4) AND S.ID = P.SESSION_ID AND P.PARTICIPANT_ID = U.ID AND P.PARTICIPANT_ID<>:PARTICIPANT_ID AND (U.NAME LIKE :NAME OR S.NAME LIKE :NAME) GROUP BY S.ID " +
            "WHERE S.ID IN ('"+sessionIdList+"') AND S.TYPE IN (3,4) AND S.ID = P.SESSION_ID AND P.PARTICIPANT_ID = U.ID AND P.PARTICIPANT_ID<>:PARTICIPANT_ID AND (FUN_DECRYPTION(U.NAME,'"+DB_TABLES.AesKey+"') LIKE :NAME OR FUN_DECRYPTION(S.NAME,'"+DB_TABLES.AesKey+"') LIKE :NAME) GROUP BY S.ID " +
            ") X ";
        let sql = "SELECT*FROM ( "+sqlTemp+" AND rownum<="+size+") WHERE r>="+page * size+" "
@ -162,15 +162,15 @@ class SearchRepo {
     */
    static searchMessages(sessionIdList,userId, keyword, page, size, handler) {
        let sqlTemp = "SELECT rownum r, * FROM(" +
            "SELECT S.\"ID\" AS \"session_id\",S.\"NAME\" AS \"session_name\",S.\"TYPE\" AS \"SESSION_TYPE\",S.\"BUSINESS_TYPE\" AS \"session_type\",M.\"ID\" AS \"message_id\",M.\"SENDER_ID\" AS \"sender_id\",M.\"SENDER_NAME\" AS \"sender_name\",M.\"TIMESTAMP\" AS \"timestamp\",M.\"CONTENT\" AS \"content\" " +
            "SELECT S.\"ID\" AS \"session_id\",FUN_DECRYPTION(S.NAME,'"+DB_TABLES.AesKey+"') AS \"session_name\",S.\"TYPE\" AS \"SESSION_TYPE\",S.\"BUSINESS_TYPE\" AS \"session_type\",M.\"ID\" AS \"message_id\",M.\"SENDER_ID\" AS \"sender_id\",FUN_DECRYPTION(M.SENDER_NAME,'"+DB_TABLES.AesKey+"') AS \"sender_name\",M.\"TIMESTAMP\" AS \"timestamp\",M.\"CONTENT\" AS \"content\" " +
            "FROM SESSIONS S, MUC_MESSAGES M " +
            "WHERE S.ID IN ('"+sessionIdList+"') AND S.ID = M.SESSION_ID AND S.`TYPE` = 1 AND M.CONTENT_TYPE = 1 AND M.CONTENT LIKE :CONTENT " +
            " UNION " +
            "SELECT S.\"ID\" AS \"session_id\",S.\"NAME\" AS \"session_name\",S.\"TYPE\" AS \"SESSION_TYPE\",S.\"BUSINESS_TYPE\" AS \"session_type\",M.\"ID\" AS \"message_id\",M.\"SENDER_ID\" AS \"sender_id\",M.\"SENDER_NAME\" AS \"sender_name\",M.\"TIMESTAMP\" AS \"timestamp\",M.\"CONTENT\" AS \"content\" " +
            "SELECT S.\"ID\" AS \"session_id\",FUN_DECRYPTION(S.NAME,'"+DB_TABLES.AesKey+"') AS \"session_name\",S.\"TYPE\" AS \"SESSION_TYPE\",S.\"BUSINESS_TYPE\" AS \"session_type\",M.\"ID\" AS \"message_id\",M.\"SENDER_ID\" AS \"sender_id\",FUN_DECRYPTION(M.SENDER_NAME,'"+DB_TABLES.AesKey+"') AS \"sender_name\",M.\"TIMESTAMP\" AS \"timestamp\",M.\"CONTENT\" AS \"content\" " +
            "FROM SESSIONS S, P2P_MESSAGES M " +
            "WHERE S.ID IN ('"+sessionIdList+"') AND S.ID = M.SESSION_ID AND S.`TYPE` = 2 AND M.CONTENT_TYPE = 1 AND M.CONTENT LIKE :CONTENT " +
            " UNION " +
            "SELECT S.\"ID\" AS \"session_id\",S.\"NAME\" AS \"session_name\",S.\"TYPE\" AS \"SESSION_TYPE\",S.\"BUSINESS_TYPE\" AS \"session_type\",M.\"ID\" AS \"message_id\",M.\"SENDER_ID\" AS \"sender_id\",M.\"SENDER_NAME\" AS \"sender_name\",M.\"TIMESTAMP\" AS \"timestamp\",M.\"CONTENT\" AS \"content\" " +
            "SELECT S.\"ID\" AS \"session_id\",FUN_DECRYPTION(S.NAME,'"+DB_TABLES.AesKey+"') AS \"session_name\",S.\"TYPE\" AS \"SESSION_TYPE\",S.\"BUSINESS_TYPE\" AS \"session_type\",M.\"ID\" AS \"message_id\",M.\"SENDER_ID\" AS \"sender_id\",FUN_DECRYPTION(M.SENDER_NAME,'"+DB_TABLES.AesKey+"') AS \"sender_name\",M.\"TIMESTAMP\" AS \"timestamp\",M.\"CONTENT\" AS \"content\" " +
            "FROM SESSIONS S, GROUP_MESSAGES M " +
            "WHERE S.ID IN ('"+sessionIdList+"') AND S.ID = M.SESSION_ID AND S.`TYPE` IN (3,5) AND M.CONTENT_TYPE = 1 AND M.CONTENT LIKE :CONTENT ) X " +
            "ORDER BY X.SESSION_ID, X.MESSAGE_ID ";

Різницю між файлами не показано, бо вона завелика
+ 27 - 15
src/server/repository/oracle/session.repo.js


Різницю між файлами не показано, бо вона завелика
+ 28 - 24
src/server/repository/oracle/topics.repo.js