From 04a10740ec7ebc06c3006160af3d668eeb4176ea Mon Sep 17 00:00:00 2001
From: "Austin.Duan" <Austin.Duan@fanruan.com>
Date: Wed, 22 Mar 2023 15:25:29 +0800
Subject: [PATCH] =?UTF-8?q?REPORT-91742=20fix:=20=E4=BF=AE=E5=A4=8D?=
 =?UTF-8?q?=E6=B5=8B=E8=AF=95=E8=BF=9E=E6=8E=A5=E5=A4=B1=E8=B4=A5=E9=97=AE?=
 =?UTF-8?q?=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../pages/connection/list/list_item/list_item.ts | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/src/modules/pages/connection/list/list_item/list_item.ts b/src/modules/pages/connection/list/list_item/list_item.ts
index 58537d7..a3c9f2c 100644
--- a/src/modules/pages/connection/list/list_item/list_item.ts
+++ b/src/modules/pages/connection/list/list_item/list_item.ts
@@ -6,6 +6,9 @@ import { hasRegistered } from '../list.service';
 import { connectionCanEdit, getTextByDatabaseType, getChartLength } from '../../../../app.service';
 import { testConnection } from '../../../maintain/forms/form.server';
 import { DownListCombo, Label, SignEditor } from '@fui/core';
+import { ApiFactory } from '../../../../crud/apiFactory';
+
+const api = new ApiFactory().create();
 
 @shortcut()
 @store(ListItemModel)
@@ -206,8 +209,17 @@ export class ListItem extends BI.BasicButton {
     }
 
     private testConnectionAction() {
-        const { name } = this.options;
-        testConnection(this.model.connections.find(item => item.connectionName === name));
+        // 接口返回的内容是对称加密的,前端要先解密再用新加密传回去
+        const connection = this.model.connections
+            .find(item => item.connectionName === this.options.name) || {};
+
+        if (BI.isNull(connection)) return;
+
+        const validationQuery = connection?.connectionData?.connectionPoolAttr?.validationQuery;
+
+        BI.set(connection, 'connectionData.connectionPoolAttr.validationQuery', api.getCipher(api.getPlain(validationQuery)));
+
+        testConnection(connection);
     }
 
     private itemActionCalculate() {