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