From 0f1509097818fbf48d7741d0fe0d9b973e88730d Mon Sep 17 00:00:00 2001
From: 张世豪 <979909237@qq.com>
Date: 星期六, 22 十一月 2025 17:46:43 +0800
Subject: [PATCH] 新增人脸检测暂停有卡卡槽查询

---
 bin/home/CardMachineUI.class           |    0 
 bin/.gitignore                         |    8 
 src/chushihua/lunxun.java              |  233 +++++++++++++++++++++-----------------
 err.properties                         |   40 ++++++
 bin/chushihua/lunxun.class             |    0 
 bin/chushihua/lunxun$PollingTask.class |    0 
 log.properties                         |   54 ++++++++
 src/home/CardMachineUI.java            |    6 
 8 files changed, 226 insertions(+), 115 deletions(-)

diff --git a/bin/.gitignore b/bin/.gitignore
index 191f907..9a0ec28 100644
--- a/bin/.gitignore
+++ b/bin/.gitignore
@@ -1,7 +1,5 @@
-/jiekou/
-/home/
-/chushihua/
-/xitongshezhi/
 /chuankou/
+/chushihua/
+/home/
 /publicway/
-/dialog/
+/xitongshezhi/
diff --git a/bin/chushihua/lunxun$PollingTask.class b/bin/chushihua/lunxun$PollingTask.class
index 5dedbf1..fa85784 100644
--- a/bin/chushihua/lunxun$PollingTask.class
+++ b/bin/chushihua/lunxun$PollingTask.class
Binary files differ
diff --git a/bin/chushihua/lunxun.class b/bin/chushihua/lunxun.class
index 7e7882b..534d698 100644
--- a/bin/chushihua/lunxun.class
+++ b/bin/chushihua/lunxun.class
Binary files differ
diff --git a/bin/home/CardMachineUI.class b/bin/home/CardMachineUI.class
index fc0d3b9..a49d9c9 100644
--- a/bin/home/CardMachineUI.class
+++ b/bin/home/CardMachineUI.class
Binary files differ
diff --git a/err.properties b/err.properties
index 79be55e..000d061 100644
--- a/err.properties
+++ b/err.properties
@@ -1,2 +1,38 @@
-#\u53D1\u5361\u673A\u9519\u8BEF\u8BB0\u5F55 - \u6240\u6709\u8BB0\u5F55\u5DF2\u6E05\u7A7A
-#Fri Nov 21 19:35:34 CST 2025
+#\u64CD\u4F5C\u65E5\u5FD7\u8BB0\u5F55 - \u6700\u540E\u66F4\u65B0: Sat Nov 22 15:43:39 CST 2025
+#Sat Nov 22 15:43:39 CST 2025
+log_1763789446376_988d7c49=[2025-11-22 13\:30\:46] [13\:30\:46.374] 鍙戦�佸け璐ワ紝姝e湪閲嶈瘯 (1/2)
+log_1763789446456_a6ac3722=[2025-11-22 13\:30\:46] [13\:30\:46.456] 鍙戦�佸け璐ワ紝姝e湪閲嶈瘯 (2/2)
+log_1763789446514_b6a71823=[2025-11-22 13\:30\:46] [13\:30\:46.514] 鍙戦�佸け璐ワ紝姝e湪閲嶈瘯 (1/2)
+log_1763789446569_161a5712=[2025-11-22 13\:30\:46] [13\:30\:46.569] 鍙戦�佸け璐ワ紝姝e湪閲嶈瘯 (2/2)
+log_1763789446630_1077c7e6=[2025-11-22 13\:30\:46] [13\:30\:46.630] 鍙戦�佸け璐ワ紝姝e湪閲嶈瘯 (1/2)
+log_1763789446684_7cae2d01=[2025-11-22 13\:30\:46] [13\:30\:46.684] 鍙戦�佸け璐ワ紝姝e湪閲嶈瘯 (2/2)
+log_1763789446742_b8870ee0=[2025-11-22 13\:30\:46] [13\:30\:46.742] 鍙戦�佸け璐ワ紝姝e湪閲嶈瘯 (1/2)
+log_1763789446798_316ed82f=[2025-11-22 13\:30\:46] [13\:30\:46.798] 鍙戦�佸け璐ワ紝姝e湪閲嶈瘯 (2/2)
+log_1763789446856_96be7593=[2025-11-22 13\:30\:46] [13\:30\:46.856] 鍙戦�佸け璐ワ紝姝e湪閲嶈瘯 (1/2)
+log_1763789446910_a8beea8f=[2025-11-22 13\:30\:46] [13\:30\:46.910] 鍙戦�佸け璐ワ紝姝e湪閲嶈瘯 (2/2)
+log_1763789446966_3df74d56=[2025-11-22 13\:30\:46] lunxun杩炵画澶辫触娆℃暟杩囧锛屾殏鍋滆疆璇�
+log_1763795783674_8b53ec90=[2025-11-22 15\:16\:23] [15\:16\:23.672] 鍙戦�佸け璐ワ紝姝e湪閲嶈瘯 (1/2)
+log_1763795783704_0d7f2bae=[2025-11-22 15\:16\:23] [15\:16\:23.704] 鍙戦�佸け璐ワ紝姝e湪閲嶈瘯 (1/2)
+log_1763795783706_764a8720=[2025-11-22 15\:16\:23] [15\:16\:23.705] 鍙戦�佸け璐ワ紝姝e湪閲嶈瘯 (1/2)
+log_1763795783707_91d6a74e=[2025-11-22 15\:16\:23] [15\:16\:23.707] 鍙戦�佸け璐ワ紝姝e湪閲嶈瘯 (1/2)
+log_1763795783709_453e8e32=[2025-11-22 15\:16\:23] [15\:16\:23.708] 鍙戦�佸け璐ワ紝姝e湪閲嶈瘯 (1/2)
+log_1763795783710_9ba2c525=[2025-11-22 15\:16\:23] 杩炵画澶辫触娆℃暟杩囧锛屾殏鍋滆疆璇�
+log_1763797334626_04df8243=[2025-11-22 15\:42\:14] 杩炵画澶辫触娆℃暟杩囧锛屾殏鍋滆疆璇�
+log_1763797334658_a6c75b5f=[2025-11-22 15\:42\:14] 杞鏌ヨ杩囩▼涓彂鐢熷紓甯竆: current thread is not owner
+log_1763797339663_93d1b1d9=[2025-11-22 15\:42\:19] 杞鏌ヨ杩囩▼涓彂鐢熷紓甯竆: current thread is not owner
+log_1763797344667_704d7e7d=[2025-11-22 15\:42\:24] 杞鏌ヨ杩囩▼涓彂鐢熷紓甯竆: current thread is not owner
+log_1763797349672_ee6dbf12=[2025-11-22 15\:42\:29] 杞鏌ヨ杩囩▼涓彂鐢熷紓甯竆: current thread is not owner
+log_1763797354677_c65e7427=[2025-11-22 15\:42\:34] 杞鏌ヨ杩囩▼涓彂鐢熷紓甯竆: current thread is not owner
+log_1763797359682_57e9a05f=[2025-11-22 15\:42\:39] 杞鏌ヨ杩囩▼涓彂鐢熷紓甯竆: current thread is not owner
+log_1763797364688_043b5709=[2025-11-22 15\:42\:44] 杞鏌ヨ杩囩▼涓彂鐢熷紓甯竆: current thread is not owner
+log_1763797369693_f5906191=[2025-11-22 15\:42\:49] 杞鏌ヨ杩囩▼涓彂鐢熷紓甯竆: current thread is not owner
+log_1763797374697_b47cdd8c=[2025-11-22 15\:42\:54] 杞鏌ヨ杩囩▼涓彂鐢熷紓甯竆: current thread is not owner
+log_1763797379702_ed7100c0=[2025-11-22 15\:42\:59] 杞鏌ヨ杩囩▼涓彂鐢熷紓甯竆: current thread is not owner
+log_1763797384707_1c168ae5=[2025-11-22 15\:43\:04] 杞鏌ヨ杩囩▼涓彂鐢熷紓甯竆: current thread is not owner
+log_1763797389712_b4cf898c=[2025-11-22 15\:43\:09] 杞鏌ヨ杩囩▼涓彂鐢熷紓甯竆: current thread is not owner
+log_1763797394717_0d58d8a9=[2025-11-22 15\:43\:14] 杞鏌ヨ杩囩▼涓彂鐢熷紓甯竆: current thread is not owner
+log_1763797399721_2c2dc0d0=[2025-11-22 15\:43\:19] 杞鏌ヨ杩囩▼涓彂鐢熷紓甯竆: current thread is not owner
+log_1763797404726_31fbf23a=[2025-11-22 15\:43\:24] 杞鏌ヨ杩囩▼涓彂鐢熷紓甯竆: current thread is not owner
+log_1763797409731_5ef27119=[2025-11-22 15\:43\:29] 杞鏌ヨ杩囩▼涓彂鐢熷紓甯竆: current thread is not owner
+log_1763797414736_ac54bee3=[2025-11-22 15\:43\:34] 杞鏌ヨ杩囩▼涓彂鐢熷紓甯竆: current thread is not owner
+log_1763797419741_8fcdd344=[2025-11-22 15\:43\:39] 杞鏌ヨ杩囩▼涓彂鐢熷紓甯竆: current thread is not owner
diff --git a/log.properties b/log.properties
index e2762a8..50d0198 100644
--- a/log.properties
+++ b/log.properties
@@ -1,5 +1,5 @@
-#\u64CD\u4F5C\u65E5\u5FD7\u8BB0\u5F55 - \u6700\u540E\u66F4\u65B0: Fri Nov 21 19:36:06 CST 2025
-#Fri Nov 21 19:36:06 CST 2025
+#\u64CD\u4F5C\u65E5\u5FD7\u8BB0\u5F55 - \u6700\u540E\u66F4\u65B0: Sat Nov 22 15:43:14 CST 2025
+#Sat Nov 22 15:43:14 CST 2025
 log_1763724957486_7ed8425e=[2025-11-21 19\:35\:57] 鍙栧崱鎿嶄綔锛氬崱妲�1琚鐞嗗憳鍙栧崱
 log_1763724957585_8967e0b2=[2025-11-21 19\:35\:57] 鍙栧崱鎿嶄綔锛氬崱妲�2琚鐞嗗憳鍙栧崱
 log_1763724957735_6574dba5=[2025-11-21 19\:35\:57] 鍙栧崱鎿嶄綔锛氬崱妲�3琚鐞嗗憳鍙栧崱
