From d08a5a6d062f1568aaeb14d2d72357826291ef97 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期六, 13 七月 2024 18:14:28 +0800 Subject: [PATCH] 添加齐河管理卡相关逻辑 修复bug --- qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ReadCardAcitivy.java | 80 +++++++++++++++++++++++++++++---------- 1 files changed, 59 insertions(+), 21 deletions(-) diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ReadCardAcitivy.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ReadCardAcitivy.java index 7d955f6..1132551 100644 --- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ReadCardAcitivy.java +++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ReadCardAcitivy.java @@ -10,14 +10,19 @@ import com.dayu.baselibrary.tools.HexUtil; import com.dayu.baselibrary.utils.MornyUtil; import com.dayu.baselibrary.utils.TipUtil; +import com.dayu.baselibrary.view.ConfirmDialog; import com.dayu.qihealonelibrary.card.BlackCard; import com.dayu.qihealonelibrary.card.ConfigurationPowerCard; import com.dayu.qihealonelibrary.card.DomainCard; import com.dayu.qihealonelibrary.card.ElectricPriceCard; +import com.dayu.qihealonelibrary.card.ManageCard; +import com.dayu.qihealonelibrary.card.ManagerToUserCard; import com.dayu.qihealonelibrary.card.RegionCard; import com.dayu.qihealonelibrary.card.UserCard; import com.dayu.qihealonelibrary.databinding.ActivityRedCardQhaBinding; +import com.dayu.qihealonelibrary.dbBean.AdminDataBean; import com.dayu.qihealonelibrary.dbBean.UserCardBean; +import com.dayu.qihealonelibrary.tools.NFCWriteHelper; import com.dayu.qihealonelibrary.tools.NfcReadHelper; import com.dayu.qihealonelibrary.utils.CardCommon; import com.dayu.qihealonelibrary.view.ProgressDialog; @@ -38,7 +43,10 @@ Intent intent; - + ConfirmDialog confirmDialog; + AdminDataBean adminData; + String cardNumber; + String userCardStr; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -62,11 +70,11 @@ redCardBinding.redRechargeDate.setText("鏈崱鏈�鍚庤喘姘存棩鏈燂細鏃�"); } redCardBinding.redInitCode.setText(cardNumber); - redCardBinding.redRechargeNumber.setText("鏈崱鍏呭�兼鏁帮細" + userCard.getRechargeTimes() + ""); - redCardBinding.redTotalWater.setText("鎬荤敤姘撮噺锛�" + userCard.getTotalWater()); - redCardBinding.redTotalPower.setText("鎬荤敤鐢甸噺锛�" + userCard.getTotalElectric()); - redCardBinding.redRemainderBlance.setText("鍓╀綑閲戦锛�" + MornyUtil.changeF2Y(userCard.getBalance()) + "鍏�"); - redCardBinding.redRemainderWater.setText("鍓╀綑姘撮噺锛�" + userCard.getSurplusWater()); + redCardBinding.redRechargeNumber.setText("鏈崱鍏呭�兼鏁帮細" + userCard.getRechargeTimes() + " 娆�"); +// redCardBinding.redTotalWater.setText("鎬荤敤姘撮噺锛�" + MornyUtil.changeF2Y(userCard.getTotalWater()) + " 鍚�"); +// redCardBinding.redTotalPower.setText("鎬荤敤鐢甸噺锛�" + MornyUtil.changeF2Y(userCard.getTotalElectric()) + " 搴�"); + redCardBinding.redRemainderBlance.setText("鍓╀綑閲戦锛�" + MornyUtil.changeF2Y(userCard.getBalance()) + " 鍏�"); +// redCardBinding.redRemainderWater.setText("鍓╀綑姘撮噺锛�" + MornyUtil.changeF2Y(userCard.getSurplusWater()) + " 鍚�"); } } @@ -89,10 +97,12 @@ String cardType = NfcReadHelper.getInstence(intent, this).getCradTypeAndCardNumber(); - String cardNumber = null; + String[] cardTypes = cardType.split(","); if (cardTypes != null && cardTypes.length == 2) { cardNumber = cardType.split(",")[0]; + cardNumber = HexUtil.spaceHex(cardNumber); + cardNumber = HexUtil.HighLowHex(cardNumber); cardType = cardType.split(",")[1]; } List<byte[]> data = NfcReadHelper.getInstence(intent, this).getOnesectorData(); @@ -126,27 +136,59 @@ TipUtil.show("鍗$墖璇嗗埆閿欒,璇烽噸璇曪紒"); } - stopAnim(); break; - case CardCommon.MANAGE_CRAD: + case CardCommon.MANAGE_CRAD://绠$悊鍗� + ManageCard manageCard = ManageCard.getBean(data); viweGone(false); - redCardBinding.readCardTypeTV.setText("褰撳墠涓虹鐞嗗崱"); - stopAnim(); + userCardStr = manageCard.getUserCard().toUpperCase(); + userCardStr = HexUtil.spaceHex(userCardStr); + userCardStr = HexUtil.HighLowHex(userCardStr); + redCardBinding.readCardTypeTV.setText("褰撳墠涓虹鐞嗗崱" + "\n\n" + + "鍘熷鍗″彿锛�" + userCard); + if (manageCard.getType()==(byte) 1){ + //褰�01鏃跺皢1鎵囧尯0鍧楀師绠$悊鍗′俊鎭敼鎴愮敤鎴峰崱鍐呭 + confirmDialog=new ConfirmDialog(this, "鏄惁纭琛ュ崱锛岃鍗″皢鎴愪负鏂扮敤鎴峰崱锛熷苟涓斾笉瑕佺Щ鍔ㄥ崱鐗�", new View.OnClickListener() { + @Override + public void onClick(View v) { + ProgressDialog.show(ReadCardAcitivy.this); + try { + confirmDialog.dismiss(); + + List<UserCardBean> userCardBeans = baseDao.userCardDao().findUserName(userCardStr); + if (userCardBeans != null && !userCardBeans.isEmpty()) { + UserCardBean userName = userCardBeans.get(0); + userName.setCardNumber(cardNumber); + baseDao.userCardDao().update(userName); + } + + NFCWriteHelper nfcWriteHelper= NFCWriteHelper.getInstence(intent,ReadCardAcitivy.this); + adminData = baseDao.adminDao().findFirst(); + ManagerToUserCard managerToUserCard=new ManagerToUserCard(); + managerToUserCard.setArerNumber(Integer.valueOf(adminData.getSerial())); + managerToUserCard.setDeviceNumberl(Integer.valueOf(adminData.getAddressCode())); + managerToUserCard.setTotalElectric(manageCard.getTotalElectric()); + nfcWriteHelper.writeData(managerToUserCard.getZeroBytes(),1,0); + TipUtil.show(ReadCardAcitivy.this, "琛ュ崱鎴愬姛", () -> ReadCardAcitivy.this.finish()); + } catch (Exception e) { + e.printStackTrace(); + } + stopAnim(); + } + }); + confirmDialog.show(); + } break; case CardCommon.CLEAN_CARD_TYPE: viweGone(false); redCardBinding.readCardTypeTV.setText("褰撳墠涓烘竻闆跺崱"); - stopAnim(); break; case CardCommon.REGISTERED_CARD_TYPE: viweGone(false); redCardBinding.readCardTypeTV.setText("褰撳墠涓洪噸鏂版敞鍐岃澶囧崱"); - stopAnim(); break; case CardCommon.CLEAN_ALL_USER_CARD_TYPE: viweGone(false); redCardBinding.readCardTypeTV.setText("褰撳墠涓哄垹闄ゅ叏閮ㄧ敤鎴峰崱"); - stopAnim(); break; case CardCommon.DOMAIN_CARD_TYPE: viweGone(false); @@ -158,17 +200,14 @@ } else { TipUtil.show("鍗$墖璇嗗埆閿欒,璇烽噸璇曪紒"); } - stopAnim(); break; case CardCommon.TEST_CARD_TYPE: viweGone(false); redCardBinding.readCardTypeTV.setText("褰撳墠涓烘祴璇曞崱"); - stopAnim(); break; case CardCommon.CONFIGURATION_CARD_TYPE: viweGone(false); redCardBinding.readCardTypeTV.setText("褰撳墠涓洪厤缃澶囨敞鍐屼俊鎭崱"); - stopAnim(); break; case CardCommon.CONFIGURATION_POWER_CARD_TYPE: viweGone(false); @@ -179,7 +218,6 @@ } else { TipUtil.show("鍗$墖璇嗗埆閿欒,璇烽噸璇曪紒"); } - stopAnim(); break; case CardCommon.BLACK: viweGone(false); @@ -207,7 +245,8 @@ if (!data.isEmpty()) { ElectricPriceCard electricPriceCard = ElectricPriceCard.getBean(data); StringBuilder electricPriceBuilder = new StringBuilder(); - electricPriceBuilder.append("鐢甸噺鍗曚环锛�").append(electricPriceCard.getElectricPrice()).append("\n"); + electricPriceBuilder.append("鐢甸噺鍗曚环锛�").append(electricPriceCard.getElectricPrice()); + electricPriceBuilder.append("鍏�"); redCardBinding.readCardDataTV.setText(electricPriceBuilder.toString()); } else { TipUtil.show("鍗$墖璇嗗埆閿欒,璇烽噸璇曪紒"); @@ -215,10 +254,9 @@ break; default: TipUtil.show(ReadCardAcitivy.this, "鍗$墖鏃犳硶璇嗗埆"); - stopAnim(); break; } - + stopAnim(); } -- Gitblit v1.8.0