From 98aea3fa64916f7dc56739494d2dad3963e193da Mon Sep 17 00:00:00 2001 From: TangCheng <tangchengmail@163.com> Date: 星期三, 09 四月 2025 16:01:37 +0800 Subject: [PATCH] 完成单点登录 --- JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/qwen/agent/script/SMTQwenAgentScriptScope.java | 123 +++++++++------------------------------- JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/control/SMTAIServerControl.java | 9 ++- 2 files changed, 34 insertions(+), 98 deletions(-) diff --git a/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/control/SMTAIServerControl.java b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/control/SMTAIServerControl.java index 06cc71f..7b4f962 100644 --- a/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/control/SMTAIServerControl.java +++ b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/control/SMTAIServerControl.java @@ -285,15 +285,18 @@ String token = tranReq.convParamToString("user_token", true); String ssoUrl = (String) SMTAIServerApp.getApp().getGlobalConfig("sso_url"); - ssoUrl = ssoUrl.replace("{user_token}", token); + ssoUrl = ssoUrl.replace("{user_token}", java.net.URLEncoder.encode(token, "UTF-8")); SMTHttpClient web = new SMTHttpClient(); Json jsonResp = Json.read(web.getHttpString(ssoUrl, null, null)); if(!jsonResp.safeGetBoolean("json_ok", false)) throw new Exception("login error"); - String userId = jsonResp.getJson("user_id").asString(); - String userName = jsonResp.getJson("user_name").asString(); + //{"json_ok":true,"value":{"USER_ID":"b6178aa09e4946d6a2d6bbbd7d22f666","USER_NAME":"鍞愭垚","USER_LOGIN_NAME":"tc","USER_PART":"ba24b67a00574d8b9391434a207ea972","USER_SEX":null,"USER_PHONE":null,"USER_EMAIL":null}} + + Json jsonUserInfo = jsonResp.getJson("value"); + String userId = jsonUserInfo.getJson("USER_ID").asString(); + String userName = jsonUserInfo.getJson("USER_NAME").asString(); // 鏌ヨ鐢ㄦ埛鏄惁瀛樺湪, 涓嶅瓨鍦ㄥ垯鍒涘缓鐢ㄦ埛 synchronized(_lockSSO) diff --git a/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/qwen/agent/script/SMTQwenAgentScriptScope.java b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/qwen/agent/script/SMTQwenAgentScriptScope.java index 53f31fd..f126dc0 100644 --- a/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/qwen/agent/script/SMTQwenAgentScriptScope.java +++ b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/qwen/agent/script/SMTQwenAgentScriptScope.java @@ -1,6 +1,7 @@ package com.smtaiserver.smtaiserver.javaai.qwen.agent.script; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; import java.util.Map.Entry; @@ -84,14 +85,27 @@ // 鏍煎紡锛歔{瀛楁1:鍊�1, 瀛楁2:鍊�2},{瀛楁1:鍊�3, 瀛楁2:鍊�4}...] public NativeArray queryRecord(String tableName, NativeArray arrColumns, NativeObject nvTimeGroup, NativeArray arrOrderColumns, NativeObject nvLimit, NativeArray arrFilters) throws Exception { + String sqlColTime = null; + if(nvTimeGroup != null) + { + sqlColTime = (String) SMTAIServerApp.getJSValue(nvTimeGroup, "col"); + } + // 鍔犲叆瀛楁 StringBuilder sbColumn = new StringBuilder(); + java.util.Set<String> setExistCols = new HashSet<>(); for(int i = 0; i < arrColumns.size(); i ++) { String colName = SMTStatic.toString(SMTAIServerApp.unwrapObject(arrColumns.get(i))); + setExistCols.add(colName.toUpperCase()); if(i > 0) sbColumn.append(","); sbColumn.append(colName); + } + + if(sqlColTime != null && !setExistCols.contains(sqlColTime.toUpperCase())) + { + sbColumn.append("," + sqlColTime); } // 鍔犲叆琛ㄥ悕 @@ -102,6 +116,8 @@ { tableName = " (SELECT\r\n" + + " '鍘嬪姏璁�' AS DEVICE_TYPE,\r\n" + + " 'XXX' AS FACTORY,\r\n" + " N.title AS DEVICE_NAME,\r\n" + " Q.otype AS QUOTA_TYPE,\r\n" + " Q.oname AS QUOTA_NAME\r\n" @@ -193,12 +209,16 @@ if(nvLimit != null) { SMTAIServerApp.getApp(); - int limit = SMTStatic.toInt(SMTAIServerApp.getJSValue(nvLimit, "limit")); - sbLimit.append("LIMIT " + limit); - - Object oStart = SMTAIServerApp.getJSValue(nvLimit, "start", null); - if(oStart != null) - sbLimit.append(" OFFSET " + SMTStatic.toInt(oStart)); + Object oLimit = SMTAIServerApp.getJSValue(nvLimit, "limit", null); + if(oLimit != null) + { + int limit = SMTStatic.toInt(oLimit); + sbLimit.append("LIMIT " + limit); + + Object oStart = SMTAIServerApp.getJSValue(nvLimit, "start", null); + if(oStart != null) + sbLimit.append(" OFFSET " + SMTStatic.toInt(oStart)); + } } // 鏁村悎SQL @@ -242,6 +262,7 @@ SMTDatabase db = _dbMap.getDatabase("DS_43"); List<NativeObject> recList = new ArrayList<>(); + System.out.println("=================>\n" + sql + "\n<====================\n"); db.querySQLNotify(sql, null, new DBQueryNotify() { @Override public boolean onNextRecord(DBRecord rec) throws Exception @@ -261,94 +282,6 @@ return new NativeArray(recList.toArray(new NativeObject[recList.size()])); } - public NativeArray queryRecord1(String tableName, NativeArray arrColumns, NativeObject arrTimeGroup, NativeArray arrOrderColumns, NativeObject arrLimit, NativeArray arrFilters) throws Exception - { - if(tableName.startsWith("dev_names")) - { - NativeObject nvRec = new NativeObject(); - SMTAIServerApp.putJSNotNullValue(nvRec, "QUOTA_TYPE", "SDVAL_FLOW_W"); - SMTAIServerApp.putJSNotNullValue(nvRec, "QUOTA_NAME", "D_QSS130_LL"); - return new NativeArray(new Object[] {nvRec}); - } - else - { - SMTDatabase db = _dbMap.getDatabase("DS_43"); - { - StringBuilder sbSQL = new StringBuilder(); - sbSQL.append("SELECT "); - for(int i = 0; i < arrColumns.size(); i ++) - { - String colName = SMTStatic.toString(SMTAIServerApp.unwrapObject(arrColumns.get(i))); - if(i > 0) - sbSQL.append(","); - sbSQL.append(colName); - } - sbSQL.append(" FROM (SELECT otype as quota_type, oname as quota_name, oname as QUOTA_TITLE, OTIME, SDVAL from sd_values.sd_raws_match) T"); - - if(arrFilters != null && arrFilters.size() > 0) - { - sbSQL.append(" WHERE "); - - for(int i = 0; i < arrFilters.size(); i ++) - { - if(i > 0) - sbSQL.append(" AND "); - - NativeObject nvFilter = (NativeObject) SMTAIServerApp.unwrapObject(arrFilters.get(i)); - - String field = (String) SMTAIServerApp.getJSValue(nvFilter, "col"); - String op = (String) SMTAIServerApp.getJSValue(nvFilter, "op"); - - if("BETWEEN".equals(op)) - { - NativeArray arrBetween = (NativeArray)SMTAIServerApp.getJSValue(nvFilter, "value"); - sbSQL.append(field); - sbSQL.append(" BETWEEN "); - String value1 = (String)SMTAIServerApp.unwrapObject(arrBetween.get(0)); - sbSQL.append("'" + value1.replace("'", "''") + "'") ; - - sbSQL.append(" AND "); - String value2 = (String)SMTAIServerApp.unwrapObject(arrBetween.get(1)); - sbSQL.append("'" + value2.replace("'", "''") + "'") ; - } - else - { - String value = (String)SMTAIServerApp.getJSValue(nvFilter, "value"); - sbSQL.append(field); - sbSQL.append(op); - sbSQL.append("'" + value.replace("'", "''") + "'"); - } - } - - } - - List<NativeObject> listRec = new ArrayList<>(); - db.querySQLNotify(sbSQL.toString(), null, new DBQueryNotify() - { - @Override - public boolean onNextRecord(DBRecord rec) throws Exception - { - NativeObject nvRec = new NativeObject(); - - for(Entry<String, Integer> entry : rec.getFieldMap().entrySet()) - { - String value = rec.getString(entry.getValue()); - if(value == null) - continue; - SMTAIServerApp.putJSNotNullValue(nvRec, entry.getKey(), value); - } - listRec.add(nvRec); - - return true; - } - - }); - return new NativeArray(listRec.toArray(new NativeObject[listRec.size()])); - } - - - } - } // outputTimeChart(璁板綍闆�, 鍚嶇О瀛楁鍚�, 鏃堕棿瀛楁鍚�, 鍊煎瓧娈靛悕,鏍囬鍚�) // 鍔熻兘: @@ -466,7 +399,7 @@ for(int i = 0; i < arrColNames.size(); i ++) { String colName = (String)SMTAIServerApp.unwrapObject(arrColNames.get(i)); - String colTitle = (String)SMTAIServerApp.unwrapObject(arrColTitles.get(i)); + String colTitle = arrColTitles == null ? colName : (String)SMTAIServerApp.unwrapObject(arrColTitles.get(i)); jsonWrResult.beginMap(null); { -- Gitblit v1.9.3