From 1b4835badb3ca32402b6544c668a700c5334d90f Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期二, 26 三月 2024 16:48:31 +0800 Subject: [PATCH] 添加中安身份证识别模块 把IP设置移动到参数设置界面 --- app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java | 178 +++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 113 insertions(+), 65 deletions(-) diff --git a/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java b/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java index 311b862..adc20fe 100644 --- a/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java +++ b/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java @@ -1,16 +1,16 @@ package com.dayu.recharge.activity; +import android.annotation.SuppressLint; import android.content.Intent; import android.os.Bundle; -import android.os.Handler; -import android.os.Message; import android.text.TextUtils; import android.util.Log; +import android.view.KeyEvent; import android.view.LayoutInflater; +import android.view.View; import android.widget.Toast; import com.dayu.recharge.MyApplication; - import com.dayu.recharge.R; import com.dayu.recharge.card.CleanCard; import com.dayu.recharge.card.CleanUserCard; @@ -32,7 +32,6 @@ import com.dayu.recharge.socketBean.BalanceSelecteRequestBean; import com.dayu.recharge.socketBean.RechargeRequestBean; import com.dayu.recharge.tools.BcdUtil; -import com.dayu.recharge.tools.HexUtil; import com.dayu.recharge.tools.NFCWriteHelper; import com.dayu.recharge.tools.NfcReadHelper; import com.dayu.recharge.tools.WriteCardUtils; @@ -44,6 +43,9 @@ import com.dayu.recharge.utils.MyCommon; import com.dayu.recharge.utils.SocketUtil; import com.dayu.recharge.utils.TipUtil; +import com.dayu.recharge.view.ConfirmDialog; +import com.dayu.recharge.view.ProgressDialog; +import com.dayu.recharge.view.TitleBar; import com.tencent.bugly.crashreport.CrashReport; import java.util.Arrays; @@ -56,7 +58,7 @@ * Description: nfc鍐欏崱鐣岄潰 */ public class NFCWreatActivity extends BaseNfcActivity { - + public static String TAG = "NFCWreatActivity"; boolean cleanFlag = false; boolean userFlag = false; @@ -73,8 +75,12 @@ boolean configPowerFlag = false; + /** + * 鏄惁涓嶅啀楠岃瘉鐢ㄦ埛鐩存帴鍐欏崱 + */ + boolean isAgainWrite = false; + UserCardBean userCardBean; - UserCard olduserCard; String morny; String userName; @@ -107,6 +113,7 @@ //鍏呭�奸�氫俊鏄惁瀹屾垚 boolean rechargeIsOk = false; ActivityWriteTextBinding binding; + ConfirmDialog confirmDialog; @Override protected void onCreate(Bundle savedInstanceState) { @@ -115,6 +122,7 @@ binding = ActivityWriteTextBinding.inflate(LayoutInflater.from(this)); setContentView(binding.getRoot()); nfcWreatActivity = this; + setData(); getData(); baseApp = (MyApplication) getApplication(); } catch (Exception e) { @@ -124,6 +132,55 @@ } + private void setData() { + titleBar.setOnItemclickListner(TitleBar.ClickType_LEFT_IMAGE, v -> { + //澶勭悊鍥犵敤鎴疯鎿嶄綔杩斿洖瀵艰嚧涓嶈兘鍐欏崱鐨勯棶棰橈紝娣诲姞浜屾纭 + back(); + }); + } + + private void back() { + if (isUser) { + confirmDialog = new ConfirmDialog(NFCWreatActivity.this, v -> { + confirmDialog.dismiss(); + myFinish(); + }); + confirmDialog.show(); + } else if (!TextUtils.isEmpty(morny)) { + confirmDialog = new ConfirmDialog(NFCWreatActivity.this, v -> { + confirmDialog.dismiss(); + myFinish(); + }); + confirmDialog.show(); + } else { + finish(); + } + } + + + private void myFinish() { + if (NewCardActivity.newCardActivity != null) { + NewCardActivity.newCardActivity.finish(); + } + if (RechargeActivity.rechargeActivity != null) { + RechargeActivity.rechargeActivity.finish(); + } + NFCWreatActivity.nfcWreatActivity.finish(); + } + + + //鐐瑰嚮涓ゆ閫�鍑虹▼搴� 鏈夋椂闂撮棿闅� 闂撮殧鍐呯偣鍑诲垯閫�鍑虹▼搴� 鍚﹀垯 鍒欐彁绀� + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_BACK) { + back(); + return true; + } + return super.onKeyDown(keyCode, event); + } + + + @SuppressLint("SetTextI18n") private void getData() { try { if (this.getIntent().hasExtra("userCard")) { @@ -172,7 +229,7 @@ userName = this.getIntent().getStringExtra("userName"); binding.cardData.setText("鍏呭�奸噾棰濓細" + morny + "鍏�"); // 鍏呭�奸�昏緫 - recharge(userCard.getInitPeasantCode(), userName, "鍚敤"); + recharge(userCard.getInitPeasantCode(), userName); } try { @@ -192,7 +249,7 @@ */ private void checkHasUser() { - String cardType = NfcReadHelper.getInstence(intent).getCradType(); + String cardType = NfcReadHelper.getInstence(intent, this).getCradType(); Log.i("NFCWreatActivity", "cardType=" + cardType); if (cardType.equals(MyCommon.USER_CARD_TYPE_1) || cardType.equals(MyCommon.USER_CARD_TYPE_2) || @@ -202,6 +259,8 @@ binding.textView.setTextColor(getResources().getColor(R.color.red)); } else if (cardType.equals("-1")) { TipUtil.show(NFCWreatActivity.this, "璇峰嬁绉诲姩鍗$墖锛岃鍗″け璐ヨ閲嶈瘯锛侊紒"); + } else if (cardType.equals("-2")) { + TipUtil.show(NFCWreatActivity.this, "璇诲崱澶辫触,璇锋鏌ュ崱鏄惁鏄敤鎴峰崱"); } else { Log.i("NFCWreatActivity", "olduserCard!=null saveData"); saveData(); @@ -220,11 +279,9 @@ || configureDeviceRegistrationCrad != null || configurationPowerCard != null) { if (userCard != null && TextUtils.isEmpty(morny)) { - - userFlag = WriteCardUtils.setUser(intent, userCard); + userFlag = WriteCardUtils.setUser(intent, userCard, this); } if (cleanCard != null) { - NFCWriteHelper.getInstence(intent).changePasword(1); setClean(intent, cleanCard); } if (manageCard != null) { @@ -254,19 +311,9 @@ //鐢ㄦ埛鍗� startDetailActivity(userCardBean.getUserName(), "鍚敤"); } else if (!TextUtils.isEmpty(morny)) { - TipUtil.show(NFCWreatActivity.this, "鍏呭�兼垚鍔�", new TipUtil.TipListener() { - @Override - public void onCancle() { - NFCWreatActivity.this.finish(); - } - }); + TipUtil.show(NFCWreatActivity.this, "鍏呭�兼垚鍔�", NFCWreatActivity.this::finish); } else { - TipUtil.show(NFCWreatActivity.this, "鍐欏崱鎴愬姛", new TipUtil.TipListener() { - @Override - public void onCancle() { - NFCWreatActivity.this.finish(); - } - }); + TipUtil.show(NFCWreatActivity.this, "鍐欏崱鎴愬姛", NFCWreatActivity.this::finish); } } catch (Exception e) { @@ -326,13 +373,13 @@ StringBuffer data = new StringBuffer(); if (rechargeBean != null) { data.append("*****************************" + "\n"); - data.append(getResources().getString(R.string.login_title) + "\n"); - data.append("璁惧搴忓垪鍙凤細" + rechargeBean.getSerial() + "\n"); - data.append("鐢ㄦ埛鍚嶏細" + rechargeBean.getUserName() + "\n"); + data.append(getResources().getString(R.string.login_title)).append("\n"); + data.append("璁惧搴忓垪鍙凤細").append(rechargeBean.getSerial()).append("\n"); + data.append("鐢ㄦ埛鍚嶏細").append(rechargeBean.getUserName()).append("\n"); // data.append("鎴� 鍙凤細" + rechargeBean.getUserNum() + "\n"); - data.append("鍏呭�奸噾棰濓細" + rechargeBean.getMorny() + "鍏�" + "\n"); - data.append("鍗″唴浣欓锛�" + rechargeBean.getBalance() + "鍏�" + "\n"); - data.append("鏃� 鏈燂細" + DateUtil.dateToStamp(rechargeBean.getDate(), DateUtil.type2) + "\n\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("*****************************"); } @@ -348,6 +395,7 @@ } void startAnim() { + binding.avi.setVisibility(View.VISIBLE); binding.avi.show(); // or avi.smoothToShow(); } @@ -359,7 +407,7 @@ //鍏呭�间笂浼狅紙Socket锛� - private void recharge(String initPeasantCode, String name, String statu) { + private void recharge(String initPeasantCode, String name) { try { RechargeRequestBean rechargeRequestBean = new RechargeRequestBean(); rechargeRequestBean.setControl("01"); @@ -371,7 +419,7 @@ rechargeRequestBean.setBalance(morny); rechargeRequestBean.setOrderId(SocketUtil.getOrderId(NFCWreatActivity.this)); - SocketNet.getInstance().sendTestMessage(rechargeRequestBean.pack(), new SocketCallBack() { + SocketNet.getInstance().sendTestMessage(rechargeRequestBean.pack(),"95", new SocketCallBack() { @Override public void onSocketResponse(SocketData readData) { @@ -397,6 +445,7 @@ rechargeBean.setSerial(adminData.getSerial()); userCard.setRechargeDate(Calendar.getInstance()); + userCard.setBalance(balance); rechargeBean.setBalance(MornyUtil.changeF2Y(balance)); rechargeBean.setInitPeasantCode(initPeasantCode); rechargeBean.setOrderID(orderId); @@ -408,7 +457,7 @@ userCard.setRechargeTimes(userCard.getRechargeTimes() + 1); } else if ("01".equalsIgnoreCase(state)) { userCard.setState("01"); - userFlag = WriteCardUtils.setUser(intent, userCard); + userFlag = WriteCardUtils.setUser(intent, userCard, NFCWreatActivity.this); NFCWreatActivity.this.finish(); TipUtil.show("鍏呭�兼姤鏂囬敊璇�-绂佺敤"); } else if ("02".equalsIgnoreCase(state)) { @@ -444,29 +493,29 @@ //寰�鍗″唴鍐欏厖鍊煎悗鐨勬暟鎹� private void rechargeWrratCard() { - UserCard userCardold = NfcReadHelper.getInstence(intent).getUserCardData(); + UserCard userCardold = NfcReadHelper.getInstence(intent, this).getUserCardData(); if (userCardold != null) { //鍒ゆ柇鏄惁鍏呭�肩殑鏄竴涓崱 - if (userCard.getInitPeasantCode().equals(userCardold.getInitPeasantCode())) { + if (userCard.getInitPeasantCode().equals(userCardold.getInitPeasantCode()) || isAgainWrite) { userCard.setState("00"); - userFlag = WriteCardUtils.setUser(intent, userCard); + userFlag = WriteCardUtils.setUser(intent, userCard, this); // 鎵撳嵃鐩稿叧 if (userFlag) { setPrinterData(rechargeBean); startDetailActivity(userName, "鍚敤"); } else { - TipUtil.show(NFCWreatActivity.this, "鍐欏崱澶辫触锛岃閲嶆柊鍐嶈瘯"); + isAgainWrite = true; + TipUtil.show(NFCWreatActivity.this, "鍐欏崱澶辫触锛岃閲嶆柊璐村崱"); } } else { TipUtil.show(NFCWreatActivity.this, "璇诲彇鐨勫崱鍜屽厖鍊肩殑鍗′笉涓�鑷�"); } - } else { - } + stopAnim(); } private void setmanageCard(Intent intent, final ManageCard manageCard) { - manageCardFlag = NFCWriteHelper.getInstence(intent).writeData(manageCard.toZeroByte(), 1, 0); + manageCardFlag = NFCWriteHelper.getInstence(intent, this).writeData(manageCard.toZeroByte(baseDao), 1, 0); } /** @@ -476,7 +525,7 @@ * @param clearOrInitCard */ private void setClean(Intent intent, final CleanCard clearOrInitCard) { - cleanFlag = NFCWriteHelper.getInstence(intent).writeData(clearOrInitCard.toByte(), 1, 0); + cleanFlag = NFCWriteHelper.getInstence(intent, this).writeData(clearOrInitCard.toByte(baseDao), 1, 0); } @@ -487,7 +536,7 @@ * @param registeredCard */ private void setRegisteredCard(Intent intent, RegisteredCard registeredCard) { - registeredFlag = NFCWriteHelper.getInstence(intent).writeData(registeredCard.toByte(), 1, 0); + registeredFlag = NFCWriteHelper.getInstence(intent, this).writeData(registeredCard.toByte(baseDao), 1, 0); } /** @@ -497,7 +546,7 @@ * @param cleanUserCard */ private void setCleanUserCard(Intent intent, CleanUserCard cleanUserCard) { - cleanUserCardFlag = NFCWriteHelper.getInstence(intent).writeData(cleanUserCard.toByte(), 1, 0); + cleanUserCardFlag = NFCWriteHelper.getInstence(intent, this).writeData(cleanUserCard.toByte(baseDao), 1, 0); } /** @@ -508,15 +557,15 @@ */ private void setDomainCard(Intent intent, DomainCard domainCard) { try { - domainCrdFlag = NFCWriteHelper.getInstence(intent).writeData(domainCard.getZeroByte(), 1, 0); + domainCrdFlag = NFCWriteHelper.getInstence(intent, this).writeData(domainCard.getZeroByte(), 1, 0); if (!domainCrdFlag) { return; } - domainCrdFlag = NFCWriteHelper.getInstence(intent).writeData(domainCard.getOneByte(), 1, 1); + domainCrdFlag = NFCWriteHelper.getInstence(intent, this).writeData(domainCard.getOneByte(), 1, 1); if (!domainCrdFlag) { return; } - domainCrdFlag = NFCWriteHelper.getInstence(intent).writeData(domainCard.getTwoByte(), 1, 2); + domainCrdFlag = NFCWriteHelper.getInstence(intent, this).writeData(domainCard.getTwoByte(), 1, 2); } catch (Exception e) { domainCrdFlag = false; throw new RuntimeException(e); @@ -524,17 +573,17 @@ } private void setTestCard(Intent intent, TestCard testCard) { - testCardFlag = NFCWriteHelper.getInstence(intent).writeData(testCard.toByte(), 1, 0); + testCardFlag = NFCWriteHelper.getInstence(intent, this).writeData(testCard.toByte(baseDao), 1, 0); } private void setConfigDeviceRegiest(Intent intent, ConfigureDeviceRegistrationCrad configureDeviceRegistrationCrad) { - configDeviceRegiestFlag = NFCWriteHelper.getInstence(intent).writeData(configureDeviceRegistrationCrad.toByte(), 1, 0); + configDeviceRegiestFlag = NFCWriteHelper.getInstence(intent, this).writeData(configureDeviceRegistrationCrad.toByte(baseDao), 1, 0); } private void setConfigurationPower(Intent intent, ConfigurationPowerCard configurationPowerCard) { try { - configPowerFlag = NFCWriteHelper.getInstence(intent).writeData(configurationPowerCard.toByte(), 1, 0); + configPowerFlag = NFCWriteHelper.getInstence(intent, this).writeData(configurationPowerCard.toByte(baseDao), 1, 0); } catch (Exception e) { configPowerFlag = false; throw new RuntimeException(e); @@ -551,13 +600,7 @@ detail.putExtra("morny", morny); } startActivity(detail); - if (NewCardActivity.newCardActivity != null) { - NewCardActivity.newCardActivity.finish(); - } - if (RechargeActivity.rechargeActivity != null) { - RechargeActivity.rechargeActivity.finish(); - } - NFCWreatActivity.nfcWreatActivity.finish(); + myFinish(); } /** @@ -566,8 +609,9 @@ * @param initPeasantCode 鍐滄埛娉ㄥ唽缂栧彿 */ private void selectBalance(String initPeasantCode) { - + Log.i(TAG, "琛ュ崱鏌ヨ浣欓:鍐滄埛娉ㄥ唽缂栧彿 " + initPeasantCode); try { + startAnim(); BalanceSelecteRequestBean requestBean = new BalanceSelecteRequestBean(); requestBean.setAFN("94"); requestBean.setControl("01"); @@ -575,7 +619,7 @@ requestBean.setInitCode(initCode); requestBean.setInitPeasantCode(initPeasantCode); requestBean.setXuLie(SocketUtil.getXuLie(this)); - SocketNet.getInstance().sendTestMessage(requestBean.pack(), new SocketCallBack() { + SocketNet.getInstance().sendTestMessage(requestBean.pack(), "94",new SocketCallBack() { @Override public void onSocketResponse(SocketData readData) { if (CRC8.isCRC8(readData.getOriginDataBytes())) { @@ -611,21 +655,16 @@ userCard.setBalance(balance); userCard.setState("00"); //琛ュ崱閫昏緫 - userFlag = WriteCardUtils.setUser(intent, userCard); + userFlag = WriteCardUtils.setUser(intent, userCard, NFCWreatActivity.this); if (userFlag) { - TipUtil.show(NFCWreatActivity.this, "琛ュ崱鎴愬姛", new TipUtil.TipListener() { - @Override - public void onCancle() { - NFCWreatActivity.this.finish(); - } - }); + TipUtil.show(NFCWreatActivity.this, "琛ュ崱鎴愬姛", () -> NFCWreatActivity.this.finish()); } return; } else if ("01".equals(state)) { stateText.append("绂佺敤"); userCard.setState("01"); userCard.setBalance(balance); - userFlag = WriteCardUtils.setUser(intent, userCard); + userFlag = WriteCardUtils.setUser(intent, userCard, NFCWreatActivity.this); startDetailActivity(name, stateText.toString()); } else if ("02".equals(state)) { @@ -646,6 +685,8 @@ //鏍¢獙CRC閿欒 TipUtil.show(NFCWreatActivity.this, "寮�鍗℃姤鏂囨牎楠孋RC閿欒"); } + stopAnim(); + } @Override @@ -657,8 +698,15 @@ } catch (Exception e) { e.printStackTrace(); CrashReport.postCatchedException(e); + stopAnim(); + ProgressDialog.dismiss(); } } + protected void onDestroy() { + super.onDestroy(); + ProgressDialog.dismiss(); + nfcWreatActivity = null; + } } \ No newline at end of file -- Gitblit v1.8.0