diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/preview/TableDataBeanHelper.java b/designer-base/src/main/java/com/fr/design/data/datapane/preview/TableDataBeanHelper.java index 6884df268d..5efe1c8908 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/preview/TableDataBeanHelper.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/preview/TableDataBeanHelper.java @@ -156,7 +156,12 @@ public class TableDataBeanHelper { if (dataSet.getDatabase() instanceof NameDatabaseConnection) { bean.setDatabase(((NameDatabaseConnection) dataSet.getDatabase()).getName()); } - bean.setQuery(DataEncryptionHelper.encrypt(dataSet.getQuery())); + if (dataSet.getQuery() != null) { + bean.setQuery(DataEncryptionHelper.encrypt(dataSet.getQuery())); + } + if (dataSet.getPageQuerySql() != null) { + bean.setPageQuery(DataEncryptionHelper.encrypt(dataSet.getPageQuerySql())); + } List parameterBeans = new ArrayList<>(); ParameterProvider[] parameters = dataSet.getParameters(Calculator.createCalculator()); for (ParameterProvider parameter : parameters) { @@ -186,7 +191,12 @@ public class TableDataBeanHelper { private static TableData deserialize4SQL(Map connectionMap, DBTableData oldDataSet, JSONObject object) { DBTableData tableData = new DBTableData(); SQLDataSetBean bean = object.mapTo(SQLDataSetBean.class); - tableData.setQuery(DataEncryptionHelper.decrypt(bean.getQuery())); + if (bean.getQuery() != null) { + tableData.setQuery(DataEncryptionHelper.decrypt(bean.getQuery())); + } + if (bean.getPageQuery() != null) { + tableData.setPageQuerySql(DataEncryptionHelper.decrypt(bean.getPageQuery())); + } Connection connection = connectionMap.get(bean.getDatabase()); if (connection != null) { tableData.setDatabase(new NameDatabaseConnection(bean.getDatabase())); diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTablePane.java b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTablePane.java index 197341caeb..622693263b 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTablePane.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTablePane.java @@ -2,6 +2,7 @@ package com.fr.design.data.datapane.preview.desensitization.view.setting; import com.fr.data.desensitize.base.DesensitizationTableData; import com.fr.data.desensitize.base.TableDataDesensitizationItem; +import com.fr.data.desensitize.rule.DesensitizationRuleManager; import com.fr.data.desensitize.rule.base.DesensitizationRule; import com.fr.data.desensitize.rule.base.DesensitizationRuleSource; import com.fr.design.data.datapane.preview.desensitization.TableDataPreviewDesensitizeManager; @@ -91,7 +92,8 @@ public class TableDataDesensitizationTablePane extends JPanel { // 获取当前所有用户组 roleMap.putAll(RemoteAuthorityRepository.getInstance().getAllRoles4Desensitization()); // 获取当前最新的所有规则 - latestRules.putAll(RemoteAuthorityRepository.getInstance().getAllRoles().getSourceRuleMap()); + latestRules.put(DesensitizationRuleSource.SERVER, RemoteAuthorityRepository.getInstance().getAllRoles().getSourceRuleMap().get(DesensitizationRuleSource.SERVER)); + latestRules.put(DesensitizationRuleSource.CUSTOM, DesensitizationRuleManager.getInstance().getRulesBySource(DesensitizationRuleSource.CUSTOM)); return null; } diff --git a/designer-realize/src/main/java/com/fanruan/boot/adaptation/DesignServerSupportModule.java b/designer-realize/src/main/java/com/fanruan/boot/adaptation/DesignServerSupportModule.java index 91f3fc6eb5..5b73aebc68 100644 --- a/designer-realize/src/main/java/com/fanruan/boot/adaptation/DesignServerSupportModule.java +++ b/designer-realize/src/main/java/com/fanruan/boot/adaptation/DesignServerSupportModule.java @@ -29,6 +29,7 @@ import static com.fanruan.portal.authority.PortalAuthorityItems.MAP_ID; import static com.fanruan.portal.authority.PortalAuthorityItems.PORTAL_MANAGEMENT_ID; import static com.fanruan.portal.authority.PortalAuthorityItems.SECURITY_ID; import static com.fr.decision.authority.base.constant.ReportAuthorityItems.ENTERPRISE_REPORT_BASE_SETTINGS_ID; +import static com.fr.decision.authority.base.constant.ReportAuthorityItems.ENTERPRISE_REPORT_ESD_ID; import static com.fr.decision.authority.base.constant.ReportAuthorityItems.ENTERPRISE_REPORT_ID; /** @@ -64,6 +65,8 @@ public class DesignServerSupportModule { ENTERPRISE_REPORT_ID, // 报表设置 - 基础设置 ENTERPRISE_REPORT_BASE_SETTINGS_ID, + // 报表设置 - 抽数缓存 + ENTERPRISE_REPORT_ESD_ID, // 安全管理 SECURITY_ID, // 地图管理 diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/cell/settingpane/desensitization/model/UpdateDataWorker.java b/designer-realize/src/main/java/com/fr/design/mainframe/cell/settingpane/desensitization/model/UpdateDataWorker.java index 284c290f6d..d89c4eac6d 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/cell/settingpane/desensitization/model/UpdateDataWorker.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/cell/settingpane/desensitization/model/UpdateDataWorker.java @@ -1,10 +1,11 @@ package com.fr.design.mainframe.cell.settingpane.desensitization.model; +import com.fr.data.desensitize.rule.DesensitizationRuleManager; import com.fr.data.desensitize.rule.base.DesensitizationRule; import com.fr.data.desensitize.rule.base.DesensitizationRuleSource; import com.fr.workspace.server.repository.authority.RemoteAuthorityRepository; -import javax.swing.*; +import javax.swing.SwingWorker; import java.util.HashMap; import java.util.Map; import java.util.concurrent.ExecutionException; @@ -25,8 +26,9 @@ public class UpdateDataWorker extends SwingWorker, Void> { protected Map doInBackground() { Map result = new HashMap<>(); Map allRoles = RemoteAuthorityRepository.getInstance().getAllRoles4Desensitization(); - Map> allRules = RemoteAuthorityRepository.getInstance().getAllRoles().getSourceRuleMap(); - + Map> allRules = new HashMap<>(); + allRules.put(DesensitizationRuleSource.SERVER, RemoteAuthorityRepository.getInstance().getAllRoles().getSourceRuleMap().get(DesensitizationRuleSource.SERVER)); + allRules.put(DesensitizationRuleSource.CUSTOM, DesensitizationRuleManager.getInstance().getRulesBySource(DesensitizationRuleSource.CUSTOM)); result.put(ROLE_KEY, allRoles); result.put(RULE_KEY, allRules);