From 844597b5813ff8589de503cd7d7b1bbd0586d287 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期一, 13 五月 2024 19:38:03 +0800 Subject: [PATCH] 1.添加水量单价 2.修复发现的bug --- qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivity.java | 185 +++++++++++++++++++++++++++++++++++----------- 1 files changed, 141 insertions(+), 44 deletions(-) diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivity.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivity.java index 59d571b..554d672 100644 --- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivity.java +++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivity.java @@ -1,16 +1,15 @@ package com.dayu.qihealonelibrary.activity; import android.content.Intent; -import android.content.res.Resources; import android.os.Bundle; 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; @@ -18,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; @@ -32,6 +34,8 @@ import com.dayu.qihealonelibrary.utils.CardCommon; import com.tencent.bugly.crashreport.CrashReport; +import java.util.Calendar; + /** * Copyright (C), 2023, * Author: zuo @@ -40,8 +44,26 @@ */ 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; @@ -60,22 +82,13 @@ UserCard olduserCard; String morny; + String rechageWater;//鍏呭�肩殑姘撮噺 String userName; AdminDataBean adminData; RechargeBean rechargeBean; Intent intent; - RegisteredCard registeredCard; - CleanUserCard cleanUserCard; - ManageCard manageCard; - DomainCard domainCard; - - CleanCard cleanCard; - ConfigureDeviceRegistrationCrad configureDeviceRegistrationCrad; - TestCard testCard; - - ConfigurationPowerCard configurationPowerCard; //鎵撳嵃 QHAloneApplication baseApp; @@ -114,13 +127,25 @@ 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"); @@ -150,14 +175,19 @@ 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"); - binding.cardData.setText("鍏呭�奸噾棰濓細" + morny + "鍏�"); - // 鍏呭�奸�昏緫 -// recharge(userCard.getInitPeasantCode(), userName, "鍚敤"); + cardNumber = this.getIntent().getStringExtra("cardNumber"); + userCardBean = (UserCardBean) this.getIntent().getSerializableExtra("userCardBean"); + rechageWater = this.getIntent().getStringExtra("rechageWater"); + binding.cardData.setText("鍏呭�奸噾棰濓細" + morny + " 鍏僜n鍏呭�兼按閲忥細" + rechageWater + " 绔嬫柟绫筹紙鍚級"); } try { @@ -217,15 +247,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); @@ -245,11 +289,11 @@ 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(NFCWreatActivity.this, "鍏呭�兼垚鍔�", () -> NFCWreatActivity.this.finish()); } else { @@ -282,14 +326,14 @@ super.onNewIntent(intent); try { this.intent = intent; - startAnim(); +// startAnim(); Log.i("NFCWreatActivity", "isUser:" + isUser); if (isUser) { //鏂板崱娉ㄥ唽閫昏緫 checkHasUser(); } else if (isRecharge) { //鍏呭�奸�昏緫 - rechargeWrratCard(); + rechargeWreatCard(); } else { //鍏朵粬绠$悊鍗¢�昏緫 saveData(); @@ -314,13 +358,12 @@ 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 { @@ -348,30 +391,53 @@ //寰�鍗″唴鍐欏厖鍊煎悗鐨勬暟鎹� - 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, "璇诲彇鐨勫崱鍜屽厖鍊肩殑鍗′笉涓�鑷�"); -// } - } else { + 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 surplusWater = userCard.getSurplusWater() + MornyUtil.changeY2F(rechageWater); + userCard.setSurplusWater(surplusWater); + 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); + rechargeBean.setSurplusWater(MornyUtil.changeF2Y(surplusWater)); + rechargeBean.setRechargeWater(rechageWater); + 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); } /** @@ -380,10 +446,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); + } /** * 閲嶆柊娉ㄥ唽璁惧鍗� @@ -454,10 +549,12 @@ detail.putExtra("userCard", userCard); if (!TextUtils.isEmpty(morny)) { detail.putExtra("morny", morny); + detail.putExtra("rechageWater", rechageWater); } if (!TextUtils.isEmpty(cardNumber)) { detail.putExtra("cardNumber", cardNumber); } + startActivity(detail); if (NewCardActivity.newCardActivity != null) { NewCardActivity.newCardActivity.finish(); -- Gitblit v1.8.0