@@ -65,3 +65,53 @@
 log_1763724963985_8ee47f7c=[2025-11-21 19\:36\:03] 鍙栧崱鎿嶄綔锛氬崱妲�55琚鐞嗗憳鍙栧崱
 log_1763724964285_ddff2a15=[2025-11-21 19\:36\:04] 鍙栧崱鎿嶄綔锛氬崱妲�55琚鐞嗗憳鍙栧崱
 log_1763724966171_1001bb5c=[2025-11-21 19\:36\:06] 绠$悊鍛樺凡灏嗗叏閮ㄥ崱妲藉凡缁忔墦寮�璇峰彇鍗�
+log_1763789484180_b8a899e1=[2025-11-22 13\:31\:24] 鍙栧崱鎿嶄綔锛氬崱妲�3琚鐞嗗憳鍙栧崱
+log_1763789484496_04c6c8c1=[2025-11-22 13\:31\:24] 鍙栧崱鎿嶄綔锛氬崱妲�3琚鐞嗗憳鍙栧崱
+log_1763796570996_9e09fb61=[2025-11-22 15\:29\:30] 鍙栧崱鎿嶄綔锛氬崱妲�8琚鐞嗗憳鍙栧崱
+log_1763796584253_3d102b2d=[2025-11-22 15\:29\:44] 鍙栧崱鎿嶄綔锛氬崱妲�18琚鐞嗗憳鍙栧崱
+log_1763796584613_89e54457=[2025-11-22 15\:29\:44] 鍙栧崱鎿嶄綔锛氬崱妲�18琚鐞嗗憳鍙栧崱
+log_1763796595461_dfba9a6c=[2025-11-22 15\:29\:55] 鍙栧崱鎿嶄綔锛氬崱妲�19琚鐞嗗憳鍙栧崱
+log_1763796601266_3c1efc15=[2025-11-22 15\:30\:01] 鍙栧崱鎿嶄綔锛氬崱妲�17琚鐞嗗憳鍙栧崱
+log_1763796601612_be728bba=[2025-11-22 15\:30\:01] 鍙栧崱鎿嶄綔锛氬崱妲�17琚鐞嗗憳鍙栧崱
+log_1763796639618_a4f98efe=[2025-11-22 15\:30\:39] 鍙栧崱鎿嶄綔锛氬崱妲�8琚鐞嗗憳鍙栧崱
+log_1763796645488_c1b9fdbc=[2025-11-22 15\:30\:45] 鍙栧崱鎿嶄綔锛氬崱妲�18琚鐞嗗憳鍙栧崱
+log_1763796645862_d8280caa=[2025-11-22 15\:30\:45] 鍙栧崱鎿嶄綔锛氬崱妲�18琚鐞嗗憳鍙栧崱
+log_1763796649004_765f3a76=[2025-11-22 15\:30\:49] 鍙栧崱鎿嶄綔锛氬崱妲�13琚鐞嗗憳鍙栧崱
+log_1763796666877_dc07a7e9=[2025-11-22 15\:31\:06] 鍙栧崱鎿嶄綔锛氬崱妲�8琚鐞嗗憳鍙栧崱
+log_1763796671164_0bfd4da1=[2025-11-22 15\:31\:11] 鍙栧崱鎿嶄綔锛氬崱妲�13琚鐞嗗憳鍙栧崱
+log_1763796683199_aaa5f071=[2025-11-22 15\:31\:23] 鍙栧崱鎿嶄綔锛氬崱妲�9琚鐞嗗憳鍙栧崱
+log_1763796687126_8c5e091a=[2025-11-22 15\:31\:27] 鍙栧崱鎿嶄綔锛氬崱妲�7琚鐞嗗憳鍙栧崱
+log_1763796690465_e506e75d=[2025-11-22 15\:31\:30] 鍙栧崱鎿嶄綔锛氬崱妲�22琚鐞嗗憳鍙栧崱
+log_1763796690812_f26b1bca=[2025-11-22 15\:31\:30] 鍙栧崱鎿嶄綔锛氬崱妲�22琚鐞嗗憳鍙栧崱
+log_1763796701339_8c2dce1b=[2025-11-22 15\:31\:41] 鍙栧崱鎿嶄綔锛氬崱妲�12琚鐞嗗憳鍙栧崱
+log_1763796701663_0c96bb85=[2025-11-22 15\:31\:41] 鍙栧崱鎿嶄綔锛氬崱妲�12琚鐞嗗憳鍙栧崱
+log_1763796706036_0dd4c910=[2025-11-22 15\:31\:46] 鍙栧崱鎿嶄綔锛氬崱妲�13琚鐞嗗憳鍙栧崱
+log_1763796706413_31ebd822=[2025-11-22 15\:31\:46] 鍙栧崱鎿嶄綔锛氬崱妲�13琚鐞嗗憳鍙栧崱
+log_1763796743734_613127ce=[2025-11-22 15\:32\:23] 鍙栧崱鎿嶄綔锛氬崱妲�27琚鐞嗗憳鍙栧崱
+log_1763796744066_e4897b75=[2025-11-22 15\:32\:24] 鍙栧崱鎿嶄綔锛氬崱妲�27琚鐞嗗憳鍙栧崱
+log_1763796746892_73a3de50=[2025-11-22 15\:32\:26] 鍙栧崱鎿嶄綔锛氬崱妲�37琚鐞嗗憳鍙栧崱
+log_1763796852928_a74783df=[2025-11-22 15\:34\:12] 鍙栧崱鎿嶄綔锛氬崱妲�7琚鐞嗗憳鍙栧崱
+log_1763796853265_ce89adf4=[2025-11-22 15\:34\:13] 鍙栧崱鎿嶄綔锛氬崱妲�7琚鐞嗗憳鍙栧崱
+log_1763796862831_c78dcd41=[2025-11-22 15\:34\:22] 鍙栧崱鎿嶄綔锛氬崱妲�33琚鐞嗗憳鍙栧崱
+log_1763797078465_84863744=[2025-11-22 15\:37\:58] 鍙栧崱鎿嶄綔锛氬崱妲�36琚鐞嗗憳鍙栧崱
+log_1763797334627_489b424f=[2025-11-22 15\:42\:14] DDCC0008F009515AA55AA5027AD4;type2鎺у埗鎵撳紑9鏌滈棬
+log_1763797334670_248f0207=[2025-11-22 15\:42\:14] 鍙栧崱鎿嶄綔锛氬崱妲�9琚鐞嗗憳鍙栧崱
+log_1763797334972_1587297d=[2025-11-22 15\:42\:14] 鍙栧崱鎿嶄綔锛氬崱妲�9琚鐞嗗憳鍙栧崱
+log_1763797340020_7949f20b=[2025-11-22 15\:42\:20] DDCC0008F012515AA55AA5027B7F;type2鎺у埗鎵撳紑18鏌滈棬
+log_1763797340034_7af9f995=[2025-11-22 15\:42\:20] 鍙栧崱鎿嶄綔锛氬崱妲�18琚鐞嗗憳鍙栧崱
+log_1763797340372_132dbb3f=[2025-11-22 15\:42\:20] 鍙栧崱鎿嶄綔锛氬崱妲�18琚鐞嗗憳鍙栧崱
+log_1763797343370_5d7c1f77=[2025-11-22 15\:42\:23] DDCC0008F016515AA55AA502BB3A;type2鎺у埗鎵撳紑22鏌滈棬
+log_1763797343382_e189fce9=[2025-11-22 15\:42\:23] 鍙栧崱鎿嶄綔锛氬崱妲�22琚鐞嗗憳鍙栧崱
+log_1763797343721_fce66d08=[2025-11-22 15\:42\:23] 鍙栧崱鎿嶄綔锛氬崱妲�22琚鐞嗗憳鍙栧崱
+log_1763797346135_163e3113=[2025-11-22 15\:42\:26] DDCC0008F015515AA55AA502BB09;type2鎺у埗鎵撳紑21鏌滈棬
+log_1763797346145_e7aaa999=[2025-11-22 15\:42\:26] 鍙栧崱鎿嶄綔锛氬崱妲�21琚鐞嗗憳鍙栧崱
+log_1763797346472_4c86428b=[2025-11-22 15\:42\:26] 鍙栧崱鎿嶄綔锛氬崱妲�21琚鐞嗗憳鍙栧崱
+log_1763797349064_db936542=[2025-11-22 15\:42\:29] DDCC0008F013515AA55AA502BB6F;type2鎺у埗鎵撳紑19鏌滈棬
+log_1763797349073_7d4f1ad8=[2025-11-22 15\:42\:29] 鍙栧崱鎿嶄綔锛氬崱妲�19琚鐞嗗憳鍙栧崱
+log_1763797349421_3e727453=[2025-11-22 15\:42\:29] 鍙栧崱鎿嶄綔锛氬崱妲�19琚鐞嗗憳鍙栧崱
+log_1763797356580_3d7e82a4=[2025-11-22 15\:42\:36] DDCC0008F00D515AA55AA502BA91;type2鎺у埗鎵撳紑13鏌滈棬
+log_1763797356590_53e0c788=[2025-11-22 15\:42\:36] 鍙栧崱鎿嶄綔锛氬崱妲�13琚鐞嗗憳鍙栧崱
+log_1763797356923_36b384c1=[2025-11-22 15\:42\:36] 鍙栧崱鎿嶄綔锛氬崱妲�13琚鐞嗗憳鍙栧崱
+log_1763797394271_ad30a236=[2025-11-22 15\:43\:14] DDCC0008F003515AA55AA5027A7E;type2鎺у埗鎵撳紑3鏌滈棬
+log_1763797394281_00876aa0=[2025-11-22 15\:43\:14] 鍙栧崱鎿嶄綔锛氬崱妲�3琚鐞嗗憳鍙栧崱
+log_1763797394622_9137f63b=[2025-11-22 15\:43\:14] 3鍙峰崱妲藉彇鍗″け璐�
diff --git a/src/chushihua/lunxun.java b/src/chushihua/lunxun.java
index b1dc1b4..2e3420d 100644
--- a/src/chushihua/lunxun.java
+++ b/src/chushihua/lunxun.java
@@ -26,6 +26,8 @@
 	private static Thread pollingThread;
 	private static int pollingInterval = 100; // 榛樿杞闂撮殧
 	public static boolean sendChaxunzhiling=true;//鏄惁鍚戜覆鍙e彂閫佹煡璇㈡寚浠�
