From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master
---
jnpf-biz-common/jnpf-biz-common-audit/src/test/java/jnpf/bizcommon/audit/service/value/JnpfDictionaryFieldValueResolverProbe.java | 94 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 94 insertions(+), 0 deletions(-)
diff --git a/jnpf-biz-common/jnpf-biz-common-audit/src/test/java/jnpf/bizcommon/audit/service/value/JnpfDictionaryFieldValueResolverProbe.java b/jnpf-biz-common/jnpf-biz-common-audit/src/test/java/jnpf/bizcommon/audit/service/value/JnpfDictionaryFieldValueResolverProbe.java
new file mode 100644
index 0000000..d47e5a3
--- /dev/null
+++ b/jnpf-biz-common/jnpf-biz-common-audit/src/test/java/jnpf/bizcommon/audit/service/value/JnpfDictionaryFieldValueResolverProbe.java
@@ -0,0 +1,94 @@
+package jnpf.bizcommon.audit.service.value;
+
+import jnpf.bizcommon.audit.entity.model.AuditFieldDiffViewVO;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+/** dictionaryType 鏃犲唴鑱� options 鏃剁殑鎵归噺瑙f瀽涓庣鎴疯竟鐣屾帰閽堛�� */
+public final class JnpfDictionaryFieldValueResolverProbe {
+
+ private static int passed;
+ private static int failed;
+
+ public static void main(String[] args) {
+ CountingLookup lookup = new CountingLookup();
+ JnpfDictionaryFieldValueResolver resolver = new JnpfDictionaryFieldValueResolver(lookup);
+ AuditFieldDiffViewVO status = field("biz_status", "", "created");
+ AuditFieldDiffViewVO method = field("jiance_fangshi", "", "quanjian");
+ AuditFieldDiffViewVO snapshot = field("snapshot", "", "created");
+ snapshot.setNewDisplay("浜嬩欢蹇収");
+ List<AuditFieldDiffViewVO> fields = Arrays.asList(status, method, snapshot);
+ Map<String, String> dictionaryTypes = new LinkedHashMap<>();
+ dictionaryTypes.put("biz_status", "bizStatus");
+ dictionaryTypes.put("jiance_fangshi", "jianceFangshi");
+ dictionaryTypes.put("snapshot", "bizStatus");
+
+ resolver.resolve(new AuditFieldValueContext(
+ "lims_qingyandan", "tenant-a", null, dictionaryTypes), fields);
+
+ check("澶氫釜 dictionaryType 鍚堝苟鎴愪竴娆℃壒閲忔煡璇�", lookup.calls == 1,
+ String.valueOf(lookup.calls));
+ check("瀛楀吀绫诲瀷鍜屽�兼暣鎵规敹闆�", lookup.typeCount == 2 && lookup.valueCount == 2,
+ lookup.typeCount + "/" + lookup.valueCount);
+ check("鏃犲唴鑱� options 鐨勫瓧鍏稿�艰В鏋愬睍绀�", "宸插垱寤�".equals(status.getNewDisplay())
+ && "鍏ㄦ".equals(method.getNewDisplay()),
+ status.getNewDisplay() + "/" + method.getNewDisplay());
+ check("浜嬩欢鍙戠敓鏃跺睍绀哄揩鐓т紭鍏�", "浜嬩欢蹇収".equals(snapshot.getNewDisplay()),
+ snapshot.getNewDisplay());
+
+ resolver.resolve(new AuditFieldValueContext(
+ "lims_qingyandan", "", null, dictionaryTypes),
+ Collections.singletonList(field("biz_status", "", "created")));
+ check("绌虹鎴峰瓧鍏歌В鏋� fail-closed", lookup.calls == 1, String.valueOf(lookup.calls));
+
+ System.out.println("=== JNPF 瀛楀吀鎵归噺瑙f瀽鏂█锛�" + passed + " 閫氳繃 / " + failed + " 澶辫触 ===");
+ System.exit(failed == 0 ? 0 : 1);
+ }
+
+ private static AuditFieldDiffViewVO field(String name, String oldData, String newData) {
+ AuditFieldDiffViewVO field = new AuditFieldDiffViewVO();
+ field.setField(name);
+ field.setValueType("enum");
+ field.setComponentType("select");
+ field.setOldData(oldData);
+ field.setNewData(newData);
+ return field;
+ }
+
+ private static final class CountingLookup
+ implements JnpfDictionaryFieldValueResolver.DictionaryLookup {
+ private int calls;
+ private int typeCount;
+ private int valueCount;
+
+ @Override
+ public Map<String, Map<String, String>> labels(
+ String tenantId, Set<String> dictionaryTypes, Set<String> values) {
+ calls++;
+ typeCount = dictionaryTypes.size();
+ valueCount = values.size();
+ Map<String, Map<String, String>> result = new LinkedHashMap<>();
+ result.put("bizStatus", Collections.singletonMap("created", "宸插垱寤�"));
+ result.put("jianceFangshi", Collections.singletonMap("quanjian", "鍏ㄦ"));
+ return result;
+ }
+ }
+
+ private static void check(String name, boolean ok, String detail) {
+ if (ok) {
+ passed++;
+ System.out.println(" [PASS] " + name);
+ } else {
+ failed++;
+ System.out.println(" [FAIL] " + name + " -- " + detail);
+ }
+ }
+
+ private JnpfDictionaryFieldValueResolverProbe() {
+ }
+}
--
Gitblit v1.8.0