From 3673328730251736f9614793d9a75630c17b28f6 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期二, 13 八月 2024 09:10:27 +0800 Subject: [PATCH] 修改未关泵补卡逻辑 --- qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/tools/NfcReadHelper.java | 66 +++++++++++++++++++++++++++++++++ 1 files changed, 66 insertions(+), 0 deletions(-) diff --git a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/tools/NfcReadHelper.java b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/tools/NfcReadHelper.java index 5d89eeb..10eaebd 100644 --- a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/tools/NfcReadHelper.java +++ b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/tools/NfcReadHelper.java @@ -9,6 +9,7 @@ import com.dayu.baselibrary.tools.HexUtil; import com.dayu.baselibrary.utils.BaseCommon; +import com.dayu.qiheonlinelibrary.card.ManagerToUserCard; import com.dayu.qiheonlinelibrary.card.UserCard; import com.dayu.qiheonlinelibrary.utils.CardCommon; @@ -476,6 +477,71 @@ }).start(); } + + /** + * 鑾峰彇鐢ㄦ埛鍗′俊鎭� + * + * @return + */ + public ManagerToUserCard getManagerToUserCardData() { + ManagerToUserCard managerToUserCard = null; + Map<String, List<byte[]>> map = new HashMap<>(); + MifareClassic mfc = MifareClassic.get(tag); + if (null != mfc) { + try { + //閾炬帴NFC + mfc.connect(); + //鑾峰彇鎵囧尯鏁伴噺 + int count = mfc.getSectorCount(); + //瀛樺偍绌洪棿 + int size = mfc.getSize(); + //鐢ㄤ簬鍒ゆ柇鏃跺�欐湁鍐呭璇诲彇鍑烘潵 + boolean flag = false; + List<byte[]> list = new ArrayList<>(); + //楠岃瘉鎵囧尯瀵嗙爜锛屽惁鍒欎細鎶ラ敊锛堥摼鎺ュけ璐ラ敊璇級 + boolean isOpen = mfc.authenticateSectorWithKeyA(1, defauleKey); + if (!isOpen) { + isOpen = mfc.authenticateSectorWithKeyA(1, companyKey); + } + if (isOpen) { + //鑾峰彇鎵囧尯閲岄潰鍧楃殑鏁伴噺 + int bCount = mfc.getBlockCountInSector(1); + //鑾峰彇鎵囧尯绗竴涓潡瀵瑰簲鑺墖瀛樺偍鍣ㄧ殑浣嶇疆锛堟垜鏄繖鏍风悊瑙g殑锛屽洜涓虹0鎵囧尯鐨勮繖涓�兼槸4鑰屼笉鏄�0锛� + int bIndex = mfc.sectorToBlock(1); + //String data1 = ""; + for (int j = 0; j < bCount; j++) { + //璇诲彇鏁版嵁 + byte[] data = null; + try { + data = mfc.readBlock(bIndex); + bIndex++; + list.add(data); + } catch (Exception e) { + e.printStackTrace(); + } + } + flag = true; + } + + if (flag) { + managerToUserCard = ManagerToUserCard.getBean(list); + return managerToUserCard; + } + } catch (IOException e) { + e.printStackTrace(); + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + mfc.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + return null; + } + /** * 杩斿洖鐩戝惉绫� */ -- Gitblit v1.8.0