From e8232424de65da0254ce9637e19af9a4a6527964 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期五, 22 三月 2024 15:31:42 +0800 Subject: [PATCH] 密码修改成保存MD5类型的 --- app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java | 177 ++++++++++++++++++++++++----------------------------------- 1 files changed, 72 insertions(+), 105 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..7d23e6d 100644 --- a/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java +++ b/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java @@ -1,15 +1,15 @@ 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.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; @@ -31,7 +31,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,8 +39,10 @@ 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.dayu.recharge.view.ProgressDialog; import com.tencent.bugly.crashreport.CrashReport; import java.util.Arrays; @@ -54,7 +55,7 @@ * Description: nfc鍐欏崱鐣岄潰 */ public class NFCWreatActivity extends BaseNfcActivity { - + public static String TAG = "NFCWreatActivity"; boolean cleanFlag = false; boolean userFlag = false; @@ -72,7 +73,6 @@ boolean configPowerFlag = false; UserCardBean userCardBean; - String morny; String userName; @@ -112,7 +112,6 @@ try { binding = ActivityWriteTextBinding.inflate(LayoutInflater.from(this)); setContentView(binding.getRoot()); - initView(); nfcWreatActivity = this; getData(); baseApp = (MyApplication) getApplication(); @@ -122,32 +121,8 @@ } } - 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; - } - }); - } - - + @SuppressLint("SetTextI18n") private void getData() { try { if (this.getIntent().hasExtra("userCard")) { @@ -196,7 +171,7 @@ userName = this.getIntent().getStringExtra("userName"); binding.cardData.setText("鍏呭�奸噾棰濓細" + morny + "鍏�"); // 鍏呭�奸�昏緫 - recharge(userCard.getInitPeasantCode(), userName, "鍚敤"); + recharge(userCard.getInitPeasantCode(), userName); } try { @@ -215,37 +190,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 +219,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 +252,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 +262,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 +284,7 @@ try { this.intent = intent; startAnim(); + Log.i("NFCWreatActivity", "isUser:" + isUser); if (isUser) { checkHasUser(); } else if (isRecharge) { @@ -357,13 +314,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("*****************************"); } @@ -379,6 +336,7 @@ } void startAnim() { + binding.avi.setVisibility(View.VISIBLE); binding.avi.show(); // or avi.smoothToShow(); } @@ -390,7 +348,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"); @@ -428,7 +386,8 @@ rechargeBean.setSerial(adminData.getSerial()); userCard.setRechargeDate(Calendar.getInstance()); - rechargeBean.setBalance(MornyUtil.changeF2Y(balance + MornyUtil.changeY2F(morny)) + ""); + userCard.setBalance(balance); + rechargeBean.setBalance(MornyUtil.changeF2Y(balance)); rechargeBean.setInitPeasantCode(initPeasantCode); rechargeBean.setOrderID(orderId); try { @@ -439,7 +398,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)) { @@ -475,12 +434,12 @@ //寰�鍗″唴鍐欏厖鍊煎悗鐨勬暟鎹� 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); + userFlag = WriteCardUtils.setUser(intent, userCard, this); // 鎵撳嵃鐩稿叧 if (userFlag) { setPrinterData(rechargeBean); @@ -491,13 +450,11 @@ } 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(baseDao), 1, 0); } /** @@ -507,7 +464,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); } @@ -518,7 +475,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); } /** @@ -528,7 +485,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); } /** @@ -539,15 +496,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 +512,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); @@ -597,8 +554,9 @@ * @param initPeasantCode 鍐滄埛娉ㄥ唽缂栧彿 */ private void selectBalance(String initPeasantCode) { - + Log.i(TAG, "琛ュ崱鏌ヨ浣欓:鍐滄埛娉ㄥ唽缂栧彿 " + initPeasantCode); try { + startAnim(); BalanceSelecteRequestBean requestBean = new BalanceSelecteRequestBean(); requestBean.setAFN("94"); requestBean.setControl("01"); @@ -610,16 +568,13 @@ @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()); @@ -645,18 +600,21 @@ 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); - + userFlag = WriteCardUtils.setUser(intent, userCard, NFCWreatActivity.this); startDetailActivity(name, stateText.toString()); } else if ("02".equals(state)) { @@ -677,19 +635,28 @@ //鏍¢獙CRC閿欒 TipUtil.show(NFCWreatActivity.this, "寮�鍗℃姤鏂囨牎楠孋RC閿欒"); } + stopAnim(); + } @Override public void onSocketError(int code, String msg) { stopAnim(); + TipUtil.show(NFCWreatActivity.this, msg); } }); } catch (Exception e) { e.printStackTrace(); CrashReport.postCatchedException(e); + stopAnim(); + ProgressDialog.dismiss(); } } + protected void onDestroy() { + super.onDestroy(); + nfcWreatActivity = null; + } } \ No newline at end of file -- Gitblit v1.8.0