From a9c1231be4e3c1c5bd5e9fc61489d55363090407 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期一, 04 三月 2024 15:26:22 +0800 Subject: [PATCH] 齐河项目相关修改 --- app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java | 240 ++++++++++++++++++++++++----------------------------------- 1 files changed, 99 insertions(+), 141 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 eef5996..bfd8072 100644 --- a/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java +++ b/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java @@ -2,14 +2,12 @@ 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.LayoutInflater; 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; @@ -31,7 +29,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; @@ -40,6 +37,7 @@ import com.dayu.recharge.utils.DateUtil; import com.dayu.recharge.utils.DeviceNumberUtils; import com.dayu.recharge.utils.MornyUtil; +import com.dayu.recharge.utils.MyCommon; import com.dayu.recharge.utils.SocketUtil; import com.dayu.recharge.utils.TipUtil; import com.tencent.bugly.crashreport.CrashReport; @@ -72,7 +70,7 @@ boolean configPowerFlag = false; UserCardBean userCardBean; - + UserCard olduserCard; String morny; String userName; @@ -112,7 +110,6 @@ try { binding = ActivityWriteTextBinding.inflate(LayoutInflater.from(this)); setContentView(binding.getRoot()); - initView(); nfcWreatActivity = this; getData(); baseApp = (MyApplication) getApplication(); @@ -120,31 +117,6 @@ e.printStackTrace(); CrashReport.postCatchedException(e); } - } - - private void initView() { - handler = new Handler(new Handler.Callback() { - @Override - public boolean handleMessage(Message msg) { - switch (msg.what) { - - case HAS_USER://鍒ゆ柇宸插啓鍏ョ敤鎴� - binding.textView.setText("璇ュ崱宸茬粡鍐欏叆鐢ㄦ埛淇℃伅锛岃鏇存崲鍗$墖"); - binding.textView.setTextColor(getResources().getColor(R.color.red)); - stopAnim(); - break; - case NO_USER://娌℃湁鍐欒繃鐢ㄦ埛缁х画淇濆瓨 - saveData(); - break; - default: - stopAnim(); - TipUtil.show(NFCWreatActivity.this, "鍗$墖璇诲彇澶辫触"); - break; - - } - return false; - } - }); } @@ -196,7 +168,7 @@ userName = this.getIntent().getStringExtra("userName"); binding.cardData.setText("鍏呭�奸噾棰濓細" + morny + "鍏�"); // 鍏呭�奸�昏緫 - recharge(userCard.getInitPeasantCode(), userName, "鍚敤"); +// recharge(userCard.getInitPeasantCode(), userName, "鍚敤"); } try { @@ -215,37 +187,23 @@ * 妫�娴嬫槸鍚︽槸鐢ㄦ埛鍗★紝鍋囧鏄敤鎴峰崱鐨勮瘽闇�瑕佹娴嬪崱鐗囨槸鍚﹀凡缁忓紑杩囨埛锛屽亣濡傚凡寮�鎴峰垯鎶ラ敊涓嶈兘鍐嶅啓鍗″亣濡傛槸鐢ㄦ埛鍗¢渶瑕� */ private void checkHasUser() { - try { - NfcReadHelper.getInstence(intent) - .getData(1, 0, new NfcReadHelper.NFCCallByteback() { - @Override - public void callBack(byte[] data) { - Message message = new Message(); - String type = HexUtil.byteToHex(data[0]).toUpperCase(); - switch (type) { - case "A1": - case "A8": - case "A2": - message.what = HAS_USER; - break; - default: - message.what = NO_USER; - break; - } - handler.sendMessage(message); - } - @Override - public void error(int code) { - Message message = new Message(); - message.what = code; - handler.sendMessage(message); - } - }); - } catch (Exception e) { - e.printStackTrace(); - CrashReport.postCatchedException(e); + 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) || + cardType.equals(MyCommon.USER_CARD_TYPE_3) + ) { + binding.textView.setText("璇ュ崱宸茬粡鍐欏叆鐢ㄦ埛淇℃伅锛岃鏇存崲鍗$墖"); + binding.textView.setTextColor(getResources().getColor(R.color.red)); + } else if (cardType.equals("-1")) { + TipUtil.show(NFCWreatActivity.this, "璇峰嬁绉诲姩鍗$墖锛岃鍗″け璐ヨ閲嶈瘯锛侊紒"); + } else { + Log.i("NFCWreatActivity", "olduserCard!=null saveData"); + saveData(); } + + stopAnim(); } @@ -258,7 +216,8 @@ || configureDeviceRegistrationCrad != null || configurationPowerCard != null) { if (userCard != null && TextUtils.isEmpty(morny)) { - userFlag = WriteCardUtils.setUser(intent, userCard); + + userFlag = WriteCardUtils.setUser(intent, userCard, this); } if (cleanCard != null) { setClean(intent, cleanCard); @@ -290,11 +249,9 @@ //鐢ㄦ埛鍗� startDetailActivity(userCardBean.getUserName(), "鍚敤"); } else if (!TextUtils.isEmpty(morny)) { - NFCWreatActivity.this.finish(); - TipUtil.show("鍏呭�兼垚鍔�"); + TipUtil.show(NFCWreatActivity.this, "鍏呭�兼垚鍔�", () -> NFCWreatActivity.this.finish()); } else { - NFCWreatActivity.this.finish(); - TipUtil.show("鍐欏崱鎴愬姛"); + TipUtil.show(NFCWreatActivity.this, "鍐欏崱鎴愬姛", () -> NFCWreatActivity.this.finish()); } } catch (Exception e) { @@ -302,14 +259,10 @@ CrashReport.postCatchedException(e); } } else { - TipUtil.show("鍐欏崱澶辫触"); + TipUtil.show(NFCWreatActivity.this, "鍐欏崱澶辫触"); } stopAnim(); - } -// else if (!TextUtils.isEmpty(morny)) { -// -// } - else if (userCard == null && userCardBean != null) { + } else if (userCard == null && userCardBean != null) { //琛ュ崱閫昏緫 selectBalance(userCardBean.getInitPeasantCode()); } else { @@ -328,6 +281,7 @@ try { this.intent = intent; startAnim(); + Log.i("NFCWreatActivity", "isUser:" + isUser); if (isUser) { checkHasUser(); } else if (isRecharge) { @@ -419,27 +373,27 @@ String state = BcdUtil.bcdToStr(readData.getBodyBytes()[2]); //00鍚敤01绂佺敤02闅跺睘淇℃伅涓嶇03鏃犳鍗′俊鎭�04鍏跺畠 if ("00".equalsIgnoreCase(state)) { - rechargeIsOk = true; - binding.cardData.setText("鍏呭�奸�氫俊瀹屾垚锛岃甯栧崱鍏呭��"); - rechargeBean = new RechargeBean(); - rechargeBean.setDate(System.currentTimeMillis()); - rechargeBean.setMorny(morny); - rechargeBean.setUserName(name); - - rechargeBean.setSerial(adminData.getSerial()); - userCard.setRechargeDate(Calendar.getInstance()); - rechargeBean.setBalance(MornyUtil.changeF2Y(balance + MornyUtil.changeY2F(morny)) + ""); - rechargeBean.setInitPeasantCode(initPeasantCode); - rechargeBean.setOrderID(orderId); - try { - baseDao.rechargeDao().insert(rechargeBean); - } catch (Exception e) { - e.printStackTrace(); - } - userCard.setRechargeTimes(userCard.getRechargeTimes() + 1); +// rechargeIsOk = true; +// binding.cardData.setText("鍏呭�奸�氫俊瀹屾垚锛岃甯栧崱鍏呭��"); +// rechargeBean = new RechargeBean(); +// rechargeBean.setDate(System.currentTimeMillis()); +// rechargeBean.setMorny(morny); +// rechargeBean.setUserName(name); +// +// rechargeBean.setSerial(adminData.getSerial()); +// userCard.setRechargeDate(Calendar.getInstance()); +// rechargeBean.setBalance(MornyUtil.changeF2Y(balance)); +// rechargeBean.setInitPeasantCode(initPeasantCode); +// rechargeBean.setOrderID(orderId); +// try { +// baseDao.rechargeDao().insert(rechargeBean); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// userCard.setRechargeTimes(userCard.getRechargeTimes() + 1); } else if ("01".equalsIgnoreCase(state)) { - userCard.setState("01"); - userFlag = WriteCardUtils.setUser(intent, userCard); +// userCard.setState("01"); + userFlag = WriteCardUtils.setUser(intent, userCard, NFCWreatActivity.this); NFCWreatActivity.this.finish(); TipUtil.show("鍏呭�兼姤鏂囬敊璇�-绂佺敤"); } else if ("02".equalsIgnoreCase(state)) { @@ -475,29 +429,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())) { - userCard.setState("00"); - userFlag = WriteCardUtils.setUser(intent, userCard); - // 鎵撳嵃鐩稿叧 - if (userFlag) { - setPrinterData(rechargeBean); - startDetailActivity(userName, "鍚敤"); - } else { - TipUtil.show(NFCWreatActivity.this, "鍐欏崱澶辫触锛岃閲嶆柊鍐嶈瘯"); - } - } else { - TipUtil.show(NFCWreatActivity.this, "璇诲彇鐨勫崱鍜屽厖鍊肩殑鍗′笉涓�鑷�"); - } +// if (userCard.getInitPeasantCode().equals(userCardold.getInitPeasantCode())) { +// userCard.setState("00"); +// userFlag = WriteCardUtils.setUser(intent, userCard, this); +// // 鎵撳嵃鐩稿叧 +// if (userFlag) { +// setPrinterData(rechargeBean); +// startDetailActivity(userName, "鍚敤"); +// } else { +// TipUtil.show(NFCWreatActivity.this, "鍐欏崱澶辫触锛岃閲嶆柊鍐嶈瘯"); +// } +// } else { +// TipUtil.show(NFCWreatActivity.this, "璇诲彇鐨勫崱鍜屽厖鍊肩殑鍗′笉涓�鑷�"); +// } } else { } } 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(), 1, 0); } /** @@ -507,7 +461,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(), 1, 0); } @@ -518,7 +472,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(), 1, 0); } /** @@ -528,7 +482,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(), 1, 0); } /** @@ -539,15 +493,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); @@ -555,17 +509,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(), 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(), 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(), 1, 0); } catch (Exception e) { configPowerFlag = false; throw new RuntimeException(e); @@ -610,28 +564,25 @@ @Override public void onSocketResponse(SocketData readData) { if (CRC8.isCRC8(readData.getOriginDataBytes())) { - StringBuffer stateText = null; - try { stateText = new StringBuffer(); String state = BcdUtil.bcdToStr(readData.getBodyBytes()[2]); //BCD鐮�00鍚敤 01绂佺敤 02闅跺睘淇℃伅涓嶇 03鏃犳鍗′俊鎭� 04鍏跺畠s if (userCard == null) { userCard = new UserCard(); - userCard.setRechargeTimes(0); - - ElectricPriceBean electricPriceBean = baseDao.electricPriceDao().findFirst(); - if (electricPriceBean != null) { - userCard.setElectricityPrice(electricPriceBean.getPrice()); - } else { - //榛樿鏄�1鍏� - userCard.setElectricityPrice(1.000f); - } - userCard.setSwipeNumber((short) 0); - userCard.setState("00"); - userCard.setBalance(0); - userCard.setAddressCode(adminData.getAddressCode()); - userCard.setInitPeasantCode(initPeasantCode); +// userCard.setRechargeTimes(0); +// ElectricPriceBean electricPriceBean = baseDao.electricPriceDao().findFirst(); +// if (electricPriceBean != null) { +// userCard.setElectricityPrice(electricPriceBean.getPrice()); +// } else { +// //榛樿鏄�1鍏� +// userCard.setElectricityPrice(1.000f); +// } +// userCard.setSwipeNumber((short) 0); +// userCard.setState("00"); +// userCard.setBalance(0); +// userCard.setAddressCode(adminData.getAddressCode()); +// userCard.setInitPeasantCode(initPeasantCode); } //鍙湁鍚姩鐘舵�佹墠鑳藉厖鍊� //閲戦 @@ -642,21 +593,24 @@ String name = SocketUtil.fromHexString(SocketUtil.bytesToHexClean0(nameByte)); if ("00".equals(state)) { stateText.append("鍚敤"); - userCard.setBalance(balance); - userCard.setState("00"); +// userCard.setBalance(balance); +// userCard.setState("00"); //琛ュ崱閫昏緫 - userFlag = WriteCardUtils.setUser(intent, userCard); + userFlag = WriteCardUtils.setUser(intent, userCard, NFCWreatActivity.this); if (userFlag) { - NFCWreatActivity.this.finish(); - TipUtil.show(NFCWreatActivity.this, "琛ュ崱鎴愬姛"); + TipUtil.show(NFCWreatActivity.this, "琛ュ崱鎴愬姛", new TipUtil.TipListener() { + @Override + public void onCancle() { + NFCWreatActivity.this.finish(); + } + }); } return; } else if ("01".equals(state)) { stateText.append("绂佺敤"); - userCard.setState("01"); - userCard.setBalance(balance); - userFlag = WriteCardUtils.setUser(intent, userCard); - +// userCard.setState("01"); +// userCard.setBalance(balance); + userFlag = WriteCardUtils.setUser(intent, userCard, NFCWreatActivity.this); startDetailActivity(name, stateText.toString()); } else if ("02".equals(state)) { @@ -692,4 +646,8 @@ } + protected void onDestroy() { + super.onDestroy(); + nfcWreatActivity = null; + } } \ No newline at end of file -- Gitblit v1.8.0