From a44c47bc7f37245612635866adaddf5c98d41747 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期五, 16 八月 2024 11:03:49 +0800
Subject: [PATCH] 添加补打逻辑 联调修复bug

---
 qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/RechargeActivity.java |   66 ++++++++++++++++++++-------------
 1 files changed, 40 insertions(+), 26 deletions(-)

diff --git a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/RechargeActivity.java b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/RechargeActivity.java
index 2743c68..cf6f23f 100644
--- a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/RechargeActivity.java
+++ b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/RechargeActivity.java
@@ -112,15 +112,15 @@
     }
 
 
-    private void setUserData(String cardNumber, String userName, String lastRechargeTime, float iccardBalanceMoney, List<byte[]> data) {
-        String state = "";
+    private void setUserData(String cardNumber, String userName, String lastRechargeTime, List<byte[]> data) {
         if (cardType.equalsIgnoreCase(CardCommon.USER_CARD_TYPE_1)) {
-            state = "缁堢鍐欏崱";
+            setCardState("缁堢鍐欏崱");
             binding.rechargeLL.setVisibility(View.VISIBLE);
             binding.rechargeRegistBtn.setVisibility(View.VISIBLE);
             binding.redStatu.setTextColor(this.getResources().getColor(R.color.black));
         } else if (cardType.equalsIgnoreCase(CardCommon.USER_CARD_TYPE_2)) {
             setCardState("鏈埛鍗″叧娉�,褰撳墠涓嶅彲鍏呭��");
+            TipUtil.show(RechargeActivity.this, "鏈埛鍗″叧娉�,褰撳墠涓嶅彲鍏呭��");
         } else if (cardType.equalsIgnoreCase(CardCommon.USER_CARD_TYPE_3)) {
             setCardState("鍙犲姞鍏呭��");
         } else {
@@ -135,15 +135,13 @@
             binding.rechargeReadLL.setVisibility(View.GONE);
             binding.rechargeTextLL.setVisibility(View.VISIBLE);
             binding.userName.setText(userName);
-            binding.redStatu.setText(state);
             binding.redInitCode.setText(cardNumber);
             binding.redRechargeDate.setText("鏈崱鏈�鍚庤喘姘存棩鏈燂細\n\n" + lastRechargeTime);
             binding.redUserCode.setText(cardInfoResult.getIccardCode());
             if (userCard != null) {
-
-                binding.redRemainderBlance.setText(String.valueOf(iccardBalanceMoney) + " 鍏�");
+                binding.redRemainderBlance.setText(MornyUtil.changeF2Y(userCard.getBalance()) + " 鍏�");
+                binding.redBalanceElectric.setText("鍏呭�煎悗鍓╀綑鐢甸噺锛�" + MornyUtil.changeF2Y(userCard.getSurplusElecticity()) + " 搴�");
             }
-
             binding.redRechargeElectric.setText("鐢甸噺鍗曚环锛�" + QHOnLineApplication.getInstance().electriclePriceStr + "鍏�/搴�");
 
         } else {
@@ -229,6 +227,10 @@
         //鍏呭�艰ˉ鎵i噾棰�=鍏呭�奸噾棰�+鍏呭�煎墠璇诲彇鐨勫崱鍐呬綑棰�-鍏呭�煎洖璋冭繑鍥炲崱鍐呬綑棰�
         int deductionMorny = MornyUtil.changeY2F(morny) + mOldUserCard.getBalance() - MornyUtil.changeY2F(balance);
 
+        if (MornyUtil.changeY2F(morny) < deductionMorny) {
+            TipUtil.show(RechargeActivity.this, "褰撳墠鍏呭�奸噾棰濆皬浜庤ˉ鎵i噾棰濓紝琛ユ墸閲戦涓�" + MornyUtil.changeF2Y(deductionMorny) + "鍏冿紝鍏呭�奸噾棰濆簲澶т簬琛ユ墸閲戦锛�");
+            return;
+        }
 
         //娣诲姞鍏呭�间俊鎭�
         rechargeBean = new RechargeBean();
@@ -250,6 +252,8 @@
         rechargeBean.setState(1);
         rechargeBean.setOrderId(iccardRechargeRecordId);
         rechargeBean.setDeductionMorny(MornyUtil.changeF2Y(deductionMorny));
+        rechargeBean.setAdminId(QHOnLineApplication.getInstance().adminId);
+
 
         userCard.setCardWriteState(0);
         userCard.setCardState(1);
@@ -257,8 +261,7 @@
         calendar.setTimeInMillis(time);
         userCard.setBalance(MornyUtil.changeY2F(String.valueOf(balance)));
         userCard.setSurplusElecticity(MornyUtil.changeY2F(String.valueOf(iccardBalanceElectric)));
-        String sumMorny = MornyUtil.sumPrice(Float.valueOf(MornyUtil.changeF2Y(userCard.getTotalMorny())), Float.valueOf(morny));
-        userCard.setTotalMorny(MornyUtil.changeY2F(sumMorny));
+        userCard.setTotalMorny(MornyUtil.changeY2F(String.valueOf(totalMorny)));
         userCard.setRechargeDate(calendar);
         userCard.setElectricPrice(Float.valueOf(QHOnLineApplication.getInstance().electriclePriceStr));
         if (deductionMorny == 0) {
@@ -302,12 +305,18 @@
         data.put("iccardBalanceAmonunt", "0");
         //鍗″唴鍓╀綑鐢甸噺
         data.put("iccardBalanceElectric", MornyUtil.changeF2Y(userCard.getSurplusElecticity()));
-        ApiManager.getInstance().requestPostLoading(this, "api/sjgg/iccard/recharge/rechargeCard", RechargeResult.class, data, new SubscriberListener<BaseResponse<RechargeResult>>() {
+        ApiManager.getInstance().requestPostLoading(this, "iccard/recharge/rechargeCard", RechargeResult.class, data, new SubscriberListener<BaseResponse<RechargeResult>>() {
             @Override
             public void onNext(BaseResponse<RechargeResult> t) {
                 if (t.isSuccess()) {
-                    RechargeResult rechargeResult = t.getData();
-                    startNfcActivity(morny, rechargeResult.getIccardBalanceMoney(), rechargeResult.getRechargeElectricAmount(), rechargeResult.getIccardBalanceElectric(), rechargeResult.getTotalRechargeMoney(), rechargeResult.getIccardRechargeRecordId());
+                    if (t.getData() != null) {
+                        RechargeResult rechargeResult = t.getData();
+                        startNfcActivity(morny, rechargeResult.getIccardBalanceMoney(), rechargeResult.getRechargeElectricAmount(), rechargeResult.getIccardBalanceElectric(), rechargeResult.getTotalRechargeMoney(), rechargeResult.getIccardRechargeRecordId());
+                    } else {
+                        TipUtil.show(RechargeActivity.this, "鍏呭�煎け璐ヨ閲嶈瘯锛�");
+                    }
+                } else {
+                    TipUtil.show(RechargeActivity.this, t.getMsg());
                 }
             }
         });
@@ -323,31 +332,36 @@
         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>>() {
+        ApiManager.getInstance().requestPostLoading(this, "iccard/peasant/getIccardInfoVoByCardCode", CardInfoResult.class, data, new SubscriberListener<BaseResponse<CardInfoResult>>() {
             @Override
             public void onNext(BaseResponse<CardInfoResult> t) {
                 String state = "";
                 if (t.isSuccess()) {
-                    //ic鍗$姸鎬� 0 姝e父 1 宸叉敞閿� 2 宸叉寕澶�
-                    if (t.getData().getIccardStatus() == 0) {
-                        List<byte[]> data = NfcReadHelper.getInstence(intent, RechargeActivity.this).getOnesectorData();
-                        if (!data.isEmpty()) {
-                            if (!TextUtils.isEmpty(cardNumber)) {
-                                cardInfoResult = t.getData();
-                                setUserData(cardNumber, cardInfoResult.getPeasantName(), cardInfoResult.getLastRechargeTime(), cardInfoResult.getIccardBalanceMoney(), data);
+                    if (t.getData() != null) {
+                        //ic鍗$姸鎬� 0 姝e父 1 宸叉敞閿� 2 宸叉寕澶�
+                        if (t.getData().getIccardStatus() == 0) {
+                            List<byte[]> data = NfcReadHelper.getInstence(intent, RechargeActivity.this).getOnesectorData();
+                            if (!data.isEmpty()) {
+                                if (!TextUtils.isEmpty(cardNumber)) {
+                                    cardInfoResult = t.getData();
+                                    setUserData(cardNumber, cardInfoResult.getPeasantName(), cardInfoResult.getLastRechargeTime(), data);
+                                } else {
+                                    TipUtil.show(RechargeActivity.this, "璇诲彇鍗$墖澶辫触锛岃閲嶆柊璐村崱");
+                                }
                             } else {
-                                TipUtil.show(RechargeActivity.this, "璇诲彇鍗$墖澶辫触锛岃閲嶆柊璐村崱");
+                                TipUtil.show(RechargeActivity.this, "鍗$墖璇嗗埆閿欒,璇烽噸璇曪紒");
                             }
+                        } else if (t.getData().getIccardStatus() == 1) {
+                            TipUtil.show(RechargeActivity.this, "褰撳墠鍗″凡娉ㄩ攢");
                         } else {
-                            TipUtil.show(RechargeActivity.this, "鍗$墖璇嗗埆閿欒,璇烽噸璇曪紒");
+                            TipUtil.show(RechargeActivity.this, "褰撳墠鍗″凡鎸傚け");
                         }
-                    } else if (t.getData().getIccardStatus() == 1) {
-                        TipUtil.show(RechargeActivity.this, "褰撳墠鍗″凡娉ㄩ攢");
                     } else {
-                        TipUtil.show(RechargeActivity.this, "褰撳墠鍗″凡鎸傚け");
+                        TipUtil.show(RechargeActivity.this, "褰撳墠鍗$墖閿欒锛屾湭鑳芥煡鍒拌鍗′俊鎭紒");
                     }
 
-
+                } else {
+                    TipUtil.show(RechargeActivity.this, t.getMsg());
                 }
             }
         });

--
Gitblit v1.8.0