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