From ea8b02bbc2d20dc3db5b045fac4e6ddff7f44b7c Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期日, 29 九月 2024 10:30:10 +0800 Subject: [PATCH] 优化NFC模块架构,将一些方法抽调到父类中。修复一些bug --- baselibrary/src/main/java/com/dayu/baselibrary/tools/print/HuaZhiRongHaiPrint.java | 72 ++++++++ baselibrary/src/main/java/com/dayu/baselibrary/BaseApplication.java | 17 + baselibrary/src/main/java/com/dayu/baselibrary/utils/ModelUtils.java | 34 +++ qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/utils/PrintUtils.java | 37 ++-- baselibrary/src/main/java/com/dayu/baselibrary/activity/BaseNfcActivity.java | 44 +++- baselibrary/build.gradle | 1 baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcWriteAdapter.java | 9 app/src/main/java/com/dayu/recharge/MyApplication.java | 2 /dev/null | 21 -- qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivityQHAlone.java | 28 +- baselibrary/exlibs/sdk.jar | 0 henanlibrary/src/main/java/com/dayu/henanlibrary/activity/NFCWreatActivity.java | 31 +- baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/HuaZhiNfcReadHepler.java | 70 +++++++ baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcReadAdapter.java | 20 +- baselibrary/libs/libprinter.jar | 0 app/build.gradle | 2 baselibrary/src/main/java/com/dayu/baselibrary/tools/print/PrintAdater.java | 75 ++++++++ baselibrary/src/main/java/com/dayu/baselibrary/tools/print/ShangMiAidlUtil.java | 28 +- 18 files changed, 382 insertions(+), 109 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index d8d6824..bc5b5a1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -67,7 +67,7 @@ runtimeOnly("androidx.room:room-common:2.3.0") annotationProcessor "androidx.room:room-compiler:2.3.0" - implementation 'com.google.zxing:core:3.4.1' +// implementation 'com.google.zxing:core:3.4.1' implementation group: 'net.sourceforge.jexcelapi', name: 'jxl', version: '2.6.12' implementation 'com.wang.avi:library:2.1.3' diff --git a/app/src/main/java/com/dayu/recharge/MyApplication.java b/app/src/main/java/com/dayu/recharge/MyApplication.java index 61d0747..fb0a33e 100644 --- a/app/src/main/java/com/dayu/recharge/MyApplication.java +++ b/app/src/main/java/com/dayu/recharge/MyApplication.java @@ -90,4 +90,6 @@ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); context.startActivity(intent); } + + } diff --git a/baselibrary/build.gradle b/baselibrary/build.gradle index 16f5ba9..bb096b6 100644 --- a/baselibrary/build.gradle +++ b/baselibrary/build.gradle @@ -31,6 +31,7 @@ dependencies { implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs') + compileOnly fileTree(include: ['*.jar'], dir: 'exlibs') implementation 'com.android.support:appcompat-v7:28.0.0' implementation 'com.android.support.constraint:constraint-layout:1.1.3' implementation 'androidx.core:core-ktx:1.8.0' diff --git a/baselibrary/exlibs/sdk.jar b/baselibrary/exlibs/sdk.jar new file mode 100644 index 0000000..ff18c27 --- /dev/null +++ b/baselibrary/exlibs/sdk.jar Binary files differ diff --git a/baselibrary/libs/libprinter.jar b/baselibrary/libs/libprinter.jar new file mode 100644 index 0000000..4a093f7 --- /dev/null +++ b/baselibrary/libs/libprinter.jar Binary files differ diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/BaseApplication.java b/baselibrary/src/main/java/com/dayu/baselibrary/BaseApplication.java index 52f74bd..620b479 100644 --- a/baselibrary/src/main/java/com/dayu/baselibrary/BaseApplication.java +++ b/baselibrary/src/main/java/com/dayu/baselibrary/BaseApplication.java @@ -1,8 +1,16 @@ package com.dayu.baselibrary; +import android.Manifest; import android.app.Application; +import android.os.Build; +import android.util.Log; -import com.dayu.baselibrary.utils.AidlUtil; +import com.android.newpos.printer.PrinterManager; +import com.dayu.baselibrary.tools.print.PrintAdater; +import com.dayu.baselibrary.tools.print.ShangMiAidlUtil; +import com.dayu.baselibrary.utils.ModelUtils; +import com.pos.device.SDKManager; +import com.pos.device.sys.SystemManager; /** * author: zuo @@ -22,12 +30,13 @@ } - //鍒濆鍖栨墦鍗扮浉鍏虫湇鍔� + public void onCreat(Application context) { application = context; - AidlUtil.getInstance().connectPrinterService(context); - } + //鍒濆鍖栨墦鍗扮浉鍏虫湇鍔� + PrintAdater.getInstance().connectPrinterService(context); + } diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/activity/BaseNfcActivity.java b/baselibrary/src/main/java/com/dayu/baselibrary/activity/BaseNfcActivity.java index 2bbdda6..028ffb5 100644 --- a/baselibrary/src/main/java/com/dayu/baselibrary/activity/BaseNfcActivity.java +++ b/baselibrary/src/main/java/com/dayu/baselibrary/activity/BaseNfcActivity.java @@ -6,8 +6,11 @@ import android.nfc.NfcAdapter; import android.os.Bundle; -import com.dayu.baselibrary.tools.nfc.NfcCommonData; +import com.dayu.baselibrary.tools.nfc.HuaZhiNfcReadHepler; +import com.dayu.baselibrary.utils.ModelUtils; import com.dayu.baselibrary.utils.TipUtil; +import com.pos.device.picc.PiccReader; +import com.pos.device.picc.PiccReaderCallback; /** * author: zuo @@ -22,14 +25,14 @@ public abstract class BaseNfcActivity extends BaseActivity { protected NfcAdapter mNfcAdapter; private PendingIntent mPendingIntent; - public static int adapterType = NfcCommonData.defaultType; + public static int adapterType = ModelUtils.defaultType; @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); switch (adapterType) { - case NfcCommonData.defaultType: + case ModelUtils.defaultType: onNfcBack(intent); break; } @@ -44,13 +47,30 @@ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - //鍒ゆ柇鏄摢涓満鍨� - try { - Class.forName("com.pos.device.config.DevConfig"); - adapterType = NfcCommonData.HuaZhiRongHai; - } catch (ClassNotFoundException e) { - adapterType = NfcCommonData.defaultType; + switch (ModelUtils.getModelType()) { + case ModelUtils.defaultType: + case ModelUtils.ShangMiType: + adapterType = ModelUtils.defaultType; + break; + case ModelUtils.HuaZhiRongHaiType: + adapterType = ModelUtils.HuaZhiRongHaiType; + PiccReader.getInstance().startSearchCard(HuaZhiNfcReadHepler.TIMEOUT, new PiccReaderCallback() { + @Override + public void onSearchResult(int result, int cardType) { + if (result == PiccReaderCallback.SUCCESS) { + switch (cardType) { + //浠ヤ笅涓篗1鍗� + case PiccReader.MIFARE_ONE_S50: + case PiccReader.MIFARE_ONE_S70: + onNfcBack(null); + break; + } + } + } + }); + break; } + } @Override @@ -90,6 +110,12 @@ } + @Override + protected void onDestroy() { + super.onDestroy(); + + } + /** * 妫�娴嬪伐浣�,鍒ゆ柇璁惧鐨凬FC鏀寔鎯呭喌 * diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/HuaZhiNfcReadHepler.java b/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/HuaZhiNfcReadHepler.java new file mode 100644 index 0000000..47c3b33 --- /dev/null +++ b/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/HuaZhiNfcReadHepler.java @@ -0,0 +1,70 @@ +package com.dayu.baselibrary.tools.nfc; + +import android.app.Activity; +import android.content.Intent; + +import com.dayu.baselibrary.bean.BaseUserCardCard; + +import java.util.Collections; +import java.util.List; + +/** + * author: zuo + * Date: 2024-09-27 + * Time: 14:23 + * 澶囨敞锛� + */ +public class HuaZhiNfcReadHepler extends BaseNfcReadHelper { + + static String TAG = "HuaZhiNfcReadHepler"; + static HuaZhiNfcReadHepler huaZhiNfcReadHepler; + public static final int TIMEOUT = -1; + + + public static HuaZhiNfcReadHepler getInstance(Intent intent, Activity activity) { + if (huaZhiNfcReadHepler != null) { + huaZhiNfcReadHepler = new HuaZhiNfcReadHepler(); + } + return huaZhiNfcReadHepler; + } + + @Override + public String getCradType() { + return ""; + } + + @Override + public void getAllData(NFCCallMapback callback) { + + } + + @Override + public void getOneSectorData(NFCCallListback callback) { + + } + + @Override + public String getCardNumber() { + return ""; + } + + @Override + public String getCradTypeAndCardNumber() { + return ""; + } + + @Override + public void getData(int a, int b, NFCCallByteback callback) { + + } + + @Override + public List<byte[]> getOnesectorData() { + return Collections.emptyList(); + } + + @Override + public BaseUserCardCard getUserCardData(BaseUserCardCard userCardCard) { + return null; + } +} diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcCommonData.java b/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcCommonData.java deleted file mode 100644 index d38ca8a..0000000 --- a/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcCommonData.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.dayu.baselibrary.tools.nfc; - -/** - * author: zuo - * Date: 2024-09-26 - * Time: 13:31 - * 澶囨敞锛歯fc鐩稿叧甯搁噺 - */ -public class NfcCommonData { - - /** - * 榛樿鐨勮皟鐢ㄦ柟寮忥紙瀹夊崜鍘熺敓锛� - */ - public final static int defaultType = 0; - /** - * 鍗庢櫤铻嶆捣鐨凷DK - */ - public final static int HuaZhiRongHai = 1; - - -} diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcReadAdapter.java b/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcReadAdapter.java index fcbae8b..f8d4288 100644 --- a/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcReadAdapter.java +++ b/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcReadAdapter.java @@ -5,8 +5,8 @@ import com.dayu.baselibrary.activity.BaseNfcActivity; import com.dayu.baselibrary.bean.BaseUserCardCard; +import com.dayu.baselibrary.utils.ModelUtils; -import java.util.Collections; import java.util.List; /** @@ -21,7 +21,7 @@ public NfcReadAdapter(Intent intent, Activity activity) { switch (BaseNfcActivity.adapterType) { - case NfcCommonData.defaultType: + case ModelUtils.defaultType: nativeNfcReadHelper = new NativeNfcReadHelper(intent, activity); break; } @@ -31,7 +31,7 @@ @Override public String getCradType() { switch (BaseNfcActivity.adapterType) { - case NfcCommonData.defaultType: + case ModelUtils.defaultType: return nativeNfcReadHelper.getCradType(); } @@ -41,7 +41,7 @@ @Override public void getAllData(NFCCallMapback callback) { switch (BaseNfcActivity.adapterType) { - case NfcCommonData.defaultType: + case ModelUtils.defaultType: nativeNfcReadHelper.getAllData(callback); break; @@ -51,7 +51,7 @@ @Override public void getOneSectorData(NFCCallListback callback) { switch (BaseNfcActivity.adapterType) { - case NfcCommonData.defaultType: + case ModelUtils.defaultType: nativeNfcReadHelper.getOneSectorData(callback); break; @@ -61,7 +61,7 @@ @Override public String getCardNumber() { switch (BaseNfcActivity.adapterType) { - case NfcCommonData.defaultType: + case ModelUtils.defaultType: return nativeNfcReadHelper.getCardNumber(); @@ -72,7 +72,7 @@ @Override public String getCradTypeAndCardNumber() { switch (BaseNfcActivity.adapterType) { - case NfcCommonData.defaultType: + case ModelUtils.defaultType: return nativeNfcReadHelper.getCradTypeAndCardNumber(); @@ -83,7 +83,7 @@ @Override public void getData(int a, int b, NFCCallByteback callback) { switch (BaseNfcActivity.adapterType) { - case NfcCommonData.defaultType: + case ModelUtils.defaultType: nativeNfcReadHelper.getData(a, b, callback); break; } @@ -92,7 +92,7 @@ @Override public List<byte[]> getOnesectorData() { switch (BaseNfcActivity.adapterType) { - case NfcCommonData.defaultType: + case ModelUtils.defaultType: return nativeNfcReadHelper.getOnesectorData(); @@ -103,7 +103,7 @@ @Override public BaseUserCardCard getUserCardData(BaseUserCardCard userCardCard) { switch (BaseNfcActivity.adapterType) { - case NfcCommonData.defaultType: + case ModelUtils.defaultType: return nativeNfcReadHelper.getUserCardData(userCardCard); } return null; diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcWriteAdapter.java b/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcWriteAdapter.java index bed540e..8eab97b 100644 --- a/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcWriteAdapter.java +++ b/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcWriteAdapter.java @@ -6,6 +6,7 @@ import com.dayu.baselibrary.activity.BaseNfcActivity; import com.dayu.baselibrary.bean.BaseUserCardCard; +import com.dayu.baselibrary.utils.ModelUtils; /** * author: zuo @@ -17,7 +18,7 @@ NativeNfcWriteHelper nativeNfcWriteHelper; public NfcWriteAdapter(Intent intent, Activity activity) { switch (BaseNfcActivity.adapterType){ - case NfcCommonData.defaultType: + case ModelUtils.defaultType: nativeNfcWriteHelper=new NativeNfcWriteHelper(intent,activity); break; } @@ -26,7 +27,7 @@ @Override public boolean writeUserData(BaseUserCardCard userCard) { switch (BaseNfcActivity.adapterType){ - case NfcCommonData.defaultType: + case ModelUtils.defaultType: return nativeNfcWriteHelper.writeUserData(userCard); } @@ -36,7 +37,7 @@ @Override public boolean writeData(byte[] str, int a, int b) { switch (BaseNfcActivity.adapterType){ - case NfcCommonData.defaultType: + case ModelUtils.defaultType: return nativeNfcWriteHelper.writeData(str,a,b); } @@ -46,7 +47,7 @@ @Override public boolean changePasword(int a, MifareClassic mfc) { switch (BaseNfcActivity.adapterType){ - case NfcCommonData.defaultType: + case ModelUtils.defaultType: return nativeNfcWriteHelper.changePasword(a,mfc); } diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/tools/print/HuaZhiRongHaiPrint.java b/baselibrary/src/main/java/com/dayu/baselibrary/tools/print/HuaZhiRongHaiPrint.java new file mode 100644 index 0000000..128b4b8 --- /dev/null +++ b/baselibrary/src/main/java/com/dayu/baselibrary/tools/print/HuaZhiRongHaiPrint.java @@ -0,0 +1,72 @@ +package com.dayu.baselibrary.tools.print; + +import android.app.Application; +import android.util.Log; + +import com.android.newpos.printer.PrinterListener; +import com.android.newpos.printer.PrinterManager; +import com.android.newpos.printer.bean.PrintAlignMent; +import com.android.newpos.printer.bean.PrintFontSize; +import com.android.newpos.printer.bean.PrintTextProperty; +import com.pos.device.SDKManager; + +import java.util.List; + +/** + * author: zuo + * Date: 2024-09-27 + * Time: 11:10 + * 澶囨敞锛氬崕鏅鸿瀺娴峰叕鍙告墦鍗扮浉鍏� + */ +public class HuaZhiRongHaiPrint { + + static HuaZhiRongHaiPrint huaZhiRongHaiPrint; + + public static HuaZhiRongHaiPrint getInstance() { + if (huaZhiRongHaiPrint == null) { + huaZhiRongHaiPrint = new HuaZhiRongHaiPrint(); + } + return huaZhiRongHaiPrint; + } + + public void connectPrinterService(Application context) { + SDKManager.init(context, () -> { + Log.d("application", "鍒濆鍖栨垚鍔�"); + PrinterManager.getInstance().init(context.getApplicationContext()); + }); + } + + + /** + * 鎵撳嵃鎸囧畾瀛椾綋鐨勬枃鏈紝瀛椾綋璁剧疆鍙鏈鏈夋晥 + * + * @param content: 瑕佹墦鍗版枃瀛� + * @param isBold: 鏄惁鍔犵矖 + * @param size: 瀛椾綋澶у皬 + */ + public void printText(List<String> content, float size, boolean isBold, boolean isUnderLine) { + + try { + for (int i = 0; i < content.size(); i++) { + PrinterManager.getInstance().addText(new PrintTextProperty(PrintFontSize.LARGE, PrintAlignMent.LEFT, true), content.get(i)); + } + PrinterManager.getInstance().feedLine(3); + PrinterManager.getInstance().startPrint(new PrinterListener() { + @Override + public void onFinish() { + } + + @Override + public void onError(int i) { + + } + }); + } catch (Exception e) { + e.printStackTrace(); + } + + + } + + +} diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/tools/print/PrintAdater.java b/baselibrary/src/main/java/com/dayu/baselibrary/tools/print/PrintAdater.java new file mode 100644 index 0000000..0ce425c --- /dev/null +++ b/baselibrary/src/main/java/com/dayu/baselibrary/tools/print/PrintAdater.java @@ -0,0 +1,75 @@ +package com.dayu.baselibrary.tools.print; + +import android.app.Application; +import android.content.Context; +import android.util.Log; + +import com.android.newpos.printer.PrinterManager; +import com.dayu.baselibrary.utils.ModelUtils; +import com.pos.device.SDKManager; + +import java.util.List; + +/** + * author: zuo + * Date: 2024-09-27 + * Time: 10:29 + * 澶囨敞锛氭墦鍗扮浉鍏崇殑璺敱 + */ +public class PrintAdater { + + static PrintAdater printAdater; + + public static PrintAdater getInstance() { + if (printAdater == null) { + printAdater = new PrintAdater(); + } + return printAdater; + } + + /** + * 杩炴帴鏈嶅姟 + */ + public void connectPrinterService(Application context) { + switch (ModelUtils.getModelType()) { + case ModelUtils.ShangMiType: + ShangMiAidlUtil.getInstance().connectPrinterService(context); + break; + case ModelUtils.HuaZhiRongHaiType: + HuaZhiRongHaiPrint.getInstance().connectPrinterService(context); + break; + } + } + + /** + * 鏂紑鏈嶅姟 + * + * @param context context + */ + public static void disconnectPrinterService(Context context) { + switch (ModelUtils.getModelType()) { + case ModelUtils.ShangMiType: + ShangMiAidlUtil.getInstance().connectPrinterService(context); + break; + } + } + + /** + * 鎵撳嵃鎸囧畾瀛椾綋鐨勬枃鏈紝瀛椾綋璁剧疆鍙鏈鏈夋晥 + * + * @param content: 瑕佹墦鍗版枃瀛� + * @param isBold: 鏄惁鍔犵矖 + * @param size: 瀛椾綋澶у皬 + */ + public static void printText(List<String> content, float size, boolean isBold, boolean isUnderLine) { + switch (ModelUtils.getModelType()) { + case ModelUtils.ShangMiType: + ShangMiAidlUtil.getInstance().printText(content, size, isBold, isUnderLine); + break; + case ModelUtils.HuaZhiRongHaiType: + HuaZhiRongHaiPrint.getInstance().printText(content, size, isBold, isUnderLine); + break; + } + } + +} diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/utils/AidlUtil.java b/baselibrary/src/main/java/com/dayu/baselibrary/tools/print/ShangMiAidlUtil.java similarity index 92% rename from baselibrary/src/main/java/com/dayu/baselibrary/utils/AidlUtil.java rename to baselibrary/src/main/java/com/dayu/baselibrary/tools/print/ShangMiAidlUtil.java index 57ce8ea..4ff30e0 100644 --- a/baselibrary/src/main/java/com/dayu/baselibrary/utils/AidlUtil.java +++ b/baselibrary/src/main/java/com/dayu/baselibrary/tools/print/ShangMiAidlUtil.java @@ -1,4 +1,4 @@ -package com.dayu.baselibrary.utils; +package com.dayu.baselibrary.tools.print; import android.content.ComponentName; import android.content.Context; @@ -14,6 +14,8 @@ import com.dayu.baselibrary.R; import com.dayu.baselibrary.bean.TableItem; +import com.dayu.baselibrary.utils.ESCUtil; +import com.dayu.baselibrary.utils.PrinterCallback; import java.util.ArrayList; @@ -23,19 +25,21 @@ import woyou.aidlservice.jiuiv5.ICallback; import woyou.aidlservice.jiuiv5.IWoyouService; - -public class AidlUtil { +/** + * 鍟嗙背鎵撳嵃妯″潡鐩稿叧浠g爜 + */ +public class ShangMiAidlUtil { private static final String SERVICE锛縋ACKAGE = "woyou.aidlservice.jiuiv5"; private static final String SERVICE锛緼CTION = "woyou.aidlservice.jiuiv5.IWoyouService"; private IWoyouService woyouService; - private static AidlUtil mAidlUtil = new AidlUtil(); + private static ShangMiAidlUtil mAidlUtil = new ShangMiAidlUtil(); private Context context; - private AidlUtil() { + private ShangMiAidlUtil() { } - public static AidlUtil getInstance() { + public static ShangMiAidlUtil getInstance() { return mAidlUtil; } @@ -220,7 +224,7 @@ /** * 鎵撳嵃鏂囧瓧 */ - public void printText(String content, float size, boolean isBold, boolean isUnderLine) { + public void printText(List<String> content, float size, boolean isBold, boolean isUnderLine) { if (woyouService == null) { Toast.makeText(context, R.string.toast_2, Toast.LENGTH_LONG).show(); return; @@ -238,8 +242,10 @@ } else { woyouService.sendRAWData(ESCUtil.underlineOff(), null); } - - woyouService.printTextWithFont(content, null, size, null); + woyouService.setFontSize(size, null); + for (int i = 0; i < content.size(); i++) { + woyouService.printText(content.get(i) + "\n", null); + } woyouService.lineWrap(3, null); } catch (RemoteException e) { e.printStackTrace(); @@ -248,7 +254,7 @@ } /* - *鎵撳嵃鍥剧墖 + *鎵撳嵃鍥剧墖 */ public void printBitmap(Bitmap bitmap) { if (woyouService == null) { @@ -313,7 +319,7 @@ } /* - * 绌烘墦涓夎锛� + * 绌烘墦涓夎锛� */ public void print3Line() { if (woyouService == null) { diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/utils/ModelUtils.java b/baselibrary/src/main/java/com/dayu/baselibrary/utils/ModelUtils.java new file mode 100644 index 0000000..64b0632 --- /dev/null +++ b/baselibrary/src/main/java/com/dayu/baselibrary/utils/ModelUtils.java @@ -0,0 +1,34 @@ +package com.dayu.baselibrary.utils; + +/** + * author: zuo + * Date: 2024-09-27 + * Time: 10:18 + * 澶囨敞锛氭満鍨嬬浉鍏冲叕鍏辨柟娉� + */ +public class ModelUtils { + + /** + * 榛樿鐨勮皟鐢ㄦ柟寮忥紙瀹夊崜鍘熺敓锛� + */ + public final static int defaultType = 0; + /** + * 鍗庢櫤铻嶆捣鐨凷DK + */ + public final static int HuaZhiRongHaiType = 1; + + public final static int ShangMiType = 2; + + //鍒ゆ柇鏄摢涓満鍨� + public static int getModelType() { + int type; + try { + Class.forName("com.pos.device.config.DevConfig"); + type = ModelUtils.HuaZhiRongHaiType; + return type; + } catch (ClassNotFoundException e) { + type = ModelUtils.ShangMiType; + return type; + } + } +} diff --git a/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/NFCWreatActivity.java b/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/NFCWreatActivity.java index be76c16..13418a8 100644 --- a/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/NFCWreatActivity.java +++ b/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/NFCWreatActivity.java @@ -10,9 +10,9 @@ import android.view.View; import android.widget.Toast; -import com.dayu.baselibrary.activity.BaseNfcActivity; import com.dayu.baselibrary.tools.BcdUtil; -import com.dayu.baselibrary.utils.AidlUtil; +import com.dayu.baselibrary.tools.print.PrintAdater; +import com.dayu.baselibrary.tools.print.ShangMiAidlUtil; import com.dayu.baselibrary.utils.BaseCommon; import com.dayu.baselibrary.utils.CRC8; import com.dayu.baselibrary.utils.DateUtil; @@ -48,8 +48,10 @@ import com.dayu.henanlibrary.view.ProgressDialog; import com.tencent.bugly.crashreport.CrashReport; +import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; +import java.util.List; /** * Copyright (C), 2023, @@ -365,8 +367,6 @@ } - - /** * 鎵撳嵃鏈虹浉鍏充俊鎭� * @@ -374,24 +374,21 @@ */ private void setPrinterData(RechargeBean rechargeBean) { try { - StringBuffer data = new StringBuffer(); + List<String> data = new ArrayList<>(); if (rechargeBean != null) { - data.append("*****************************" + "\n"); - data.append("璁惧搴忓垪鍙凤細").append(rechargeBean.getSerial()).append("\n"); - data.append("鐢ㄦ埛鍚嶏細").append(rechargeBean.getUserName()).append("\n"); - // data.append("鎴� 鍙凤細" + rechargeBean.getUserNum() + "\n"); - data.append("鍏呭�奸噾棰濓細").append(rechargeBean.getMorny()).append("鍏�").append("\n"); - data.append("鍗″唴浣欓锛�").append(rechargeBean.getBalance()).append("鍏�").append("\n"); - data.append("鏃� 鏈燂細").append(DateUtil.dateToStamp(rechargeBean.getDate(), DateUtil.type2)).append("\n\n"); - data.append("*****************************"); + data.add("*****************************"); + data.add("璁惧搴忓垪鍙凤細" + rechargeBean.getSerial()); + data.add("鐢ㄦ埛鍚嶏細" + rechargeBean.getUserName()); + data.add("鍏呭�奸噾棰濓細" + rechargeBean.getMorny() + "鍏�"); + data.add("鍗″唴浣欓锛�" + rechargeBean.getBalance() + "鍏�"); + data.add("鏃� 鏈燂細" + DateUtil.dateToStamp(rechargeBean.getDate(), DateUtil.type2)); + data.add("*****************************"); } - float size = 26; - try { - AidlUtil.getInstance().printText(data.toString(), size, true, false); - AidlUtil.getInstance().print3Line(); + PrintAdater.getInstance().printText(data, size, true, false); + ShangMiAidlUtil.getInstance().print3Line(); } catch (Exception e) { e.printStackTrace(); } diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivityQHAlone.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivityQHAlone.java index 4306e84..bdb654f 100644 --- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivityQHAlone.java +++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivityQHAlone.java @@ -9,7 +9,7 @@ import android.view.View; import com.dayu.baselibrary.tools.HexUtil; -import com.dayu.baselibrary.utils.AidlUtil; +import com.dayu.baselibrary.tools.print.PrintAdater; import com.dayu.baselibrary.utils.BaseCommon; import com.dayu.baselibrary.utils.DateUtil; import com.dayu.baselibrary.utils.MornyUtil; @@ -39,7 +39,9 @@ import com.dayu.qihealonelibrary.utils.CardCommon; import com.tencent.bugly.crashreport.CrashReport; +import java.util.ArrayList; import java.util.Calendar; +import java.util.List; /** * Copyright (C), 2023, @@ -47,7 +49,7 @@ * Date: 2023-11-08 21:19 * Description: nfc鍐欏崱鐣岄潰 */ -public class NFCWreatActivityQHAlone extends QHAloneBaseNfcActivity { +public class NFCWreatActivityQHAlone extends QHAloneBaseNfcActivity { RegisteredCard registeredCard; CleanUserCard cleanUserCard; @@ -364,22 +366,20 @@ */ private void setPrinterData(RechargeBean rechargeBean) { try { - StringBuffer data = new StringBuffer(); + List<String> data = new ArrayList<>(); if (rechargeBean != null) { - data.append("*****************************" + "\n"); - data.append("璁惧搴忓垪鍙凤細" + rechargeBean.getSerial() + "\n"); - data.append("鐢ㄦ埛鍚嶏細" + rechargeBean.getUserName() + "\n"); - data.append("鍗� 鍙凤細" + rechargeBean.getCardNumber() + "\n"); - data.append("鍏呭�奸噾棰濓細" + rechargeBean.getMorny() + " 鍏�" + "\n"); - data.append("鍗″唴浣欓锛�" + rechargeBean.getBalance() + " 鍏�" + "\n"); - data.append("鏃� 鏈燂細" + DateUtil.dateToStamp(rechargeBean.getDate(), DateUtil.type2) + "\n\n"); - data.append("*****************************"); + data.add("*****************************"); + data.add("璁惧搴忓垪鍙凤細" + rechargeBean.getSerial()); + data.add("鐢ㄦ埛鍚嶏細" + rechargeBean.getUserName()); + data.add("鍗� 鍙凤細" + rechargeBean.getCardNumber()); + data.add("鍏呭�奸噾棰濓細" + rechargeBean.getMorny() + " 鍏�"); + data.add("鍗″唴浣欓锛�" + rechargeBean.getBalance() + " 鍏�"); + data.add("鏃� 鏈燂細" + DateUtil.dateToStamp(rechargeBean.getDate(), DateUtil.type2)); + data.add("*****************************"); } float size = 26; - try { - AidlUtil.getInstance().printText(data.toString(), size, true, false); - AidlUtil.getInstance().print3Line(); + PrintAdater.getInstance().printText(data, size, true, false); } catch (Exception e) { e.printStackTrace(); } diff --git a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/utils/PrintUtils.java b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/utils/PrintUtils.java index 9d0d1b3..b21ded2 100644 --- a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/utils/PrintUtils.java +++ b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/utils/PrintUtils.java @@ -1,12 +1,14 @@ package com.dayu.qiheonlinelibrary.utils; -import android.text.TextUtils; - -import com.dayu.baselibrary.utils.AidlUtil; +import com.dayu.baselibrary.tools.print.PrintAdater; +import com.dayu.baselibrary.tools.print.ShangMiAidlUtil; import com.dayu.baselibrary.utils.DateUtil; import com.dayu.baselibrary.utils.MornyUtil; import com.dayu.qiheonlinelibrary.dbBean.RechargeBean; import com.tencent.bugly.crashreport.CrashReport; + +import java.util.ArrayList; +import java.util.List; /** * Created by Android Studio. @@ -24,27 +26,26 @@ */ public static void printerData(RechargeBean rechargeBean) { try { - StringBuffer data = new StringBuffer(); + List<String> data = new ArrayList<>(); if (rechargeBean != null) { - data.append("*****************************" + "\n"); - data.append("璁惧搴忓垪鍙凤細" + rechargeBean.getSerial() + "\n"); - data.append("濮� 鍚嶏細" + rechargeBean.getUserName() + "\n"); - data.append("鍗� 鍙凤細" + rechargeBean.getCardNumber() + "\n"); - data.append("鐢ㄦ埛缂栧彿锛�" + rechargeBean.getUserCode() + "\n"); - data.append("鍏呭�奸噾棰濓細" + rechargeBean.getMorny() + " 鍏�" + "\n"); + data.add("*****************************"); + data.add("璁惧搴忓垪鍙凤細" + rechargeBean.getSerial()); + data.add("濮� 鍚嶏細" + rechargeBean.getUserName()); + data.add("鍗� 鍙凤細" + rechargeBean.getCardNumber()); + data.add("鐢ㄦ埛缂栧彿锛�" + rechargeBean.getUserCode()); + data.add("鍏呭�奸噾棰濓細" + rechargeBean.getMorny() + " 鍏�"); if (MornyUtil.changeY2F(rechargeBean.getDeductionMorny()) > 0) { - data.append("琛ユ墸閲戦锛�" + rechargeBean.getDeductionMorny() + " 鍏�" + "\n"); + data.add("琛ユ墸閲戦锛�" + rechargeBean.getDeductionMorny() + " 鍏�"); } - data.append("鍏呭�煎悗鍗″唴浣欓锛�" + rechargeBean.getBalance() + " 鍏�" + "\n"); - data.append("鍏呭�肩數閲忥細" + rechargeBean.getRechargeElectric() + " 搴�" + "\n"); - data.append("鍏呭�煎悗鍗″唴鐢甸噺锛�" + rechargeBean.getSurplusElectic() + " 搴�" + "\n"); - data.append("鏃� 鏈燂細" + DateUtil.dateToStamp(rechargeBean.getRechargeDate(), DateUtil.type2) + "\n\n"); - data.append("*****************************"); + data.add("鍏呭�煎悗鍗″唴浣欓锛�" + rechargeBean.getBalance() + " 鍏�"); + data.add("鍏呭�肩數閲忥細" + rechargeBean.getRechargeElectric() + " 搴�"); + data.add("鍏呭�煎悗鍗″唴鐢甸噺锛�" + rechargeBean.getSurplusElectic() + " 搴�"); + data.add("鏃� 鏈燂細" + DateUtil.dateToStamp(rechargeBean.getRechargeDate(), DateUtil.type2)); + data.add("*****************************"); } float size = 26; try { - AidlUtil.getInstance().printText(data.toString(), size, true, false); -// AidlUtil.getInstance().print3Line(); + PrintAdater.getInstance().printText(data, size, true, false); } catch (Exception e) { e.printStackTrace(); } -- Gitblit v1.8.0