From d09bdcac6830afaad6e277fb558c16d2aa6187a7 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期四, 14 十二月 2023 11:13:21 +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