From 5b9a5a629f8c31a8c05a918dcefc557b46651dfe Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期三, 11 九月 2024 17:28:18 +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