From 9d3d5b2645c726e6942cdd0a980c97a955a41282 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BF=97=E6=88=90?= <15187855430@163.com> Date: Wed, 19 Mar 2025 11:48:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=93=E5=8C=85=E8=BF=90=E8=A1=8C=E5=87=BA?= =?UTF-8?q?=E9=94=99=E3=80=81=E8=B0=83=E6=95=B4=E5=8A=A0=E8=BD=BD=E5=8A=A8?= =?UTF-8?q?=E6=80=81=E5=BA=93=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 27 ++++++++----------- .../service/impl/CardReaderServiceImpl.java | 18 ++++++------- .../cardReader/utils/CardReaderUtil.java | 25 ----------------- 3 files changed, 19 insertions(+), 51 deletions(-) delete mode 100644 src/main/java/com/dpkj/modules/cardReader/utils/CardReaderUtil.java diff --git a/pom.xml b/pom.xml index 6f2f48e..8418c94 100644 --- a/pom.xml +++ b/pom.xml @@ -26,6 +26,12 @@ + + org.springframework + spring-core + + + org.springframework.boot spring-boot-starter-web @@ -128,6 +134,7 @@ ${project.artifactId} + org.springframework.boot spring-boot-maven-plugin @@ -142,6 +149,7 @@ + org.apache.maven.plugins maven-dependency-plugin @@ -153,7 +161,6 @@ copy-dependencies - ${project.build.directory}/lib false false @@ -162,28 +169,16 @@ - - org.springframework.boot - spring-boot-maven-plugin - - ZIP - - - nothing - nothing - - - - + org.apache.maven.plugins maven-javadoc-plugin 3.0.0 - - + + src/main/resources diff --git a/src/main/java/com/dpkj/modules/cardReader/service/impl/CardReaderServiceImpl.java b/src/main/java/com/dpkj/modules/cardReader/service/impl/CardReaderServiceImpl.java index 5f103ba..bf86afa 100644 --- a/src/main/java/com/dpkj/modules/cardReader/service/impl/CardReaderServiceImpl.java +++ b/src/main/java/com/dpkj/modules/cardReader/service/impl/CardReaderServiceImpl.java @@ -3,7 +3,6 @@ package com.dpkj.modules.cardReader.service.impl; import com.dpkj.common.vo.Result; import com.dpkj.modules.cardReader.service.CardReaderService; import com.dpkj.modules.cardReader.utils.CardReaderSdk; -import com.dpkj.modules.cardReader.utils.CardReaderUtil; import com.dpkj.modules.cardReader.utils.SocialSecurityCardInfoVO; import com.dpkj.modules.cardReader.utils.UserInfoVO; import lombok.extern.slf4j.Slf4j; @@ -17,7 +16,6 @@ import java.util.concurrent.locks.ReentrantLock; @Service public class CardReaderServiceImpl implements CardReaderService { - private CardReaderSdk cardReaderSdk = CardReaderUtil.getCardReaderSDK(); @Value("${IDCardReader.waitingTime}") private Long waitingTime; private final Object cardReaderLock = new Object(); @@ -32,7 +30,7 @@ public class CardReaderServiceImpl implements CardReaderService { try { log.info("[CardReaderServiceImpl][IDCardReader][33]: 开始连接指定设备与电脑端口,即打开端口"); // 连接指定设备与电脑端口,即打开端口 - handle = cardReaderSdk.ICC_Reader_Open("USB1"); + handle = CardReaderSdk.INSTANCE.ICC_Reader_Open("USB1"); log.info("[CardReaderServiceImpl][IDCardReader][36]: 连接指定设备与电脑端口,即打开端口,返回句柄: {}", handle); if (handle == null) { log.error("[CardReaderServiceImpl][IDCardReader][38]: 打开端口失败"); @@ -44,7 +42,7 @@ public class CardReaderServiceImpl implements CardReaderService { byte[] bytes = new byte[1024]; log.info("[CardReaderServiceImpl][IDCardReader][45]: 尝试读取 ID 卡"); while (true) { - int idCard = cardReaderSdk.PICC_Reader_ReadIDCard(handle, bytes); + int idCard = CardReaderSdk.INSTANCE.PICC_Reader_ReadIDCard(handle, bytes); log.info("[CardReaderServiceImpl][IDCardReader][48]: PICC_Reader_ReadIDCard读取 ID 卡,返回值: {}", idCard); long elapsedTime = System.currentTimeMillis() - startTime; @@ -54,7 +52,7 @@ public class CardReaderServiceImpl implements CardReaderService { } if (idCard == 0) { try { - userInfo = new UserInfoVO(cardReaderSdk); + userInfo = new UserInfoVO(CardReaderSdk.INSTANCE); if (userInfo.getName() != null && !userInfo.getName().isEmpty()) { log.info("[CardReaderServiceImpl][IDCardReader][59]: 成功读取到用户信息,返回结果"); return Result.ok(userInfo); @@ -71,7 +69,7 @@ public class CardReaderServiceImpl implements CardReaderService { if (handle != null) { log.info("[CardReaderServiceImpl][IDCardReader][72]: 开始关闭端口,句柄: {}", handle); // 不管什么情况最终都要关闭端口 - cardReaderSdk.ICC_Reader_Close(handle); + CardReaderSdk.INSTANCE.ICC_Reader_Close(handle); log.info("[CardReaderServiceImpl][IDCardReader][75]: 端口关闭成功"); } } @@ -87,7 +85,7 @@ public class CardReaderServiceImpl implements CardReaderService { Long handle = null; try { log.info("[CardReaderServiceImpl][SocialSecurityCardReader][89]: 开始连接指定设备与电脑端口,即打开端口"); - handle = cardReaderSdk.ICC_Reader_Open("USB1"); + handle = CardReaderSdk.INSTANCE.ICC_Reader_Open("USB1"); if (handle == null) { log.error("[CardReaderServiceImpl][SocialSecurityCardReader][92]: 打开端口失败"); return Result.error("打开端口失败,请检查设备连接"); @@ -105,12 +103,12 @@ public class CardReaderServiceImpl implements CardReaderService { log.info("[CardReaderServiceImpl][SocialSecurityCardReader][105]: 读取社保卡信息超时,等待了 {} 毫秒。", waitingTime); return Result.error("读取社保卡信息超时,请重试。", -18); } - int l = cardReaderSdk.ICC_Reader_GetStatus(handle, 0x01); + int l = CardReaderSdk.INSTANCE.ICC_Reader_GetStatus(handle, 0x01); log.info("[CardReaderServiceImpl][SocialSecurityCardReader][109]: 获取社保卡读取设备状态:结果{}", l); if (l == 0) { byte[] data = new byte[4096]; log.info("[CardReaderServiceImpl][SocialSecurityCardReader][112]: 尝试读取社保卡基本信息"); - int i = cardReaderSdk.iReadCardBas(3, data); + int i = CardReaderSdk.INSTANCE.iReadCardBas(3, data); log.info("[CardReaderServiceImpl][SocialSecurityCardReader][114]: 读取社保卡基本信息,返回值: {}", i); if (i == 0) { java.lang.String bas = new java.lang.String(data, "GBK"); @@ -165,7 +163,7 @@ public class CardReaderServiceImpl implements CardReaderService { if (handle != null) { log.info("[CardReaderServiceImpl][SocialSecurityCardReader][166]: 开始关闭端口,句柄: {}", handle); // 关闭端口 - cardReaderSdk.ICC_Reader_Close(handle); + CardReaderSdk.INSTANCE.ICC_Reader_Close(handle); log.info("[CardReaderServiceImpl][SocialSecurityCardReader][169]: 端口关闭成功"); } } diff --git a/src/main/java/com/dpkj/modules/cardReader/utils/CardReaderUtil.java b/src/main/java/com/dpkj/modules/cardReader/utils/CardReaderUtil.java deleted file mode 100644 index 8326325..0000000 --- a/src/main/java/com/dpkj/modules/cardReader/utils/CardReaderUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.dpkj.modules.cardReader.utils; - -import com.dpkj.common.exception.RRException; -import com.sun.jna.Native; -import lombok.extern.slf4j.Slf4j; - -@Slf4j -public class CardReaderUtil { - - /** - * 获取 多合一读卡器 实例,同时注册 CardReaderSdk 控件。 - * - * @return CardReaderSdk 实例 - * @throws RRException 如果注册控件失败,抛出此异常 - */ - public static CardReaderSdk getCardReaderSDK() throws RRException { - try { - return Native.loadLibrary("SSSE32", CardReaderSdk.class); - } catch (UnsatisfiedLinkError e) { - log.info("[CardReader][AutoReplyPrint2.getCardReaderSDK] SDK注册失败 {}", e.getMessage()); - throw new RRException("Failed to load CardReaderSdk library: ", e); - } - } - -}