张世豪
2025-11-26 2b756769ea4adad21332d8a294871712cd42cc3f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
Êþº¾44chushihua/lunxun$PollingTaskjava/lang/Objectjava/lang/Runnable currentIndexIconsecutiveFailuresMAX_CONSECUTIVE_FAILURES ConstantValue debugBuilderLjava/lang/StringBuilder;<init>()VCode
           java/lang/StringBuilder
 (I)V     LineNumberTableLocalVariableTablethisLchushihua/lunxun$PollingTask;run
%'&chushihua/lunxun ()access$2()Zè
- ./wait(J)V
%1 2)access$0
%4 56access$1-()Ljava/util/concurrent/atomic/AtomicBoolean;
8:9)java/util/concurrent/atomic/AtomicBoolean ;)get
%= >)access$3@serial_disconnectedB!串口连接断开,暂停轮询
%D EFaccess$4'(Ljava/lang/String;Ljava/lang/String;)V
%H I) pausePolling
%K Laccess$5
NPOchushihua/SlotManager QR getSlotArray ()[Lhome/Fkj;Tslot_array_not_initializedV卡槽数组未初始化
%X YZaccess$6()I
\^]java/lang/Thread _/sleep
acbhome/Fkj de
getHasCard()Ljava/lang/String;   %g hi
ishavefaceZk1
monjava/lang/String pqequals(Ljava/lang/Object;)Z    %s ti DEBUG_ENABLED
v w setLengthy%检测到人脸,跳过有卡卡槽 
{ |}append-(Ljava/lang/String;)Ljava/lang/StringBuilder;
 |€(I)Ljava/lang/StringBuilder;‚  çš„æŸ¥è¯¢
 
„ …etoString
‡‰ˆxitongshezhi/SystemDebugDialog Š‹appendAsciiData(Ljava/lang/String;)V
 ŽsendQueryToSlot(I)Z
%‘ ’“access$7()Ljava/util/Map;
•—–java/lang/Integer ˜™valueOf(I)Ljava/lang/Integer;
›œjava/lang/System žŸcurrentTimeMillis()J
¡£¢java/lang/Long ˜¤(J)Ljava/lang/Long; ¦¨§ java/util/Map ©ªput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;¬有卡®-1°未知²无卡´Slot ¶ (¸) æŸ¥è¯¢æˆåŠŸ
ºconsecutive_failures¼-lunxun连续失败次数过多,暂停轮询2
\À ÁÂ currentThread()Ljava/lang/Thread;
\Ä Å interruptÇpolling_exceptionÉ#轮询查询过程中发生异常: 
Ë ‹
ÍÏÎjava/lang/Exception Ðe
getMessage
\Ò Ó) isInterruptedÕjava/lang/InterruptedException slotArray [Lhome/Fkj;i   slotIndexslot
Lhome/Fkj;hasCardLjava/lang/String;
slotNumber sendSuccessstatuse Ljava/lang/InterruptedException;Ljava/lang/Exception;ie StackMapTableçjava/lang/Classéjava/lang/Throwable× isIshaveface setIshaveface(Z)Vï1检测到人脸,轮询将只查询无卡卡槽
ñ4未检测到人脸,轮询恢复正常查询模式
 
%ó ôõaccess$8(I)Ljava/lang/String;    ›÷ øùoutLjava/io/PrintStream;
mû ˜õý发送了指令是:ÿ时间
publicway/TimestampUtil e getTimestamp
java/io/PrintStream  ‹println send to    queryCommand
m etrim
m )isEmpty % isendChaxunzhiling
chuankou/Sendmsg  sendMessage(Ljava/lang/String;)Z$ Send query command to card slot err
%  !íaccess$9#empty_query_command%&生成的查询指令为空,卡槽: 'send_query_exception)发送查询指令到卡槽 + æ—¶å‘生异常:  queryCommand
sendResult!(Lchushihua/lunxun$PollingTask;)V
 
SourceFile lunxun.java InnerClasses PollingTask     
   V*·*µ*µ*»Yd·µ±uv   wyu  !"#”   §ù¸$™0%YL§ %*¶,¸$™¸0™ ¸3¶7™ÿæ+çÉ+ÿ*´
pš¸<š?A¸C¸GW§¨*´dpš¸J¸ML+Æ+¾šSU¸C¸W…¸[§}=§"¸0™"¸3¶7™§*´`+¾p>+2:Æù¶`:`6²f™<j¶l™2²r™×*´¶u*´x¶z¶~¶zW*´¶ƒ¸†§®*·Œ6™{¸¸”¸š¸ ¹¥W*µ²r™|j¶l™
«:§­¶l™
¯:§±:*´¶u*´³¶z¶~µ¶z¶z·¶zW*´¶ƒ¸†§#*Y´`µ*´¡¹»¸C¸GW§½¸[„+¾¡þÞ**´`+¾pµ§CL¸¿¶Ã§QLÆ»YÈ·Ê+¶Ì¶z¶ƒ¸C*Y´`µ*¸[§ M¸¿¶Ã§¸0™¸¿¶Ñš ¸3¶7™ýõ± 03353Q¹ÔT|¹Ô¶¹ÔQÃÍT|ÃͶÃÍæìïÔD‚ ƒ„…„.ƒ6ŒFMŽQT“^”a˜e™nšu›|œ „¡“¢–¥ ¦¥§ª¨±©¶¬Æ®Ì¯Ô°è±ò³õ·ý¹»¼¾!À+Á/Â<Ã@ÄCÅGÈOÉ]ÊmËwÍz΄όГїҚנ ©Ü¶ÞºàÀáÃâÄãÜäæèìéðêöëùñ Ž!"eQÖׁ(ؠ٥ûÚÛ±ïÜݶêÞý£ßi/àÝ@àÝG0àݺ áâÄ5áãð äâå|ü æDèú ü êüÿ^êamü<ümú2ÿêúÿÔIÍÿ+ÍÔú    ë)$²f¬ô    ìíh³f²r™™ §𸆱øù
úûüý  hi厏°Õ¸òM²ö»Y¸ú·Êü¶z,¶zþ¶z¸¶z¶ƒ¶²r™»Y
·Ê¶~ ¶z¶ƒ¸†,ÆC,¶¶š9²™1,¸>™¬²r™»Y¸ú·Ê¶z¶ƒ¸†¸¬¬"»Y$·Ê¶~¶ƒ¸C¬M&»Y(·Ê¶~*¶z,¶Ì¶z¶ƒ¸C¸¬jªÍlªÍ‘¨ªÍR  -3M[afjlr‰"‘%¨&ª)«*Ï,Ó- 4Õ!"ÕÞ¥,Ýf)-i«*áãåüMmüúÿÍ.%*·/±u 012
%3