From 954eaed548efb75b3dc79343587acb79e53d214d Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期五, 23 八月 2024 17:19:59 +0800
Subject: [PATCH] 优化写卡逻辑,再次读取内容确认写卡成功再提示成功

---
 qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/NFCWreatActivity.java |  118 +++++++++++++++++++++++++++++------------------------------
 1 files changed, 58 insertions(+), 60 deletions(-)

diff --git a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/NFCWreatActivity.java b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/NFCWreatActivity.java
index f066485..47a4ea5 100644
--- a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/NFCWreatActivity.java
+++ b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/NFCWreatActivity.java
@@ -15,6 +15,7 @@
 import com.dayu.baselibrary.utils.DeviceUtils;
 import com.dayu.baselibrary.utils.MornyUtil;
 import com.dayu.baselibrary.utils.TipUtil;
+import com.dayu.baselibrary.utils.ToastUtil;
 import com.dayu.baselibrary.view.ConfirmDialog;
 import com.dayu.baselibrary.view.TitleBar;
 import com.dayu.qiheonlinelibrary.QHOnLineApplication;
@@ -44,10 +45,12 @@
 import com.dayu.qiheonlinelibrary.tools.WriteCardUtils;
 import com.dayu.qiheonlinelibrary.utils.CardCommon;
 import com.dayu.qiheonlinelibrary.utils.NFCWreatUtils;
+import com.dayu.qiheonlinelibrary.utils.PrintUtils;
 import com.dayu.qiheonlinelibrary.view.ReplacementPriceDialog;
 import com.tencent.bugly.crashreport.CrashReport;
 
 import java.util.Calendar;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -176,6 +179,9 @@
                 userCardBean = (UserCardBean) this.getIntent().getSerializableExtra("dbUserCard");
                 isUser = true;
             }
+            if (this.getIntent().hasExtra("userCardBean")) {
+                userCardBean = (UserCardBean) this.getIntent().getSerializableExtra("userCardBean");
+            }
             if (this.getIntent().hasExtra("cleanUserCard")) {
                 cleanUserCard = (CleanUserCard) this.getIntent().getSerializableExtra("cleanUserCard");
                 binding.cardData.setText("鍒朵綔鍒犻櫎鍏ㄩ儴鐢ㄦ埛鍗�");
@@ -206,9 +212,12 @@
                 morny = this.getIntent().getStringExtra("morny");
                 userName = this.getIntent().getStringExtra("userName");
                 rechargeBean = (RechargeBean) this.getIntent().getSerializableExtra("rechargeBean");
-
-//                rechageWater = this.getIntent().getStringExtra("rechageWater");
-                binding.cardData.setText("鍏呭�奸噾棰濓細" + morny + " 鍏�");
+                if (MornyUtil.changeY2F(rechargeBean.getDeductionMorny()) == 0) {
+                    binding.cardData.setText("鍏呭�奸噾棰濓細" + morny + " 鍏�");
+                } else {
+                    int realityMorny = MornyUtil.changeY2F(morny) - MornyUtil.changeY2F(rechargeBean.getDeductionMorny());
+                    binding.cardData.setText("鍏呭�奸噾棰濓細" + morny + " 鍏僜n" + "琛ユ墸閲戦锛�" + rechargeBean.getDeductionMorny() + " 鍏僜n瀹為檯鍒拌处閲戦锛�" + MornyUtil.changeF2Y(realityMorny) + " 鍏�");
+                }
             }
             if (this.getIntent().hasExtra("iccardInfoId")) {
                 iccardInfoId = this.getIntent().getStringExtra("iccardInfoId");
@@ -365,42 +374,6 @@
     }
 
 
