From 2b11b80884fbdbc05bd8f8a76515616306a03a0a Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期一, 12 八月 2024 09:56:36 +0800
Subject: [PATCH] 齐河联网版程序除补卡相关逻辑

---
 qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/ReadCardAcitivy.java |  105 ++++++++++++++++++++++++++++++----------------------
 1 files changed, 60 insertions(+), 45 deletions(-)

diff --git a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/ReadCardAcitivy.java b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/ReadCardAcitivy.java
index 1bc1a04..cd85db7 100644
--- a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/ReadCardAcitivy.java
+++ b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/ReadCardAcitivy.java
@@ -11,6 +11,7 @@
 import com.dayu.baselibrary.utils.MornyUtil;
 import com.dayu.baselibrary.utils.TipUtil;
 import com.dayu.baselibrary.view.ConfirmDialog;
+import com.dayu.qiheonlinelibrary.bean.CardInfoResult;
 import com.dayu.qiheonlinelibrary.card.BlackCard;
 import com.dayu.qiheonlinelibrary.card.ConfigurationPowerCard;
 import com.dayu.qiheonlinelibrary.card.DomainCard;
@@ -22,6 +23,9 @@
 import com.dayu.qiheonlinelibrary.databinding.ActivityRedCardQhlBinding;
 import com.dayu.qiheonlinelibrary.dbBean.AdminDataBean;
 import com.dayu.qiheonlinelibrary.dbBean.UserCardBean;
+import com.dayu.qiheonlinelibrary.net.ApiManager;
+import com.dayu.qiheonlinelibrary.net.BaseResponse;
+import com.dayu.qiheonlinelibrary.net.subscribers.SubscriberListener;
 import com.dayu.qiheonlinelibrary.tools.NFCWriteHelper;
 import com.dayu.qiheonlinelibrary.tools.NfcReadHelper;
 import com.dayu.qiheonlinelibrary.utils.CardCommon;
@@ -29,7 +33,9 @@
 
 
 import java.util.Calendar;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * Copyright (C), 2023,
@@ -48,35 +54,12 @@
     AdminDataBean adminData;
     String cardNumber;
     String userCardStr;
+
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         redCardBinding = ActivityRedCardQhlBinding.inflate(LayoutInflater.from(this));
         setContentView(redCardBinding.getRoot());
-    }
-
-
-    private void setUserData(String userName, String statu, String cardNumber) {
-        viweGone(true);
-        redCardBinding.redName.setText("鐢ㄦ埛濮撳悕锛�" + userName);
-        redCardBinding.redStatu.setText("鍗$姸鎬侊細" + statu);
-        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);
-                redCardBinding.redRechargeDate.setText("鏈崱鏈�鍚庤喘姘存棩鏈燂細" + year + "骞�" + month + "鏈�" + day + "鏃�");
-            } else {
-                redCardBinding.redRechargeDate.setText("鏈崱鏈�鍚庤喘姘存棩鏈燂細鏃�");
-            }
-            redCardBinding.redInitCode.setText(cardNumber);
-            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()) + " 鍚�");
-        }
     }
 
 
@@ -102,8 +85,6 @@
         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();