+	// 娣诲姞闈欐�佸彉閲忔帶鍒朵汉鑴告娴�
+	public static boolean ishaveface = false; // 鏄惁妫�娴嬪埌浜鸿劯锛岄粯璁ゆ病鏈変汉鑴�
 
 	// 鍗℃Ы鐩稿叧甯搁噺
 	private static final int MIN_SLOT = 1;
@@ -375,127 +377,152 @@
 
 		@Override
 		public void run() {
-			//System.out.println("杞鏌ヨ绾跨▼寮�濮嬭繍琛�");
+	        //System.out.println("杞鏌ヨ绾跨▼寮�濮嬭繍琛�");
 
-			while (isRunning && !Thread.currentThread().isInterrupted() && !shouldStop.get()) {
-				try {
+	        while (isRunning && !Thread.currentThread().isInterrupted() && !shouldStop.get()) {
+	            try {
 
-//					System.out.println("鏌ヨ涓�.....绾跨▼");
-					// 妫�鏌ユ槸鍚︽殏鍋�
-					if (isPaused) {
-						synchronized (lunxun.class) {
-							while (isPaused && isRunning && !shouldStop.get()) {
-								lunxun.class.wait(1000); // 绛夊緟1绉掓垨鐩村埌琚敜閱�
-							}
-						}
-						continue;
-					}
+//	              System.out.println("鏌ヨ涓�.....绾跨▼");
+	                // 妫�鏌ユ槸鍚︽殏鍋�
+	                if (isPaused) {
+	                    synchronized (lunxun.class) {
+	                        while (isPaused && isRunning && !shouldStop.get()) {
+	                            lunxun.class.wait(1000); // 绛夊緟1绉掓垨鐩村埌琚敜閱�
+	                        }
+	                    }
+	                    continue;
+	                }
 
-					// 瀹氭湡妫�鏌ヤ覆鍙h繛鎺ョ姸鎬侊紙姣�10娆″惊鐜鏌ヤ竴娆★級
-					if (currentIndex % 10 == 0 && !checkSerialConnectionWithRetry()) {
-						logErrorWithRateLimit("serial_disconnected", "涓插彛杩炴帴鏂紑锛屾殏鍋滆疆璇�");
-						pausePolling();
-						continue;
-					}
+	                // 瀹氭湡妫�鏌ヤ覆鍙h繛鎺ョ姸鎬侊紙姣�10娆″惊鐜鏌ヤ竴娆★級
+	                if (currentIndex % 10 == 0 && !checkSerialConnectionWithRetry()) {
+	                    logErrorWithRateLimit("serial_disconnected", "涓插彛杩炴帴鏂紑锛屾殏鍋滆疆璇�");
+	                    pausePolling();
+	                    continue;
+	                }
 
-					// 瀹氭湡娓呯悊缂撳瓨锛堟瘡100娆″惊鐜竻鐞嗕竴娆★級
-					if (currentIndex % 100 == 0) {
-						cleanupOldCache();
-					}
+	                // 瀹氭湡娓呯悊缂撳瓨锛堟瘡100娆″惊鐜竻鐞嗕竴娆★級
+	                if (currentIndex % 100 == 0) {
+	                    cleanupOldCache();
+	                }
 
-					// 鑾峰彇鍗℃Ы鏁扮粍
-					Fkj[] slotArray = SlotManager.getSlotArray();
-					if (slotArray == null || slotArray.length == 0) {
-						logErrorWithRateLimit("slot_array_not_initialized", "鍗℃Ы鏁扮粍鏈垵濮嬪寲");
-						Thread.sleep(pollingInterval);
-						continue;
-					}
+	                // 鑾峰彇鍗℃Ы鏁扮粍
+	                Fkj[] slotArray = SlotManager.getSlotArray();
+	                if (slotArray == null || slotArray.length == 0) {
+	                    logErrorWithRateLimit("slot_array_not_initialized", "鍗℃Ы鏁扮粍鏈垵濮嬪寲");
+	                    Thread.sleep(pollingInterval);
+	                    continue;
+	                }
 
-					// 鏂板锛氭牴鎹崱妲界姸鎬佸拰鏌ヨ棰戠巼鍐冲畾鏄惁鍙戦�佹煡璇�
-					boolean sentQuery = false;
-					long currentTime = System.currentTimeMillis();
+	                // 鏂板锛氭牴鎹崱妲界姸鎬佸拰鏌ヨ棰戠巼鍐冲畾鏄惁鍙戦�佹煡璇�
+	                boolean sentQuery = false;
+	                long currentTime = System.currentTimeMillis();
 
-					// 閬嶅巻鍗℃Ы锛屽鎵鹃渶瑕佹煡璇㈢殑鍗℃Ы
-					for (int i = 0; i < slotArray.length && !sentQuery; i++) {
-						int slotIndex = (currentIndex + i) % slotArray.length;
-						Fkj slot = slotArray[slotIndex];
-						if (slot != null) {
-							String hasCard = slot.getHasCard();
-							int slotNumber = slotIndex + 1;
-							Long lastQueryTime = lastQueryTimeMap.get(slotNumber);
+	                // 閬嶅巻鍗℃Ы锛屽鎵鹃渶瑕佹煡璇㈢殑鍗℃Ы
+	                for (int i = 0; i < slotArray.length && !sentQuery; i++) {
+	                    int slotIndex = (currentIndex + i) % slotArray.length;
+	                    Fkj slot = slotArray[slotIndex];
+	                    if (slot != null) {
+	                        String hasCard = slot.getHasCard();
+	                        int slotNumber = slotIndex + 1;
+	                        Long lastQueryTime = lastQueryTimeMap.get(slotNumber);
 
-							// 纭畾鏌ヨ闂撮殧锛氬彧鏈塰asCard="1"鐨勫崱妲戒娇鐢�10绉掗棿闅旓紝鍏朵粬鎯呭喌锛堝寘鎷�"-1"锛夐兘浣跨敤100ms闂撮殧
-							int queryInterval = "1".equals(hasCard) ? HAS_CARD_QUERY_INTERVAL : NO_CARD_QUERY_INTERVAL;
+	                        // 鏂板锛氬鏋滄湁浜鸿劯妫�娴嬶紝鍒欏彧鏌ヨ鏃犲崱鍗℃Ы
+	                        if (ishaveface && "1".equals(hasCard)) {
+	                            // 璺宠繃鏈夊崱鍗℃Ы鐨勬煡璇�
+	                            if (DEBUG_ENABLED) {
+	                                debugBuilder.setLength(0);
+	                                debugBuilder.append("妫�娴嬪埌浜鸿劯锛岃烦杩囨湁鍗″崱妲� ").append(slotNumber).append(" 鐨勬煡璇n");
+	                                SystemDebugDialog.appendAsciiData(debugBuilder.toString());
+	                            }
+	                            continue;
+	                        }
 
-							// 妫�鏌ユ槸鍚﹁揪鍒版煡璇㈡椂闂�
-							if (lastQueryTime == null || currentTime - lastQueryTime >= queryInterval) {
-								if (sendQueryToSlot(slotNumber)) {
-									// 鏇存柊鏈�鍚庢煡璇㈡椂闂�
-									lastQueryTimeMap.put(slotNumber, currentTime);
-									sentQuery = true;
-									consecutiveFailures = 0;
+	                        // 纭畾鏌ヨ闂撮殧锛氬彧鏈塰asCard="1"鐨勫崱妲戒娇鐢�10绉掗棿闅旓紝鍏朵粬鎯呭喌锛堝寘鎷�"-1"锛夐兘浣跨敤100ms闂撮殧
+	                        int queryInterval = "1".equals(hasCard) ? HAS_CARD_QUERY_INTERVAL : NO_CARD_QUERY_INTERVAL;
 
-									// 鎴愬姛鍙戦�佹煡璇㈠悗锛岀瓑寰�100ms鍐嶇户缁笅涓�涓煡璇�
-									Thread.sleep(100);
+	                        // 妫�鏌ユ槸鍚﹁揪鍒版煡璇㈡椂闂�
+	                        if (lastQueryTime == null || currentTime - lastQueryTime >= queryInterval) {
+	                            if (sendQueryToSlot(slotNumber)) {
+	                                // 鏇存柊鏈�鍚庢煡璇㈡椂闂�
+	                                lastQueryTimeMap.put(slotNumber, currentTime);
+	                                sentQuery = true;
+	                                consecutiveFailures = 0;
 
-									if (DEBUG_ENABLED) {
-										String status;
-										if ("1".equals(hasCard)) {
-											status = "鏈夊崱";
-										} else if ("-1".equals(hasCard)) {
-											status = "鏈煡";
-										} else {
-											status = "鏃犲崱";
-										}
-										
-										// 浣跨敤閲嶇敤鐨� StringBuilder 鏋勫缓璋冭瘯淇℃伅
-										debugBuilder.setLength(0);
-										debugBuilder.append("Slot ").append(slotNumber)
-										           .append(" (").append(status).append(") 鏌ヨ鎴愬姛锛岄棿闅�: ")
-										           .append(queryInterval).append("ms\n");
-										SystemDebugDialog.appendAsciiData(debugBuilder.toString());
-									}
-								} else {
-									consecutiveFailures++;
-									if (consecutiveFailures >= MAX_CONSECUTIVE_FAILURES) {
-										logErrorWithRateLimit("consecutive_failures", "lunxun杩炵画澶辫触娆℃暟杩囧锛屾殏鍋滆疆璇�");
-										pausePolling();
-										break;
-									}
-								}
-							}
-						}
-					}
+	                                // 鎴愬姛鍙戦�佹煡璇㈠悗锛岀瓑寰�100ms鍐嶇户缁笅涓�涓煡璇�
+	                                Thread.sleep(100);
 
-					// 鏇存柊褰撳墠绱㈠紩
-					currentIndex = (currentIndex + 1) % slotArray.length;
+	                                if (DEBUG_ENABLED) {
+	                                    String status;
+	                                    if ("1".equals(hasCard)) {
+	                                        status = "鏈夊崱";
+	                                    } else if ("-1".equals(hasCard)) {
+	                                        status = "鏈煡";
+	                                    } else {
+	                                        status = "鏃犲崱";
+	                                    }
+	                                    
+	                                    // 浣跨敤閲嶇敤鐨� StringBuilder 鏋勫缓璋冭瘯淇℃伅
+	                                    debugBuilder.setLength(0);
+	                                    debugBuilder.append("Slot ").append(slotNumber)
+	                                               .append(" (").append(status).append(") 鏌ヨ鎴愬姛锛岄棿闅�: ")
+	                                               .append(queryInterval).append("ms\n");
+	                                    SystemDebugDialog.appendAsciiData(debugBuilder.toString());
+	                                }
+	                            } else {
+	                                consecutiveFailures++;
+	                                if (consecutiveFailures >= MAX_CONSECUTIVE_FAILURES) {
+	                                    logErrorWithRateLimit("consecutive_failures", "lunxun杩炵画澶辫触娆℃暟杩囧锛屾殏鍋滆疆璇�");
+	                                    pausePolling();
+	                                    break;
+	                                }
+	                            }
+	                        }
+	                    }
+	                }
 
-					// 濡傛灉娌℃湁鍙戦�佹煡璇紝绛夊緟涓�娈垫椂闂村啀缁х画
-					if (!sentQuery) {
-						Thread.sleep(pollingInterval);
-					}
+	                // 鏇存柊褰撳墠绱㈠紩
+	                currentIndex = (currentIndex + 1) % slotArray.length;
 
-				} catch (InterruptedException e) {
-					//System.out.println("杞鏌ヨ绾跨▼琚腑鏂�");
-					Thread.currentThread().interrupt();
-					break;
-				} catch (Exception e) {
-					logErrorWithRateLimit("polling_exception", "杞鏌ヨ杩囩▼涓彂鐢熷紓甯�: " + e.getMessage());
-					consecutiveFailures++;
+	                // 濡傛灉娌℃湁鍙戦�佹煡璇紝绛夊緟涓�娈垫椂闂村啀缁х画
+	                if (!sentQuery) {
+	                    Thread.sleep(pollingInterval);
+	                }
 
-					// 鍙戠敓寮傚父鏃剁瓑寰呬竴娈垫椂闂村啀缁х画
-					try {
-						Thread.sleep(1000);
-					} catch (InterruptedException ie) {
-						Thread.currentThread().interrupt();
-						break;
-					}
-				}
-			}
+	            } catch (InterruptedException e) {
+	                //System.out.println("杞鏌ヨ绾跨▼琚腑鏂�");
+	                Thread.currentThread().interrupt();
+	                break;
+	            } catch (Exception e) {
+	                logErrorWithRateLimit("polling_exception", "杞鏌ヨ杩囩▼涓彂鐢熷紓甯�: " + e.getMessage());
+	                consecutiveFailures++;
 
-			//System.out.println("杞鏌ヨ绾跨▼缁撴潫杩愯");
+	                // 鍙戠敓寮傚父鏃剁瓑寰呬竴娈垫椂闂村啀缁х画
+	                try {
+	                    Thread.sleep(1000);
+	                } catch (InterruptedException ie) {
+	                    Thread.currentThread().interrupt();
+	                    break;
+	                }
+	            }
+	        }
+
+	        //System.out.println("杞鏌ヨ绾跨▼缁撴潫杩愯");
+	    }
+		// 娣诲姞鑾峰彇鍜岃缃汉鑴告娴嬬姸鎬佺殑鏂规硶
+		public static boolean isIshaveface() {
+		    return ishaveface;
 		}
 
