From d5adf9f2e2b02baaebf1c5c673ca4a4899f1db5f Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期二, 14 五月 2024 14:01:14 +0800
Subject: [PATCH] 1.隐藏一些不需要的信息 2.将卡号倒序显示,但是制作管理卡时正序写入。

---
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivity.java |  146 ++++++++++++++++++++++++++++++++++--------------
 1 files changed, 103 insertions(+), 43 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 554d672..f1ebcf4 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivity.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivity.java
@@ -4,13 +4,18 @@
 import android.os.Bundle;
 import android.text.TextUtils;
 import android.util.Log;
+import android.view.KeyEvent;
 import android.view.LayoutInflater;
+import android.view.View;
 
+import com.dayu.baselibrary.tools.HexUtil;
 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.baselibrary.view.ConfirmDialog;
+import com.dayu.baselibrary.view.TitleBar;
 import com.dayu.qihealonelibrary.QHAloneApplication;
 import com.dayu.qihealonelibrary.card.CleanCard;
 import com.dayu.qihealonelibrary.card.CleanUserCard;
@@ -105,6 +110,7 @@
 
     //褰撳墠鍗$殑鐗╃悊鍗″彿
     String cardNumber;
+    ConfirmDialog confirmDialog;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -114,6 +120,7 @@
             setContentView(binding.getRoot());
             nfcWreatActivity = this;
             getData();
+            titleBack();
             baseApp = QHAloneApplication.getInstance();
         } catch (Exception e) {
             e.printStackTrace();
@@ -141,11 +148,15 @@
                 binding.cardData.setText("鍒朵綔娓呴浂鍗�");
             }
             if (this.getIntent().hasExtra("manageCard")) {
+                cardNumber = this.getIntent().getStringExtra("cardNumber");
                 manageCard = (ManageCard) this.getIntent().getSerializableExtra("manageCard");
                 if (this.getIntent().hasExtra("userCardBean_manager")) {
                     userCardBeanByManager = (UserCardBean) this.getIntent().getSerializableExtra("userCardBean_manager");
                 }
-                binding.cardData.setText("鍒朵綔绠$悊鍗�(璇峰皢绠$悊鍗¤创鍦ㄨ澶囦笂)\n鐢ㄦ埛鍗″彿锛�" + manageCard.getUserCard());
+                //鏄剧ず鐨勬椂鍊欒鍙嶈繃鏉�
+                String hex = HexUtil.spaceHex(manageCard.getUserCard());
+                hex = HexUtil.HighLowHex(hex);
+                binding.cardData.setText("鍒朵綔绠$悊鍗�(璇峰皢绠$悊鍗¤创鍦ㄨ澶囦笂)\n鐢ㄦ埛鍗″彿锛�" + hex);
             }
             if (this.getIntent().hasExtra("registeredCard")) {
                 registeredCard = (RegisteredCard) this.getIntent().getSerializableExtra("registeredCard");
@@ -213,6 +224,8 @@
             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];
             }
             Log.i("NFCWreatActivity", "cardType=" + cardType);
@@ -266,8 +279,8 @@
                 if (manageCard != null) {
                     setmanageCard(intent, manageCard);
                     if (manageCardFlag && userCardBeanByManager != null) {
-                        //淇敼鐢ㄦ埛琛ㄤ俊鎭�
-                        userCardBeanByManager.setCardNumber(manageCard.getUserCard());
+                        //淇敼鐢ㄦ埛琛ㄤ俊鎭慨鏀规垚鏂板崱鍗″彿
+                        userCardBeanByManager.setCardNumber(cardNumber);
                         baseDao.userCardDao().update(userCardBeanByManager);
                     }
                 }
