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 bfc0f0802d7917894c6ff5133299e0efd5f6e3a1..1c9494a78e6cab1ab33adb714cffb2f6808c6790 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)); + } } } }