huangwenjie 5 лет назад
Родитель
Сommit
f854778fd7

+ 42 - 43
src/server/repository/oracle/db/server2.js

@ -94,46 +94,45 @@ var executeSql = async function (dataSource, sql) {
    }
};
(async () => {
    await initPool();
//启动服务器
    var server = http.createServer((req, res) => {
        if (req.url === "/getResult") {
            // 跨域,null是开启本地直接访问服务器特权
            res.setHeader('Access-Control-Allow-Origin', 'null');
            var params = '';
            req.setEncoding('utf8');
            // 采用post请求,接收前端的参数,这里考虑到sql里面可能有汉字,所以前端传过来的是编码后的JSON字符串。
            req.on('data', function (chunk) {
                params += chunk;
            });
            req.on('end', () => {
                params = decodeURIComponent(unescape(params));
                var { sql, dataSource } = JSON.parse(params);
                (async () => {
                    try {
                        var { metaData, rows } = await executeSql(dataSource, sql);
                        var data = [];
                        for (var i = 0; i < rows.length; i++) {
                            var temp = {}
                            for (var j = 0; j < metaData.length; j++) {
                                temp[metaData[j]['name']] = rows[i][j];
                            }
                            data.push(temp);
                        }
                        var dataReturn = { flag: 1, data: data }
                        res.end(JSON.stringify(dataReturn));
                    } catch (err) {
                        res.end(JSON.stringify({ flag: 0, data: err.message }));
                    }
                })();
            })
        } else if (req.url === "/getlog") {
            //查看连接池状态信息接口,暂时写死了别名,调试用的,需要换成你自己的别名。
            oracledb.getPool('J1_SGS')._logStats();
            res.end();
        }
    })
}
// (async () => {
//     await initPool();
//     var server = http.createServer((req, res) => {
//         if (req.url === "/getResult") {
//             // 跨域,null是开启本地直接访问服务器特权
//             res.setHeader('Access-Control-Allow-Origin', 'null');
//
//             var params = '';
//             req.setEncoding('utf8');
//             // 采用post请求,接收前端的参数,这里考虑到sql里面可能有汉字,所以前端传过来的是编码后的JSON字符串。
//             req.on('data', function (chunk) {
//                 params += chunk;
//             });
//             req.on('end', () => {
//                 params = decodeURIComponent(unescape(params));
//                 var { sql, dataSource } = JSON.parse(params);
//                 (async () => {
//                     try {
//                         var { metaData, rows } = await executeSql(dataSource, sql);
//                         var data = [];
//                         for (var i = 0; i < rows.length; i++) {
//                             var temp = {}
//                             for (var j = 0; j < metaData.length; j++) {
//                                 temp[metaData[j]['name']] = rows[i][j];
//                             }
//                             data.push(temp);
//                         }
//                         var dataReturn = { flag: 1, data: data }
//                         res.end(JSON.stringify(dataReturn));
//                     } catch (err) {
//                         res.end(JSON.stringify({ flag: 0, data: err.message }));
//                     }
//                 })();
//             })
//
//         } else if (req.url === "/getlog") {
//             //查看连接池状态信息接口,暂时写死了别名,调试用的,需要换成你自己的别名。
//             oracledb.getPool('J1_SGS')._logStats();
//             res.end();
//         }
//     })
// }

+ 2 - 2
src/server/repository/oracle/session.repo.js

@ -150,7 +150,7 @@ class SessionRepo {
            }
        }
        let sqlTemp = "SELECT rownum r,SESSION_ID FROM " + DB_TABLES.Participants + " W WHERE W.PARTICIPANT_ID IN(?) GROUP BY W.SESSION_ID";
        let sqlTemp = "SELECT rownum r,SESSION_ID FROM " + DB_TABLES.Participants + " W WHERE W.PARTICIPANT_ID IN('"+userId+"') GROUP BY W.SESSION_ID";
        let sessionSQL = "SELECT ID, NAME, TYPE, CREATE_DATE, LAST_SENDER_ID, LAST_SENDER_NAME, LAST_CONTENT_TYPE, LAST_CONTENT, LAST_MESSAGE_TIME FROM "
            + DB_TABLES.Sessions + " S WHERE S.ID IN(" + sqlTemp + ") AND S.TYPE IN("+type+") ";
@ -159,7 +159,7 @@ class SessionRepo {
        }
        sessionSQL +=  " ORDER BY S.LAST_MESSAGE_TIME DESC "
        let sql = "SELECT*FROM ( "+sessionSQL+" AND rownum<="+pagesize+") WHERE r>="+page
        let sql = "SELECT * FROM ( "+sessionSQL+" AND rownum<="+pagesize+" ) WHERE r>="+page
        log.info(sessionSQL)
        ImDb.execQuery({
            "sql": sql,