From b6779014ad6b2627d0a7e4d170d918d001fc03db Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期三, 08 五月 2024 10:44:01 +0800 Subject: [PATCH] 1.修复16进制低位在前高位在后转换成10进制时的bug 2.完成充值相关功能 3.优化导出记录相关信息 --- qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/RechargeActivity.java | 112 ++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 96 insertions(+), 16 deletions(-) diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/RechargeActivity.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/RechargeActivity.java index d8e842f..6174ea1 100644 --- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/RechargeActivity.java +++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/RechargeActivity.java @@ -6,15 +6,23 @@ import android.text.TextUtils; import android.text.TextWatcher; import android.view.LayoutInflater; +import android.view.View; import android.widget.EditText; +import com.dayu.baselibrary.utils.MornyUtil; import com.dayu.baselibrary.utils.TipUtil; +import com.dayu.qihealonelibrary.card.UserCard; import com.dayu.qihealonelibrary.databinding.ActivityRechargeQhaBinding; import com.dayu.qihealonelibrary.dbBean.AdminDataBean; +import com.dayu.qihealonelibrary.dbBean.UserCardBean; import com.dayu.qihealonelibrary.tools.NfcReadHelper; +import com.dayu.qihealonelibrary.utils.CardCommon; import com.dayu.qihealonelibrary.utils.DeviceNumberUtils; import com.dayu.qihealonelibrary.view.ProgressDialog; import com.tencent.bugly.crashreport.CrashReport; + +import java.util.Calendar; +import java.util.List; /** @@ -32,6 +40,8 @@ AdminDataBean adminData; String userName; + String cardNumber = null; + UserCardBean userCardBean; @Override protected void onCreate(Bundle savedInstanceState) { @@ -49,24 +59,96 @@ } public void onNewIntent(Intent intent) { - + this.intent = intent; try { - this.intent = intent; - userCard = NfcReadHelper.getInstence(intent, this).getUserCardData(); - if (userCard != null) { - ProgressDialog.show(this); -// selectBalance(userCard.getInitPeasantCode()); - } else { - TipUtil.show(RechargeActivity.this, "鍗$墖璇诲彇澶辫触"); - } - -// readAllData(intent); + readAllData(); } catch (Exception e) { e.printStackTrace(); CrashReport.postCatchedException(e); } super.onNewIntent(intent); } + + + private void readAllData() { + 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]; + } + List<byte[]> data = NfcReadHelper.getInstence(intent, this).getOnesectorData(); + + if (!data.isEmpty()) { + if (!TextUtils.isEmpty(cardNumber)) { + setUserData(cardType, cardNumber, data); + } else { + TipUtil.show(this, "璇诲彇鍗$墖澶辫触锛岃閲嶆柊璐村崱"); + } + } else { + TipUtil.show(this, "鍗$墖璇嗗埆閿欒,璇烽噸璇曪紒"); + } + } + + + private void setUserData(String cardType, String cardNumber, List<byte[]> data) { + + + String state = ""; + if (cardType.equalsIgnoreCase(CardCommon.USER_CARD_TYPE_1)) { + state = "缁堢鍐欏崱"; + } else if (cardType.equalsIgnoreCase(CardCommon.USER_CARD_TYPE_2)) { + state = "鍒峰崱寮�娉靛悗,褰撳墠鐘舵�佷笉鑳藉厖鍊�"; + binding.rechargeLL.setVisibility(View.GONE); + } else if (cardType.equalsIgnoreCase(CardCommon.USER_CARD_TYPE_3)) { + state = "鍙犲姞鍏呭��"; + binding.rechargeLL.setVisibility(View.GONE); + } else { + TipUtil.show(this, "闈炵敤鎴峰崱锛屼笉鑳藉厖鍊�"); + return; + } + userCard = UserCard.getBean(data); + List<UserCardBean> userCardBeans = baseDao.userCardDao().findUserName(cardNumber); + AdminDataBean adminDataBean = baseDao.adminDao().findFirst(); + if (!userCardBeans.isEmpty()){ + userCardBean = userCardBeans.get(0); + if (adminDataBean.addressCode.equalsIgnoreCase(String.valueOf(userCard.getArerNumber()))) { + this.userName = userCardBean.getUserName(); + binding.rechargeReadLL.setVisibility(View.GONE); + binding.rechargeTextLL.setVisibility(View.VISIBLE); + binding.rechargeRegistBtn.setVisibility(View.VISIBLE); + binding.userName.setText(userName); + binding.redStatu.setText(state); + if (userCard != null) { + Calendar calendar = userCard.getRechargeDate(); + if (calendar != null) { + int year = calendar.get(Calendar.YEAR); + int month = calendar.get(Calendar.MONTH); // 鏈堜唤浠�0寮�濮嬶紝鎵�浠ラ渶瑕佸姞1 + int day = calendar.get(Calendar.DAY_OF_MONTH); + binding.redRechargeDate.setText("鏈崱鏈�鍚庤喘姘存棩鏈燂細" + year + "骞�" + month + "鏈�" + day + "鏃�"); + } else { + binding.redRechargeDate.setText("鏈崱鏈�鍚庤喘姘存棩鏈燂細鏃�"); + } + binding.redInitCode.setText(cardNumber); + binding.redRechargeNumber.setText("鏈崱鍏呭�兼鏁帮細" + userCard.getRechargeTimes() + ""); + binding.redTotalWater.setText("鎬荤敤姘撮噺锛�" + userCard.getTotalWater()); + binding.redTotalPower.setText("鎬荤敤鐢甸噺锛�" + userCard.getTotalElectric()); + binding.redRemainderBlance.setText(MornyUtil.changeF2Y(userCard.getBalance()) + "鍏�"); + binding.redRemainderWater.setText("鍓╀綑姘撮噺锛�" + userCard.getSurplusWater()); + } + + } else { + TipUtil.show(this, "涓嶆槸鏈尯鍩熷崱"); + } + }else { + TipUtil.show(this, "鏈煡璇㈠埌璇ュ崱鐢ㄦ埛淇℃伅"); + } + + + + } + private void initView() { try { @@ -78,15 +160,13 @@ binding.rechargeRegistBtn.setOnClickListener(v -> { String morny = binding.rechargeWater.getText().toString(); if (!TextUtils.isEmpty(morny)) { - String initCode = DeviceNumberUtils.getDeviceNumber(); - if (TextUtils.isEmpty(initCode)) { - TipUtil.show(RechargeActivity.this, "璁惧娉ㄥ唽鍙蜂负绌猴紝璇峰厛璁剧疆IP鍜岀鐞嗗憳鍦板潃"); - return; - } Intent intent = new Intent(RechargeActivity.this, NFCWreatActivity.class); + //褰撳墠閲戦鍗曚綅涓哄厓 intent.putExtra("morny", morny); intent.putExtra("userName", userName); + intent.putExtra("cardNumber", cardNumber); intent.putExtra("userCard", userCard); + intent.putExtra("userCardBean", userCardBean); startActivity(intent); } else { TipUtil.show(RechargeActivity.this, "璇疯緭鍏ュ厖鍊奸噾棰濓紙鍏冿級"); -- Gitblit v1.8.0