From 439bc040c883cea666b32a11ef5dc28bb37bb03a Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期六, 11 五月 2024 14:26:26 +0800
Subject: [PATCH] 1.修复提示dialog不设置提示时默认提示不显示问题
---
qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivity.java | 255 +++++++++++++++++++++++++++++++++++---------------
1 files changed, 178 insertions(+), 77 deletions(-)
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivityQHAlone.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivity.java
similarity index 62%
rename from qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivityQHAlone.java
rename to qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivity.java
index 2d1e1a1..a03e0fb 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivityQHAlone.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivity.java
@@ -5,10 +5,11 @@
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
-import android.widget.Toast;
import com.dayu.baselibrary.utils.AidlUtil;
+import com.dayu.baselibrary.utils.BaseCommon;
import com.dayu.baselibrary.utils.DateUtil;
+import com.dayu.baselibrary.utils.MornyUtil;
import com.dayu.baselibrary.utils.TipUtil;
import com.dayu.qihealonelibrary.QHAloneApplication;
import com.dayu.qihealonelibrary.card.CleanCard;
@@ -16,7 +17,10 @@
import com.dayu.qihealonelibrary.card.ConfigurationPowerCard;
import com.dayu.qihealonelibrary.card.ConfigureDeviceRegistrationCrad;
import com.dayu.qihealonelibrary.card.DomainCard;
+import com.dayu.qihealonelibrary.card.ElectricPriceCard;
import com.dayu.qihealonelibrary.card.ManageCard;
+import com.dayu.qihealonelibrary.card.PassWordCard;
+import com.dayu.qihealonelibrary.card.RegionCard;
import com.dayu.qihealonelibrary.card.RegisteredCard;
import com.dayu.qihealonelibrary.card.TestCard;
import com.dayu.qihealonelibrary.card.UserCard;
@@ -30,16 +34,36 @@
import com.dayu.qihealonelibrary.utils.CardCommon;
import com.tencent.bugly.crashreport.CrashReport;
+import java.util.Calendar;
+
/**
* Copyright (C), 2023,
* Author: zuo
* Date: 2023-11-08 21:19
* Description: nfc鍐欏崱鐣岄潰
*/
-public class NFCWreatActivityQHAlone extends BaseNfcActivityQHAlone {
+public class NFCWreatActivity extends BaseNfcActivity {
+ RegisteredCard registeredCard;
+ CleanUserCard cleanUserCard;
+ ManageCard manageCard;
+ DomainCard domainCard;
+ CleanCard cleanCard;
+ ConfigureDeviceRegistrationCrad configureDeviceRegistrationCrad;
+ TestCard testCard;
+ //鍖哄煙琛ㄥ彿鍗�
+ RegionCard regionCard;
+ ConfigurationPowerCard configurationPowerCard;
+ //瀵嗙爜鍗�
+ PassWordCard passWordCard;
+ //鐢ㄦ埛鐢甸噺鍗曚环鍗�
+ ElectricPriceCard electricPriceCard;
+ UserCardBean userCardBeanByManager;
+ boolean electricPriceFlag = false;
+ boolean passwordFlag = false;
boolean cleanFlag = false;
+ boolean regionFlag = false;
boolean userFlag = false;
boolean manageCardFlag = false;
boolean registeredFlag = false;
@@ -64,20 +88,10 @@
Intent intent;
- RegisteredCard registeredCard;
- CleanUserCard cleanUserCard;
- ManageCard manageCard;
- DomainCard domainCard;
-
- CleanCard cleanCard;
- ConfigureDeviceRegistrationCrad configureDeviceRegistrationCrad;
- TestCard testCard;
-
- ConfigurationPowerCard configurationPowerCard;
//鎵撳嵃
QHAloneApplication baseApp;
- public static NFCWreatActivityQHAlone nfcWreatActivity;
+ public static NFCWreatActivity nfcWreatActivity;
/**
* 鏄惁鏄敤鎴峰崱锛屽亣濡傛槸鐢ㄦ埛鍗$殑璇濋渶瑕佹娴嬪崱鐗囨槸鍚﹀凡缁忓紑杩囨埛锛屽亣濡傚凡寮�鎴峰垯鎶ラ敊涓嶈兘鍐嶅啓鍗�
*/
@@ -85,9 +99,11 @@
//鏄惁鏄厖鍊艰繃绋�
boolean isRecharge = false;
- //鍏呭�奸�氫俊鏄惁瀹屾垚
- boolean rechargeIsOk = false;
+
ActivityWriteTextQhaBinding binding;
+
+ //褰撳墠鍗$殑鐗╃悊鍗″彿
+ String cardNumber;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -110,13 +126,24 @@
if (this.getIntent().hasExtra("userCard")) {
userCard = (UserCard) this.getIntent().getSerializableExtra("userCard");
}
+ if (this.getIntent().hasExtra("electricPriceCard")) {
+ electricPriceCard = (ElectricPriceCard) this.getIntent().getSerializableExtra("electricPriceCard");
+ binding.cardData.setText("鍒朵綔鐢ㄦ埛鐢甸噺鍗曚环鍗n褰撳墠鍗曚环锛�" + electricPriceCard.getElectricPrice().toString() + "鍏�");
+ }
+ if (this.getIntent().hasExtra("passWordCard")) {
+ passWordCard = (PassWordCard) this.getIntent().getSerializableExtra("passWordCard");
+ binding.cardData.setText("鍒朵綔瀵嗙爜鍗�");
+ }
if (this.getIntent().hasExtra("cleanCard")) {
cleanCard = (CleanCard) this.getIntent().getSerializableExtra("cleanCard");
binding.cardData.setText("鍒朵綔娓呴浂鍗�");
}
if (this.getIntent().hasExtra("manageCard")) {
manageCard = (ManageCard) this.getIntent().getSerializableExtra("manageCard");
- binding.cardData.setText("鍒朵綔绠$悊鍗�");
+ if (this.getIntent().hasExtra("userCardBean_manager")) {
+ userCardBeanByManager = (UserCardBean) this.getIntent().getSerializableExtra("userCardBean_manager");
+ }
+ binding.cardData.setText("鍒朵綔绠$悊鍗�(璇峰皢绠$悊鍗¤创鍦ㄨ澶囦笂)\n鐢ㄦ埛鍗″彿锛�" + manageCard.getUserCard());
}
if (this.getIntent().hasExtra("registeredCard")) {
registeredCard = (RegisteredCard) this.getIntent().getSerializableExtra("registeredCard");
@@ -146,14 +173,18 @@
configurationPowerCard = (ConfigurationPowerCard) this.getIntent().getSerializableExtra("configurationPowerCard");
binding.cardData.setText("鍒朵綔閰嶇疆姘存车鍔熺巼鍗�");
}
+ if (this.getIntent().hasExtra("regionCard")) {
+ regionCard = (RegionCard) this.getIntent().getSerializableExtra("regionCard");
+ binding.cardData.setText("鍒朵綔鍖哄煙琛ㄥ彿鍗�");
+ }
if (this.getIntent().hasExtra("morny")) {
- startAnim();
+ // 鍏呭�奸�昏緫
isRecharge = true;
morny = this.getIntent().getStringExtra("morny");
userName = this.getIntent().getStringExtra("userName");
+ cardNumber = this.getIntent().getStringExtra("cardNumber");
+ userCardBean = (UserCardBean) this.getIntent().getSerializableExtra("userCardBean");
binding.cardData.setText("鍏呭�奸噾棰濓細" + morny + "鍏�");
- // 鍏呭�奸�昏緫
-// recharge(userCard.getInitPeasantCode(), userName, "鍚敤");
}
try {
@@ -173,19 +204,33 @@
*/
private void checkHasUser() {
- String cardType = NfcReadHelper.getInstence(intent, this).getCradType();
- Log.i("NFCWreatActivity", "cardType=" + cardType);
- if (cardType.equals(CardCommon.USER_CARD_TYPE_1) ||
- cardType.equals(CardCommon.USER_CARD_TYPE_2) ||
- cardType.equals(CardCommon.USER_CARD_TYPE_3)
- ) {
- binding.textView.setText("璇ュ崱宸茬粡鍐欏叆鐢ㄦ埛淇℃伅锛岃鏇存崲鍗$墖");
- binding.textView.setTextColor(getResources().getColor(com.dayu.baselibrary.R.color.red));
- } else if (cardType.equals("-1")) {
- TipUtil.show(NFCWreatActivityQHAlone.this, "璇峰嬁绉诲姩鍗$墖锛岃鍗″け璐ヨ閲嶈瘯锛侊紒");
- } else {
- Log.i("NFCWreatActivity", "olduserCard!=null saveData");
- saveData();
+ try {
+ String cardType = NfcReadHelper.getInstence(intent, this).getCradTypeAndCardNumber();
+
+ String[] cardTypes = cardType.split(",");
+ if (cardTypes != null && cardTypes.length == 2) {
+ cardNumber = cardType.split(",")[0];
+ cardType = cardType.split(",")[1];
+ }
+ Log.i("NFCWreatActivity", "cardType=" + cardType);
+ if (cardType.equals(CardCommon.USER_CARD_TYPE_1) ||
+ cardType.equals(CardCommon.USER_CARD_TYPE_2) ||
+ cardType.equals(CardCommon.USER_CARD_TYPE_3)
+ ) {
+ binding.textView.setText("璇ュ崱宸茬粡鍐欏叆鐢ㄦ埛淇℃伅锛岃鏇存崲鍗$墖");
+ binding.textView.setTextColor(getResources().getColor(com.dayu.baselibrary.R.color.red));
+ } else if (cardType.equals(BaseCommon.CARD_TYPE_ERROR1)) {
+ TipUtil.show(NFCWreatActivity.this, "璇峰嬁绉诲姩鍗$墖锛岃鍗″け璐ヨ閲嶈瘯锛侊紒");
+ } else if (cardType.equals(BaseCommon.CARD_TYPE_ERROR2)) {
+ TipUtil.show(NFCWreatActivity.this, "鍗$墖鏈兘璇嗗埆锛岃妫�鏌ュ崱鐗囨槸鍚︽槸鏈叕鍙稿崱鐗�");
+ } else {
+ Log.i("NFCWreatActivity", "olduserCard!=null saveData");
+ userCardBean.setCardNumber(cardNumber);
+ baseDao.userCardDao().insert(userCardBean);
+ saveData();
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
}
stopAnim();
@@ -199,16 +244,29 @@
|| registeredCard != null || cleanUserCard != null
|| domainCard != null || testCard != null
|| configureDeviceRegistrationCrad != null
- || configurationPowerCard != null) {
+ || configurationPowerCard != null || regionCard != null || passWordCard != null || electricPriceCard != null) {
if (userCard != null && TextUtils.isEmpty(morny)) {
-
userFlag = WriteCardUtils.setUser(intent, userCard, this);
+ }
+ if (electricPriceCard != null) {
+ setElectricPriceCard(intent, electricPriceCard);
+ }
+ if (passWordCard != null) {
+ setPassWordCard(intent, passWordCard);
+ }
+ if (regionCard != null) {
+ setRegionCard(intent, regionCard);
}
if (cleanCard != null) {
setClean(intent, cleanCard);
}
if (manageCard != null) {
setmanageCard(intent, manageCard);
+ if (manageCardFlag && userCardBeanByManager != null) {
+ //淇敼鐢ㄦ埛琛ㄤ俊鎭�
+ userCardBeanByManager.setCardNumber(manageCard.getUserCard());
+ baseDao.userCardDao().update(userCardBeanByManager);
+ }
}
if (registeredCard != null) {
setRegisteredCard(intent, registeredCard);
@@ -228,15 +286,15 @@
if (configurationPowerCard != null) {
setConfigurationPower(intent, configurationPowerCard);
}
- if ((configPowerFlag || configDeviceRegiestFlag || testCardFlag || domainCrdFlag || userFlag || cleanFlag || manageCardFlag || registeredFlag || administrativeCardFlag || cleanUserCardFlag)) {
+ if (electricPriceFlag || passwordFlag || regionFlag || configPowerFlag || configDeviceRegiestFlag || testCardFlag || domainCrdFlag || userFlag || cleanFlag || manageCardFlag || registeredFlag || administrativeCardFlag || cleanUserCardFlag) {
try {
if (userFlag && userCardBean != null) {
//鐢ㄦ埛鍗�
- startDetailActivity(userCardBean.getUserName(), "鍚敤");
+ startDetailActivity(userCardBean.getUserName(), "缁堢鍐欏崱");
} else if (!TextUtils.isEmpty(morny)) {
- TipUtil.show(NFCWreatActivityQHAlone.this, "鍏呭�兼垚鍔�", () -> NFCWreatActivityQHAlone.this.finish());
+ TipUtil.show(NFCWreatActivity.this, "鍏呭�兼垚鍔�", () -> NFCWreatActivity.this.finish());
} else {
- TipUtil.show(NFCWreatActivityQHAlone.this, "鍐欏崱鎴愬姛", () -> NFCWreatActivityQHAlone.this.finish());
+ TipUtil.show(NFCWreatActivity.this, "鍐欏崱鎴愬姛", () -> NFCWreatActivity.this.finish());
}
} catch (Exception e) {
@@ -244,7 +302,7 @@
CrashReport.postCatchedException(e);
}
} else {
- TipUtil.show(NFCWreatActivityQHAlone.this, "鍐欏崱澶辫触");
+ TipUtil.show(NFCWreatActivity.this, "鍐欏崱澶辫触");
}
stopAnim();
} else if (userCard == null && userCardBean != null) {
@@ -265,18 +323,16 @@
super.onNewIntent(intent);
try {
this.intent = intent;
- startAnim();
+// startAnim();
Log.i("NFCWreatActivity", "isUser:" + isUser);
if (isUser) {
+ //鏂板崱娉ㄥ唽閫昏緫
checkHasUser();
} else if (isRecharge) {
- if (rechargeIsOk) {
- rechargeWrratCard();
- } else {
- Toast.makeText(this, "姝e湪閫氫俊璇风◢鍚�", Toast.LENGTH_SHORT).show();
- }
-
+ //鍏呭�奸�昏緫
+ rechargeWreatCard();
} else {
+ //鍏朵粬绠$悊鍗¢�昏緫
saveData();
}
} catch (Exception e) {
@@ -299,20 +355,19 @@
data.append(getResources().getString(com.dayu.baselibrary.R.string.login_title) + "\n");
data.append("璁惧搴忓垪鍙凤細" + rechargeBean.getSerial() + "\n");
data.append("鐢ㄦ埛鍚嶏細" + rechargeBean.getUserName() + "\n");
- // data.append("鎴� 鍙凤細" + rechargeBean.getUserNum() + "\n");
+ data.append("鍗� 鍙凤細" + rechargeBean.getCardNumber() + "\n");
data.append("鍏呭�奸噾棰濓細" + rechargeBean.getMorny() + "鍏�" + "\n");
data.append("鍗″唴浣欓锛�" + rechargeBean.getBalance() + "鍏�" + "\n");
data.append("鏃� 鏈燂細" + DateUtil.dateToStamp(rechargeBean.getDate(), DateUtil.type2) + "\n\n");
data.append("*****************************");
}
-
float size = 26;
try {
AidlUtil.getInstance().printText(data.toString(), size, true, false);
AidlUtil.getInstance().print3Line();
} catch (Exception e) {
- e.printStackTrace();
+ e.printStackTrace();
}
} catch (Exception e) {
@@ -332,32 +387,47 @@
}
-
//寰�鍗″唴鍐欏厖鍊煎悗鐨勬暟鎹�
- private void rechargeWrratCard() {
- UserCard userCardold = NfcReadHelper.getInstence(intent, this).getUserCardData();
- if (userCardold != null) {
- //鍒ゆ柇鏄惁鍏呭�肩殑鏄竴涓崱
-// 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, "璇诲彇鐨勫崱鍜屽厖鍊肩殑鍗′笉涓�鑷�");
-// }
+ private void rechargeWreatCard() {
+ String cardNumberThis = NfcReadHelper.getInstence(intent, this).getCardNumber();
+ //鍒ゆ柇鏄惁鍏呭�肩殑鏄竴涓崱
+ if (cardNumberThis.equalsIgnoreCase(cardNumber)) {
+ int balance = userCard.getBalance() + MornyUtil.changeY2F(morny);
+ userCard.setBalance(balance);
+ int rechageTims = userCard.getRechargeTimes() + 1;
+ if (rechageTims == 256) {
+ rechageTims = 0;
+ }
+ userCard.setRechargeTimes((short) rechageTims);
+ userCard.setRechargeDate(Calendar.getInstance());
+ userFlag = WriteCardUtils.setUser(intent, userCard, this);
+ if (userFlag) {
+ rechargeBean = new RechargeBean();
+ rechargeBean.setUserName(userName);
+ rechargeBean.setSerial(userCardBean.getSerial());
+ rechargeBean.setUserId(userCardBean.getUserID());
+ rechargeBean.setDate(System.currentTimeMillis());
+ rechargeBean.setMorny(morny);
+ rechargeBean.setBalance(MornyUtil.changeF2Y(balance));
+ rechargeBean.setCardNumber(cardNumber);
+ try {
+ baseDao.rechargeDao().insert(rechargeBean);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ // 鎵撳嵃鐩稿叧
+ setPrinterData(rechargeBean);
+ startDetailActivity(userName, "缁堢鍐欏崱");
+ } else {
+ TipUtil.show(NFCWreatActivity.this, "鍐欏崱澶辫触锛岃閲嶆柊鍐嶈瘯");
+ }
} else {
-
+ TipUtil.show(NFCWreatActivity.this, "璇诲彇鐨勫崱鍜屽厖鍊肩殑鍗′笉涓�鑷�");
}
}
private void setmanageCard(Intent intent, final ManageCard manageCard) {
- manageCardFlag = NFCWriteHelper.getInstence(intent, this).writeData(manageCard.toZeroByte(baseDao), 1, 0);
+ manageCardFlag = NFCWriteHelper.getInstence(intent, this).writeData(manageCard.toByte(baseDao), 1, 0);
}
/**
@@ -366,10 +436,39 @@
* @param intent
* @param clearOrInitCard
*/
- private void setClean(Intent intent, final CleanCard clearOrInitCard) {
+ private void setClean(Intent intent, CleanCard clearOrInitCard) {
cleanFlag = NFCWriteHelper.getInstence(intent, this).writeData(clearOrInitCard.toByte(baseDao), 1, 0);
}
+ /**
+ * 淇濆瓨鍖哄煙琛ㄥ彿鍗�
+ *
+ * @param intent
+ * @param regionCard
+ */
+ private void setRegionCard(Intent intent, RegionCard regionCard) {
+ regionFlag = NFCWriteHelper.getInstence(intent, this).writeData(regionCard.toByte(), 1, 0);
+ }
+
+ /**
+ * 瀵嗙爜鍗�
+ *
+ * @param intent
+ * @param passWordCard
+ */
+ private void setPassWordCard(Intent intent, PassWordCard passWordCard) {
+ passwordFlag = NFCWriteHelper.getInstence(intent, this).writeData(passWordCard.toByte(baseDao), 1, 0);
+ }
+
+ /**
+ * 鐢ㄦ埛鐢甸噺鍗曚环
+ *
+ * @param intent
+ * @param electricPriceCard
+ */
+ private void setElectricPriceCard(Intent intent, ElectricPriceCard electricPriceCard) {
+ electricPriceFlag = NFCWriteHelper.getInstence(intent, this).writeData(electricPriceCard.toByte(baseDao), 1, 0);
+ }
/**
* 閲嶆柊娉ㄥ唽璁惧鍗�
@@ -434,23 +533,25 @@
private void startDetailActivity(String userName, String statu) {
- Intent detail = new Intent(this, RechargeDetail.class);
+ Intent detail = new Intent(this, RechargeDetailActivity.class);
detail.putExtra("userName", userName);
detail.putExtra("statu", statu);
detail.putExtra("userCard", userCard);
if (!TextUtils.isEmpty(morny)) {
detail.putExtra("morny", morny);
}
+ if (!TextUtils.isEmpty(cardNumber)) {
+ detail.putExtra("cardNumber", cardNumber);
+ }
startActivity(detail);
- if (NewCardActivityQHAlone.newCardActivity != null) {
- NewCardActivityQHAlone.newCardActivity.finish();
+ if (NewCardActivity.newCardActivity != null) {
+ NewCardActivity.newCardActivity.finish();
}
- if (RechargeActivityQHAlone.rechargeActivity != null) {
- RechargeActivityQHAlone.rechargeActivity.finish();
+ if (RechargeActivity.rechargeActivity != null) {
+ RechargeActivity.rechargeActivity.finish();
}
- NFCWreatActivityQHAlone.nfcWreatActivity.finish();
+ NFCWreatActivity.nfcWreatActivity.finish();
}
-
protected void onDestroy() {
--
Gitblit v1.8.0