From dbf1e815156f72b11165330142b15f3a9b9e07b8 Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Thu, 11 Dec 2025 14:23:57 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BF=AE=E5=A4=8D]=20=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E8=A7=86=E5=9B=BE-=E8=8E=B7=E5=8F=96=E8=A7=86?= =?UTF-8?q?=E5=9B=BE=E6=95=B0=E6=8D=AE=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1573284531896323]自定义视图-获取视图数据异常 http://192.168.0.96:8090/demo/rdm.html#/bug-detail/939050947543040/939050947543057/1573284531896323 --- .../handler/PasswordValueHandler.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main/java/neatlogic/module/cmdb/attrvaluehandler/handler/PasswordValueHandler.java b/src/main/java/neatlogic/module/cmdb/attrvaluehandler/handler/PasswordValueHandler.java index bfc0f080..1c9494a7 100644 --- a/src/main/java/neatlogic/module/cmdb/attrvaluehandler/handler/PasswordValueHandler.java +++ b/src/main/java/neatlogic/module/cmdb/attrvaluehandler/handler/PasswordValueHandler.java @@ -13,6 +13,7 @@ package neatlogic.module.cmdb.attrvaluehandler.handler; import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import neatlogic.framework.cmdb.attrvaluehandler.core.IAttrValueHandler; import neatlogic.framework.cmdb.dto.ci.AttrVo; import neatlogic.framework.cmdb.enums.SearchExpression; @@ -20,6 +21,9 @@ import neatlogic.framework.common.util.RC4Util; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; + @Service public class PasswordValueHandler implements IAttrValueHandler { @@ -119,9 +123,19 @@ public class PasswordValueHandler implements IAttrValueHandler { @Override public void transferValueListToDisplay(AttrVo attrVo, JSONArray valueList) { if (CollectionUtils.isNotEmpty(valueList)) { + // 在自定义视图数据中valueList值有可能是["{RC4}da1bab,{RC4}dc11a1addcdb"] for (int i = 0; i < valueList.size(); i++) { String value = valueList.getString(i); - valueList.set(i, RC4Util.decrypt(value)); + if (value.contains(",")) { + List strList = new ArrayList<>(); + String[] split = value.split(","); + for (String str : split) { + strList.add(RC4Util.decrypt(str)); + } + valueList.set(i, String.join(",", strList)); + } else { + valueList.set(i, RC4Util.decrypt(value)); + } } } } -- Gitee