From f0de01d017c0ce0a4954dd1215449ceea05af29b Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期二, 10 九月 2024 14:13:52 +0800 Subject: [PATCH] 添加混淆,修复因权限问题的bug --- qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/RechargeActivity.java | 169 +++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 105 insertions(+), 64 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 3dc5ce1..967de28 100644 --- a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/RechargeActivity.java +++ b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/RechargeActivity.java @@ -1,7 +1,5 @@ package com.dayu.qiheonlinelibrary.activity; -import android.annotation.SuppressLint; -import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.text.Editable; @@ -11,37 +9,25 @@ import android.view.View; import android.widget.EditText; -import com.dayu.baselibrary.tools.HexUtil; 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.TipDialog; import com.dayu.qiheonlinelibrary.QHOnLineApplication; import com.dayu.qiheonlinelibrary.R; import com.dayu.qiheonlinelibrary.bean.CardInfoResult; import com.dayu.qiheonlinelibrary.bean.RechargeResult; import com.dayu.qiheonlinelibrary.card.UserCard; import com.dayu.qiheonlinelibrary.databinding.ActivityRechargeQhlBinding; -import com.dayu.qiheonlinelibrary.dbBean.AdminDataBean; -import com.dayu.qiheonlinelibrary.dbBean.ElectricPriceBean; import com.dayu.qiheonlinelibrary.dbBean.RechargeBean; -import com.dayu.qiheonlinelibrary.dbBean.UserCardBean; import com.dayu.qiheonlinelibrary.net.ApiManager; import com.dayu.qiheonlinelibrary.net.BaseResponse; -import com.dayu.qiheonlinelibrary.net.RSAUtile; import com.dayu.qiheonlinelibrary.net.subscribers.SubscriberListener; import com.dayu.qiheonlinelibrary.tools.NfcReadHelper; import com.dayu.qiheonlinelibrary.utils.CardCommon; import com.tencent.bugly.crashreport.CrashReport; -import java.text.SimpleDateFormat; import java.util.Calendar; -import java.util.Date; import java.util.HashMap; -import java.util.List; import java.util.Map; @@ -67,6 +53,8 @@ String cardType;//鍗$姸鎬� CardInfoResult cardInfoResult; + + @Override protected void onCreate(Bundle savedInstanceState) { @@ -103,46 +91,64 @@ cardNumber = cardType.split(",")[0]; cardType = cardType.split(",")[1]; } - getUserInfoAndCardInfo(cardNumber); + //鑾峰彇鍗″唴淇℃伅 + userCard = NfcReadHelper.getInstence(intent, this).getUserCardData(); + if (userCard != null) { + try { + getUserInfoAndCardInfo(cardNumber, userCard.getMyUserCode()); + } catch (Exception e) { + e.printStackTrace(); + CrashReport.postCatchedException(e); + TipUtil.show(this, "璇诲崱澶辫触锛岃鍒峰崱鍚庝笉瑕佺珛鍗崇Щ寮�"); + } + } else { + TipUtil.show(this, "璇诲崱澶辫触锛岃鍒峰崱鍚庝笉瑕佺珛鍗崇Щ寮�"); + } + } - 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) { 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 { TipUtil.show(this, "闈炵敤鎴峰崱锛屼笉鑳藉厖鍊�"); return; } + if (userCard != null) { + try { + if (Integer.valueOf(QHOnLineApplication.getInstance().arerNumber) == userCard.getArerNumber()) { + binding.rechargeReadLL.setVisibility(View.GONE); + binding.rechargeTextLL.setVisibility(View.VISIBLE); + binding.userName.setText(userName); + binding.redInitCode.setText(cardNumber); + binding.redRechargeDate.setText("鏈崱鏈�鍚庤喘姘存棩鏈燂細\n\n" + lastRechargeTime); + binding.redUserCode.setText(cardInfoResult.getIccardCode()); + if (userCard != null) { + binding.redRemainderBlance.setText(MornyUtil.changeF2Y(userCard.getBalance()) + " 鍏�"); + binding.redBalanceElectric.setText("鍏呭�煎悗鍓╀綑鐢甸噺锛�" + MornyUtil.changeF2Y(userCard.getSurplusElecticity()) + " 搴�"); + } + binding.redRechargeElectric.setText("鐢甸噺鍗曚环锛�" + QHOnLineApplication.getInstance().electriclePriceStr + "鍏�/搴�"); - userCard = UserCard.getBean(data); - - if (Integer.valueOf(QHOnLineApplication.getInstance().arerNumber) == userCard.getArerNumber()) { - - 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); - if (userCard != null) { - - binding.redRemainderBlance.setText(String.valueOf(iccardBalanceMoney) + " 鍏�"); + } else { + TipUtil.show(this, "闈炴湰鍖哄煙鍗n涓嶈兘鍏呭�硷紒锛侊紒"); + } + } catch (Exception e) { + e.printStackTrace(); + CrashReport.postCatchedException(e); + TipUtil.show(this, "璇诲崱澶辫触锛岃鍒峰崱鍚庝笉瑕佺珛鍗崇Щ寮�"); } - - binding.redRechargeElectric.setText("鐢甸噺鍗曚环锛�" + QHOnLineApplication.getInstance().electriclePriceStr + "鍏�/搴�"); - } else { - TipUtil.show(this, "闈炴湰鍖哄煙鍗n涓嶈兘鍏呭�硷紒锛侊紒"); + TipUtil.show(this, "璇诲崱澶辫触锛岃鍒峰崱鍚庝笉瑕佺珛鍗崇Щ寮�"); } @@ -220,12 +226,20 @@ private void startNfcActivity(String morny, String balance, float rechargeElectric, float iccardBalanceElectric, float totalMorny, String iccardRechargeRecordId) { + //鍏堝鐞嗚ˉ鎵� + //鍏呭�艰ˉ鎵i噾棰�=鍏呭�奸噾棰�+鍏呭�煎墠璇诲彇鐨勫崱鍐呬綑棰�-鍏呭�煎洖璋冭繑鍥炲崱鍐呬綑棰� + int deductionMorny = MornyUtil.changeY2F(morny) + userCard.getBalance() - MornyUtil.changeY2F(balance); + + if (MornyUtil.changeY2F(morny) < deductionMorny) { + TipUtil.show(RechargeActivity.this, "褰撳墠鍏呭�奸噾棰濆皬浜庤ˉ鎵i噾棰濓紝琛ユ墸閲戦涓�" + MornyUtil.changeF2Y(deductionMorny) + "鍏冿紝鍏呭�奸噾棰濆簲澶т簬琛ユ墸閲戦锛�"); + return; + } //娣诲姞鍏呭�间俊鎭� rechargeBean = new RechargeBean(); rechargeBean.setCardNumber(cardNumber); - rechargeBean.setUserCode(userCard.getUserCode()); - rechargeBean.setUserName(""); + rechargeBean.setUserCode(userCard.getUserCode() + userCard.getUserCodeNumber()); + rechargeBean.setUserName(cardInfoResult.getPeasantName()); rechargeBean.setPersonId(cardInfoResult.getPeasantId()); rechargeBean.setSerial(DeviceUtils.getSN()); rechargeBean.setArerNumber(QHOnLineApplication.getInstance().arerNumber); @@ -240,6 +254,9 @@ rechargeBean.setTotalMorny(String.valueOf(totalMorny)); rechargeBean.setState(1); rechargeBean.setOrderId(iccardRechargeRecordId); + rechargeBean.setDeductionMorny(MornyUtil.changeF2Y(deductionMorny)); + rechargeBean.setAdminId(QHOnLineApplication.getInstance().adminId); + userCard.setCardWriteState(0); userCard.setCardState(1); @@ -247,16 +264,28 @@ 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) { + Intent intent = new Intent(RechargeActivity.this, NFCWreatActivity.class); + intent.putExtra("morny", morny); + intent.putExtra("userCard", userCard); + intent.putExtra("rechargeBean", rechargeBean); + startActivity(intent); + } else { + TipUtil.show(RechargeActivity.this, "鎸傚け鍗″悗鏈夎ˉ浜ら噾棰濓紒琛ヤ氦閲戦涓猴細" + MornyUtil.changeF2Y(deductionMorny) + "鍏冿紝璇︽儏鍙湪骞冲彴鏌ヨ銆�", new TipUtil.TipListener() { + @Override + public void onCancle() { + Intent intent = new Intent(RechargeActivity.this, NFCWreatActivity.class); + intent.putExtra("morny", morny); + intent.putExtra("userCard", userCard); + intent.putExtra("rechargeBean", rechargeBean); + startActivity(intent); + } + }); + } - - Intent intent = new Intent(RechargeActivity.this, NFCWreatActivity.class); - intent.putExtra("morny", morny); - intent.putExtra("userCard", userCard); - intent.putExtra("rechargeBean", rechargeBean); - startActivity(intent); } @@ -279,12 +308,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()); } } }); @@ -296,35 +331,41 @@ * * @param iccardCode */ - public void getUserInfoAndCardInfo(String iccardCode) { + public void getUserInfoAndCardInfo(String iccardNum, 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>>() { + data.put("iccardNum", iccardNum); + data.put("iccardCode", iccardCode); + 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()); + } 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