-    /**
-     * 鎵撳嵃鏈虹浉鍏充俊鎭�
-     *
-     * @param rechargeBean
-     */
-    private void setPrinterData(RechargeBean rechargeBean) {
-        try {
-            StringBuffer data = new StringBuffer();
-            if (rechargeBean != null) {
-                data.append("*****************************" + "\n");
-                data.append("璁惧搴忓垪鍙凤細" + rechargeBean.getSerial() + "\n");
-                data.append("濮�   鍚嶏細" + rechargeBean.getUserName() + "\n");
-                data.append("鍗�   鍙凤細" + rechargeBean.getCardNumber() + "\n");
-                data.append("鐢ㄦ埛缂栧彿锛�" + rechargeBean.getUserCode() + "\n");
-                data.append("鍏呭�奸噾棰濓細" + rechargeBean.getMorny() + " 鍏�" + "\n");
-                data.append("鍗″唴浣欓锛�" + rechargeBean.getBalance() + " 鍏�" + "\n");
-                data.append("鍏呭�肩數閲忥細" + rechargeBean.getRechargeElectric() + " 搴�" + "\n");
-                data.append("鍓╀綑鐢甸噺锛�" + rechargeBean.getRechargeElectric() + " 搴�" + "\n");
-                data.append("鏃�   鏈燂細" + DateUtil.dateToStamp(rechargeBean.getRechargeDate(), DateUtil.type2) + "\n\n");
-                data.append("*****************************");
-            }
-            float size = 26;
-
-            try {
-                AidlUtil.getInstance().printText(data.toString(), size, true, false);
-                AidlUtil.getInstance().print3Line();
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
-
-        } catch (Exception e) {
-            e.printStackTrace();
-            CrashReport.postCatchedException(e);
-        }
-    }
-
     void startAnim() {
         binding.avi.show();
         // or avi.smoothToShow();
@@ -437,7 +410,7 @@
         detail.putExtra("statu", statu);
         detail.putExtra("userCard", userCard);
         if (!TextUtils.isEmpty(morny)) {
-            detail.putExtra("morny", morny);
+
             detail.putExtra("rechargeBean", rechargeBean);
         } else {
             detail.putExtra("userCardBean", userCardBean);
@@ -510,9 +483,10 @@
         data.put("iccardNum", iccardNum);//鐗╃悊鍗″彿
         data.put("iccardType", iccardType);
         data.put("peasantId", peasantId);
+        data.put("adcd", QHOnLineApplication.getInstance().adcd);
         //宸ユ湰璐�
         data.put("rechargeCardMoney", rechargeMoney);
-        ApiManager.getInstance().requestPostLoading(this, "api/sjgg/iccard/recharge/openCard", OpenCardResult.class, data, new SubscriberListener<BaseResponse<OpenCardResult>>() {
+        ApiManager.getInstance().requestPostLoading(this, "iccard/recharge/openCard", OpenCardResult.class, data, new SubscriberListener<BaseResponse<OpenCardResult>>() {
             @Override
             public void onNext(BaseResponse<OpenCardResult> t) {
                 if (t.isSuccess()) {
@@ -521,7 +495,6 @@
                     userCard.setUserCodeNumber(Integer.valueOf(userCode.substring(12, 16)));
                     userCardBean.setCardNumber(cardNumber);
                     userCardBean.setUserCode(userCode);
-                    baseDao.userCardDao().insert(userCardBean);
                     if (WriteCardUtils.setUser(intent, userCard, NFCWreatActivity.this)) {
                         confromOpenCard(t.getData().getIccardRechargeRecordId(), 0);
                     } else {
@@ -548,12 +521,17 @@
         data.put("writeCardStatus", writeCardStatus);
 
 
-        ApiManager.getInstance().requestPostLoading(this, "api/sjgg/iccard/recharge/openCardResult", LoginResult.class, data, new SubscriberListener<BaseResponse<LoginResult>>() {
+        ApiManager.getInstance().requestPostLoading(this, "iccard/recharge/openCardResult", LoginResult.class, data, new SubscriberListener<BaseResponse<LoginResult>>() {
             @Override
             public void onNext(BaseResponse<LoginResult> t) {
                 if (t.isSuccess()) {
                     //{"code":"0","msg":"鎿嶄綔鎴愬姛","data":{"chargeMethod":"","iccardCancelTime":"","lastRechargeTime":"2024-08-05 17:04:15","thisSaleMoney":"","totalRechargeWaterAmount":0.00,"iccardBalanceAmonunt":0.00,"iccardInfoId":"1820385315354320898","iccardProtocolName":"","totalRechargeElectricAmount":0.00,"logicState":1,"username":"","state":1,"familySize":"","yearRechargeMoney":0.00,"thisSaleAmount":"","onlyRechargeMoney":"","identityCard":"","iccardBrand":"","iccardBalanceMoney":0.00,"openOperatorUsername":"","adName":"","rechargeWaterAmount":"","openOperatorUserId":"1816297106145103873","lastSwipeTime":"","address":"","yearCompensateMoney":0.00,"iccardProtocolOpenMoney":"","peasantId":"1820374742679953410","reissueTimes":0,"iccardProtocolReissueMoney":"","iccardProtocolId":"","yearRechargeWaterAmount":0.00,"iccardBalanceElectric":0.00,"iccardStatus":0,"phone":"","lastRechargeMoney":0.00,"iccardOpenTime":"","yearRechargeElectricAmount":0.00,"reissueRechargeRecordId":"","iccardPrice":1.50,"iccardNum":"3714251023011","accountType":0,"equipCode":"","rechargeWaterMoney":"","totalRechargeMoney":0.00,"executeWaterPrice":"","iccardType":1,"iccardCode":"BADA4044"}}
-                    startDetailActivity("缁堢鍐欏崱");
+                    if (writeCardStatus == 0) {
+                        baseDao.userCardDao().insert(userCardBean);
+                        startDetailActivity("缁堢鍐欏崱");
+                    } else {
+                        TipUtil.show(NFCWreatActivity.this, "鍐欏崱澶辫触璇烽噸鏂拌创鍗★紒");
+                    }
                 }
             }
         });
@@ -573,23 +551,29 @@
         data.put("writeCardStatus", writeCardStatus);
         data.put("writeCardStatus", writeCardStatus);
 
-        ApiManager.getInstance().requestPostLoading(this, "api/sjgg/iccard/recharge/rechargeCardResult", LoginResult.class, data, new SubscriberListener<BaseResponse<LoginResult>>() {
+        ApiManager.getInstance().requestPostLoading(this, "iccard/recharge/rechargeCardResult", LoginResult.class, data, new SubscriberListener<BaseResponse<LoginResult>>() {
             @Override
             public void onNext(BaseResponse<LoginResult> t) {
                 if (t.isSuccess()) {
-
-                    try {
-                        baseDao.rechargeDao().insert(rechargeBean);
-                    } catch (Exception e) {
-                        e.printStackTrace();
+                    if (writeCardStatus == 0) {
+                        try {
+                            baseDao.rechargeDao().insert(rechargeBean);
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        //   鎵撳嵃鐩稿叧
+                        PrintUtils.printerData(rechargeBean);
+                        startDetailActivity("缁堢鍐欏崱");
+                    } else {
+                        TipUtil.show(NFCWreatActivity.this, "鍐欏崱澶辫触璇烽噸鏂拌创鍗★紒");
                     }
-                    //   鎵撳嵃鐩稿叧
-                    setPrinterData(rechargeBean);
-                    startDetailActivity("缁堢鍐欏崱");
+                } else {
+                    ToastUtil.show(t.getMsg());
                 }
             }
         });
     }
+
     /**
      * 琛ュ崱閫昏緫
      */
@@ -620,11 +604,15 @@
         data.put("iccardInfoId", iccardInfoId);
         //鏂板崱鐨勭墿鐞嗗崱鍙�
         data.put("iccardNum", cardNumber);
-        //鍗″唴鍓╀綑閲戦
-        data.put("iccardBalanceMoney", iccardBalanceMoney);
-        //鍗″唴鍓╀綑鐢甸噺
-        data.put("iccardBalanceElectric", iccardBalanceElectric);
-        ApiManager.getInstance().requestPostLoading(this, "api/sjgg/iccard/recharge/reissueOpenCard", ReplaceCardResult.class, data, new SubscriberListener<BaseResponse<ReplaceCardResult>>() {
+        if (!TextUtils.isEmpty(iccardBalanceMoney)) {
+            //鍗″唴鍓╀綑閲戦
+            data.put("iccardBalanceMoney", iccardBalanceMoney);
+        }
+        if (!TextUtils.isEmpty(iccardBalanceElectric)) {
+            //鍗″唴鍓╀綑鐢甸噺
+            data.put("iccardBalanceElectric", iccardBalanceElectric);
+        }
+        ApiManager.getInstance().requestPostLoading(this, "iccard/recharge/reissueOpenCard", ReplaceCardResult.class, data, new SubscriberListener<BaseResponse<ReplaceCardResult>>() {
             @Override
             public void onNext(BaseResponse<ReplaceCardResult> t) {
                 if (t.isSuccess()) {
@@ -642,6 +630,10 @@
                     userCard.setRechargeDate(Calendar.getInstance());
                     userCard.setElectricPrice(Float.valueOf(QHOnLineApplication.getInstance().electriclePriceStr));
                     if (WriteCardUtils.setUser(intent, userCard, NFCWreatActivity.this)) {
+                        userCardBean.setCardNumber(cardNumber);
+                        userCardBean.setUserCode(userCode);
+                        userCardBean.setDate(System.currentTimeMillis());
+                        baseDao.userCardDao().insert(userCardBean);
                         confromReplaceCard(replaceCardResult.getIccardRechargeRecordId(), 0);
                     } else {
                         TipUtil.show(NFCWreatActivity.this, "鍐欏崱澶辫触锛岃閲嶈瘯");
@@ -649,6 +641,8 @@
                     //   鎵撳嵃鐩稿叧
 //                    setPrinterData(rechargeBean);
 //                    startDetailActivity(rechargeBean.getUserName(), "缁堢鍐欏崱");
+                } else {
+                    ToastUtil.show(t.getMsg());
                 }
             }
         });
@@ -663,15 +657,19 @@
     private void confromReplaceCard(String iccardRechargeRecordId, int writeCardStatus) {
         Map<String, Object> data = new HashMap<>();
         data.put("equipCode", DeviceUtils.getSN());
-//        data.put("iccardRechargeRecordId", iccardRechargeRecordId);
+        data.put("iccardRechargeRecordId", iccardRechargeRecordId);
         //鍐欏崱鐘舵�� 0 鍐欏崱鎴愬姛 1 寰呭啓鍗� 2 鍐欏崱澶辫触
         data.put("writeCardStatus", writeCardStatus);
 
-        ApiManager.getInstance().requestPostLoading(this, "api/sjgg/iccard/recharge/reissueOpenCardResult", LoginResult.class, data, new SubscriberListener<BaseResponse<LoginResult>>() {
+        ApiManager.getInstance().requestPostLoading(this, "iccard/recharge/reissueOpenCardResult", LoginResult.class, data, new SubscriberListener<BaseResponse<LoginResult>>() {
             @Override
             public void onNext(BaseResponse<LoginResult> t) {
                 if (t.isSuccess()) {
                     TipUtil.show(NFCWreatActivity.this, "琛ュ崱鎴愬姛锛�", () -> {
+                        if (UserSearchActivity.userSearchActivity != null) {
+                            UserSearchActivity.userSearchActivity.finish();
+                            UserSearchActivity.userSearchActivity = null;
+                        }
                         NFCWreatActivity.this.finish();
                     });
                 }

--
Gitblit v1.8.0