@@ -123,13 +104,7 @@
                 if (!data.isEmpty()) {
                     if (!TextUtils.isEmpty(cardNumber)) {
                         userCard = UserCard.getBean(data);
-                        List<UserCardBean> userCardBeans = baseDao.userCardDao().findUserName(cardNumber);
-                        if (userCardBeans != null && !userCardBeans.isEmpty()) {
-                            UserCardBean userName = userCardBeans.get(0);
-                            setUserData(userName.getUserName(), state, cardNumber);
-                        } else {
-                            setUserData("鏈煡璇㈠埌鐢ㄦ埛鍚�", state, cardNumber);
-                        }
+                        getUserInfoAndCardInfo(cardNumber);
                     } else {
 
                     }
@@ -141,14 +116,12 @@
             case CardCommon.MANAGE_CRAD://绠$悊鍗�
                 ManageCard manageCard = ManageCard.getBean(data);
                 viweGone(false);
-                 userCardStr = manageCard.getUserCard().toUpperCase();
-                userCardStr = HexUtil.spaceHex(userCardStr);
-                userCardStr = HexUtil.HighLowHex(userCardStr);
+                userCardStr = manageCard.getUserCard().toUpperCase();
                 redCardBinding.readCardTypeTV.setText("褰撳墠涓虹鐞嗗崱" + "\n\n"
                         + "鍘熷鍗″彿锛�" + userCardStr);
-                if (manageCard.getType()==(byte) 1){
+                if (manageCard.getType() == (byte) 1) {
                     //褰�01鏃跺皢1鎵囧尯0鍧楀師绠$悊鍗′俊鎭敼鎴愮敤鎴峰崱鍐呭
-                     confirmDialog=new ConfirmDialog(this, "鏄惁纭琛ュ崱锛岃鍗″皢鎴愪负鏂扮敤鎴峰崱锛熷苟涓斾笉瑕佺Щ鍔ㄥ崱鐗�", new View.OnClickListener() {
+                    confirmDialog = new ConfirmDialog(this, "鏄惁纭琛ュ崱锛岃鍗″皢鎴愪负鏂扮敤鎴峰崱锛熷苟涓斾笉瑕佺Щ鍔ㄥ崱鐗�", new View.OnClickListener() {
                         @Override
                         public void onClick(View v) {
                             ProgressDialog.show(ReadCardAcitivy.this);
@@ -162,21 +135,21 @@
                                     baseDao.userCardDao().update(userName);
                                 }
 
-                                NFCWriteHelper nfcWriteHelper=   NFCWriteHelper.getInstence(intent,ReadCardAcitivy.this);
+                                NFCWriteHelper nfcWriteHelper = NFCWriteHelper.getInstence(intent, ReadCardAcitivy.this);
                                 adminData = baseDao.adminDao().findFirst();
-                                ManagerToUserCard managerToUserCard=new ManagerToUserCard();
+                                ManagerToUserCard managerToUserCard = new ManagerToUserCard();
                                 managerToUserCard.setArerNumber(Integer.valueOf(adminData.getSerial()));
                                 managerToUserCard.setDeviceNumberl(Integer.valueOf(adminData.getAddressCode()));
                                 managerToUserCard.setTotalElectric(manageCard.getTotalElectric());
-                                if (nfcWriteHelper.writeData(managerToUserCard.getZeroBytes(),1,0)){
+                                if (nfcWriteHelper.writeData(managerToUserCard.getZeroBytes(), 1, 0)) {
                                     TipUtil.show(ReadCardAcitivy.this, "琛ュ崱鎴愬姛", () -> ReadCardAcitivy.this.finish());
-                                }else {
+                                } else {
                                     TipUtil.show(ReadCardAcitivy.this, "琛ュ崱澶辫触锛岃閲嶆柊鍒峰崱", () -> ReadCardAcitivy.this.finish());
                                 }
 
 
                             } catch (Exception e) {
-                               e.printStackTrace();
+                                e.printStackTrace();
                             }
                             stopAnim();
                         }
@@ -237,8 +210,7 @@
                 if (!data.isEmpty()) {
                     RegionCard regionCard = RegionCard.getBean(data);
                     StringBuilder stringBuilder = new StringBuilder();
-                    stringBuilder.append("鍖哄煙鍦板潃锛�").append(regionCard.getRegion()).append("\n");
-                    stringBuilder.append("鎺у埗鍣ㄧ紪鍙凤細").append(regionCard.getControllerCodel()).append("\n");
+                    stringBuilder.append("鍖哄煙鍙凤細").append(regionCard.getArerNumber());
                     redCardBinding.readCardDataTV.setText(stringBuilder.toString());
                 } else {
                     TipUtil.show("鍗$墖璇嗗埆閿欒,璇烽噸璇曪紒");
@@ -285,5 +257,48 @@
         // or avi.smoothToHide();
     }
 
+    /**
+     * 鑾峰彇鍗′俊鎭拰鐢ㄦ埛淇℃伅
+     *
+     * @param iccardCode
+     */
+    public void getUserInfoAndCardInfo(String iccardCode) {
+        Map<String, Object> data = new HashMap<>();
+        //ic鍗′俊鎭痠d
+        data.put("iccardNum", iccardCode);
+        ApiManager.getInstance().requestPostLoading(this, "api/sjgg/iccard/peasant/getIccardInfoVoByCardCode", CardInfoResult.class, data, new SubscriberListener<BaseResponse<CardInfoResult>>() {
+            @Override
+            public void onNext(BaseResponse<CardInfoResult> t) {
+                String state = "";
+                if (t.isSuccess()) {
+                    setUserData(t.getData());
+                }
+            }
+        });
+    }
+
+    private void setUserData(CardInfoResult cardInfoResult) {
+        viweGone(true);
+        if (cardInfoResult != null) {
+            redCardBinding.redName.setText(cardInfoResult.getPeasantName());
+            redCardBinding.redCardCode.setText(cardNumber);
+            redCardBinding.redUserCode.setText(cardInfoResult.getIccardCode());
+            redCardBinding.redBlance.setText(MornyUtil.changeF2Y(userCard.getBalance())+"鍏�");
+            redCardBinding.redElectric.setText(MornyUtil.changeF2Y(userCard.getSurplusElecticity())+"搴�");
+            redCardBinding.redTotalMorny.setText(MornyUtil.changeF2Y(userCard.getTotalMorny())+"鍏�");
+            redCardBinding.redPhone.setText(cardInfoResult.getPeasantPhone());
+            redCardBinding.redCodeId.setText(cardInfoResult.getPeasantIdNumber());
+            if (cardInfoResult.getIccardStatus() == 0) {
+                redCardBinding.redStatu.setText("姝e父");
+            } else if (cardInfoResult.getIccardStatus() == 1) {
+                redCardBinding.redStatu.setText("宸叉敞閿�");
+            } else {
+                redCardBinding.redStatu.setText("宸叉寕澶�");
+            }
+
+        }
+
+
+    }
 
 }

--
Gitblit v1.8.0