From d9c886270d66782df9de5f6a7b877a269a273aa5 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期二, 12 十二月 2023 09:25:52 +0800 Subject: [PATCH] 卡标识设置添加选择器 --- app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java | 119 ++++++++++++++++++++++------------------------------------- 1 files changed, 45 insertions(+), 74 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..d902320 100644 --- a/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java +++ b/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java @@ -5,6 +5,7 @@ import android.os.Handler; import android.os.Message; import android.text.TextUtils; +import android.util.Log; import android.view.LayoutInflater; import android.widget.Toast; @@ -40,6 +41,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 +74,7 @@ boolean configPowerFlag = false; UserCardBean userCardBean; - + UserCard olduserCard; String morny; String userName; @@ -112,7 +114,6 @@ try { binding = ActivityWriteTextBinding.inflate(LayoutInflater.from(this)); setContentView(binding.getRoot()); - initView(); nfcWreatActivity = this; getData(); baseApp = (MyApplication) getApplication(); @@ -120,31 +121,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; - } - }); } @@ -215,37 +191,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).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,6 +220,7 @@ || configureDeviceRegistrationCrad != null || configurationPowerCard != null) { if (userCard != null && TextUtils.isEmpty(morny)) { + userFlag = WriteCardUtils.setUser(intent, userCard); } if (cleanCard != null) { @@ -290,11 +253,19 @@ //鐢ㄦ埛鍗� startDetailActivity(userCardBean.getUserName(), "鍚敤"); } else if (!TextUtils.isEmpty(morny)) { - NFCWreatActivity.this.finish(); - TipUtil.show("鍏呭�兼垚鍔�"); + TipUtil.show(NFCWreatActivity.this, "鍏呭�兼垚鍔�", new TipUtil.TipListener() { + @Override + public void onCancle() { + NFCWreatActivity.this.finish(); + } + }); } else { - NFCWreatActivity.this.finish(); - TipUtil.show("鍐欏崱鎴愬姛"); + TipUtil.show(NFCWreatActivity.this, "鍐欏崱鎴愬姛", new TipUtil.TipListener() { + @Override + public void onCancle() { + NFCWreatActivity.this.finish(); + } + }); } } catch (Exception e) { @@ -302,14 +273,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 +295,7 @@ try { this.intent = intent; startAnim(); + Log.i("NFCWreatActivity", "isUser:" + isUser); if (isUser) { checkHasUser(); } else if (isRecharge) { @@ -428,7 +396,7 @@ rechargeBean.setSerial(adminData.getSerial()); userCard.setRechargeDate(Calendar.getInstance()); - rechargeBean.setBalance(MornyUtil.changeF2Y(balance + MornyUtil.changeY2F(morny)) + ""); + rechargeBean.setBalance(MornyUtil.changeF2Y(balance)); rechargeBean.setInitPeasantCode(initPeasantCode); rechargeBean.setOrderID(orderId); try { @@ -610,16 +578,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()); @@ -647,8 +612,12 @@ //琛ュ崱閫昏緫 userFlag = WriteCardUtils.setUser(intent, userCard); 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)) { @@ -656,7 +625,6 @@ userCard.setState("01"); userCard.setBalance(balance); userFlag = WriteCardUtils.setUser(intent, userCard); - startDetailActivity(name, stateText.toString()); } else if ("02".equals(state)) { @@ -691,5 +659,8 @@ } } - + protected void onDestroy() { + super.onDestroy(); + nfcWreatActivity=null; + } } \ No newline at end of file -- Gitblit v1.8.0