+		public static void setIshaveface(boolean ishaveface) {
+		    lunxun.ishaveface = ishaveface;
+		    if (DEBUG_ENABLED) {
+		        if (ishaveface) {
+		            SystemDebugDialog.appendAsciiData("妫�娴嬪埌浜鸿劯锛岃疆璇㈠皢鍙煡璇㈡棤鍗″崱妲絓n");
+		        } else {
+		            SystemDebugDialog.appendAsciiData("鏈娴嬪埌浜鸿劯锛岃疆璇㈡仮澶嶆甯告煡璇㈡ā寮廫n");
+		        }
+		    }
+		}
 		/**
 		 * 鍚戞寚瀹氬崱妲藉彂閫佹煡璇㈡寚浠� - 浼樺寲鐗堟湰
 		 * 浣跨敤缂撳瓨鎸囦护锛屼紭鍖栬皟璇曡緭鍑�
diff --git a/src/home/CardMachineUI.java b/src/home/CardMachineUI.java
index 4479e23..2caf8e5 100644
--- a/src/home/CardMachineUI.java
+++ b/src/home/CardMachineUI.java
@@ -181,7 +181,7 @@
     }
 
 	private void initializeUI() {
-		setTitle("鏅鸿兘浜鸿劯鍙戝崱鏈虹鐞嗙郴缁�");
+		setTitle("鍙戝崱鏈烘帶鍒惰蒋浠禫1.0");
 		setSize(SCREEN_WIDTH, SCREEN_HEIGHT);
 		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 		setLocationRelativeTo(null);
@@ -701,10 +701,10 @@
 	public boolean performCardPickup(int slotId) {
 		try {
 			// 璋冪敤OpenDoor鐢熸垚寮�闂ㄦ寚浠�
-			String command = OpenDoor.openOneDoor(slotId, OpenDoor.TYPE_ISSUE_CARD);
+//			String command = OpenDoor.openOneDoor(slotId, OpenDoor.TYPE_ISSUE_CARD);
 
 			// 浣跨敤Sendmsg鍙戦�佹寚浠ゅ埌涓插彛
-			boolean sendResult = Sendmsg.sendMessage(command);
+			boolean sendResult = Sendmsg.opendoorzhiling(slotId, 2);
 
 			if (sendResult) {				
 				return true;

--
Gitblit v1.9.3