@@ -355,12 +368,14 @@
             StringBuffer data = new StringBuffer();
             if (rechargeBean != null) {
                 data.append("*****************************" + "\n");
-                data.append(getResources().getString(com.dayu.baselibrary.R.string.login_title) + "\n");
+                data.append("           澶х鑺傛按\n       鏅鸿兘鍏呭�肩鐞嗙郴缁�" + "\n");
                 data.append("璁惧搴忓垪鍙凤細" + rechargeBean.getSerial() + "\n");
                 data.append("鐢ㄦ埛鍚嶏細" + rechargeBean.getUserName() + "\n");
                 data.append("鍗�  鍙凤細" + rechargeBean.getCardNumber() + "\n");
-                data.append("鍏呭�奸噾棰濓細" + rechargeBean.getMorny() + "鍏�" + "\n");
-                data.append("鍗″唴浣欓锛�" + rechargeBean.getBalance() + "鍏�" + "\n");
+                data.append("鍏呭�奸噾棰濓細" + rechargeBean.getMorny() + " 鍏�" + "\n");
+//                data.append("鍗″唴浣欓锛�" + rechargeBean.getBalance() + " 鍏�" + "\n");
+                data.append("鍏呭�兼按閲忥細" + rechargeBean.getRechargeWater() + " 鍚�" + "\n");
+                data.append("鍓╀綑姘撮噺锛�" + rechargeBean.getSurplusWater() + " 鍚�" + "\n");
                 data.append("鏃�  鏈燂細" + DateUtil.dateToStamp(rechargeBean.getDate(), DateUtil.type2) + "\n\n");
                 data.append("*****************************");
             }
@@ -392,47 +407,53 @@
 
     //寰�鍗″唴鍐欏厖鍊煎悗鐨勬暟鎹�
     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);
+        try {
+            String cardNumberThis = NfcReadHelper.getInstence(intent, this).getCardNumber();
+            cardNumberThis = HexUtil.spaceHex(cardNumberThis);
+            cardNumberThis = HexUtil.HighLowHex(cardNumberThis);
+            //鍒ゆ柇鏄惁鍏呭�肩殑鏄竴涓崱
+            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();
+                int rechageTims = userCard.getRechargeTimes() + 1;
+                if (rechageTims == 256) {
+                    rechageTims = 0;
                 }
-                //   鎵撳嵃鐩稿叧
-                setPrinterData(rechargeBean);
-                startDetailActivity(userName, "缁堢鍐欏崱");
+                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, "鍐欏崱澶辫触锛岃閲嶆柊鍐嶈瘯");
+                TipUtil.show(NFCWreatActivity.this, "璇诲彇鐨勫崱鍜屽厖鍊肩殑鍗′笉涓�鑷�");
             }
-        } else {
-            TipUtil.show(NFCWreatActivity.this, "璇诲彇鐨勫崱鍜屽厖鍊肩殑鍗′笉涓�鑷�");
+        } catch (Exception e) {
+            TipUtil.show(NFCWreatActivity.this, "璇诲彇閿欒锛岃閲嶈瘯");
         }
     }
 
@@ -570,4 +591,43 @@
         super.onDestroy();
         nfcWreatActivity = null;
     }
+
+    /**
+     * 鐐瑰嚮杩斿洖鏃舵彁绀虹敤鎴疯繕鏈啓鍗�
+     *
+     * @param keyCode
+     * @param event
+     * @return
+     */
+    @Override
+    public boolean onKeyDown(int keyCode, KeyEvent event) {
+        if (keyCode == KeyEvent.KEYCODE_BACK) {
+            back();
+            return true;
+        }
+        return super.onKeyDown(keyCode, event);
+    }
+
+    private void back() {
+        confirmDialog = new ConfirmDialog(NFCWreatActivity.this, v -> {
+            confirmDialog.dismiss();
+            if (NewCardActivity.newCardActivity != null) {
+                NewCardActivity.newCardActivity.finish();
+            }
+            if (RechargeActivity.rechargeActivity != null) {
+                RechargeActivity.rechargeActivity.finish();
+            }
+            NFCWreatActivity.nfcWreatActivity.finish();
+        });
+        confirmDialog.show();
+    }
+
+    private void titleBack() {
+        titleBar.setOnItemclickListner(TitleBar.ClickType_LEFT_IMAGE, new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                back();
+            }
+        });
+    }
 }
\ No newline at end of file

--
Gitblit v1.8.0