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/ManagerReadActivity.java | 130 ++++++++++++++++++++++++++++++++-----------
1 files changed, 96 insertions(+), 34 deletions(-)
diff --git a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/ManagerReadActivity.java b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/ManagerReadActivity.java
index 9cbb9ab..2a47e87 100644
--- a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/ManagerReadActivity.java
+++ b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/ManagerReadActivity.java
@@ -3,50 +3,65 @@
import android.content.Intent;
import android.nfc.NfcAdapter;
import android.os.Bundle;
-import android.text.TextUtils;
import android.view.LayoutInflater;
+import com.dayu.baselibrary.tools.HexUtil;
+import com.dayu.baselibrary.utils.BaseCommon;
import com.dayu.baselibrary.utils.TipUtil;
-import com.dayu.qiheonlinelibrary.card.ManageCard;
+import com.dayu.qiheonlinelibrary.QHOnLineApplication;
+import com.dayu.qiheonlinelibrary.bean.CardInfoResult;
+import com.dayu.qiheonlinelibrary.card.ManagerToUserCard;
import com.dayu.qiheonlinelibrary.databinding.ActivityManagerReadQhlBinding;
-import com.dayu.qiheonlinelibrary.tools.NFCWriteHelper;
+import com.dayu.qiheonlinelibrary.dbBean.UserCardBean;
+import com.dayu.qiheonlinelibrary.net.ApiManager;
+import com.dayu.qiheonlinelibrary.net.BaseResponse;
+import com.dayu.qiheonlinelibrary.net.subscribers.SubscriberListener;
import com.dayu.qiheonlinelibrary.tools.NfcReadHelper;
+import com.dayu.qiheonlinelibrary.utils.CardCommon;
import com.dayu.qiheonlinelibrary.view.ProgressDialog;
+import java.util.HashMap;
+import java.util.Map;
/**
+ * Created by Android Studio.
* author: zuo
- * Date: 2024-05-09
- * Time: 11:05
- * 澶囨敞锛氬埗浣滅鐞嗗崱
+ * Date: 2024-08-12
+ * Time: 20:10
+ * 澶囨敞锛� 璇诲彇绠$悊鍗★紝浠庢帶鍒跺櫒璇诲崱鍚庡湪姝ょ晫闈㈣鍗�
*/
public class ManagerReadActivity extends BaseNfcActivity {
ActivityManagerReadQhlBinding binding;
Intent intent;
-
String oldCardNumber;
- boolean isCreatManagerCard;
- String iccardInfoId;
+ String cardNumber;
- int type;
+ boolean isReadSuccess;
+
+ CardInfoResult cardInfoResult;
+ ManagerToUserCard managerToUserCard;
+
+ UserCardBean userCardBean = new UserCardBean();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityManagerReadQhlBinding.inflate(LayoutInflater.from(this));
setContentView(binding.getRoot());
- oldCardNumber = this.getIntent().getStringExtra("oldCardNumber");
- iccardInfoId = this.getIntent().getStringExtra("iccardInfoId");
- type = this.getIntent().getIntExtra("replaceType", 0);
+ initView();
+ }
+
+ private void initView() {
binding.managerNext.setOnClickListener(v -> {
- if (isCreatManagerCard) {
+ if (isReadSuccess) {
Intent intent = new Intent(ManagerReadActivity.this, NFCWreatActivity.class);
- intent.putExtra("iccardInfoId", iccardInfoId);
- intent.putExtra("replaceType", type);
+ intent.putExtra("iccardInfoId", cardInfoResult.getIccardInfoId());
+ intent.putExtra("replaceType", BaseCommon.REPLACE_HAS_CARD);
startActivity(intent);
+ ManagerReadActivity.this.finish();
} else {
- TipUtil.show("璇峰厛鍒朵綔绠$悊鍗�");
+ TipUtil.show(ManagerReadActivity.this, "璇峰埛绠$悊鍗�");
}
});
}
@@ -56,27 +71,74 @@
this.intent = intent;
ProgressDialog.show(this);
if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) {
- getCardNumber();
+ String cardType = NfcReadHelper.getInstence(intent, this).getCradTypeAndCardNumber();
+
+ String[] cardTypes = cardType.split(",");
+ if (cardTypes != null && cardTypes.length == 2) {
+ cardNumber = cardType.split(",")[0];
+ cardType = cardType.split(",")[1];
+ }
+
+ if (CardCommon.MANAGE_CRAD.equalsIgnoreCase(cardType)) {
+ managerToUserCard = NfcReadHelper.getInstence(intent, this).getManagerToUserCardData();
+ if (managerToUserCard != null) {
+ if (QHOnLineApplication.getInstance().arerNumber.equalsIgnoreCase(String.valueOf(managerToUserCard.getArerNumber()))) {
+ String oldCardNumber = managerToUserCard.getOldCardNumber();
+ oldCardNumber = HexUtil.spaceHex(oldCardNumber);
+ oldCardNumber = HexUtil.HighLowHex(oldCardNumber);
+ getUserInfoAndCardInfo(oldCardNumber);
+ } else {
+ TipUtil.show(this, "涓嶆槸鏈尯鍩熷崱锛�");
+ }
+ ProgressDialog.dismiss();
+ } else {
+ ProgressDialog.dismiss();
+ TipUtil.show(this, "璇诲崱澶辫触锛岃閲嶈瘯锛�");
+ }
+ } else {
+ ProgressDialog.dismiss();
+ TipUtil.show(this, "褰撳墠鍗′笉鏄鐞嗗崱锛侊紒锛�");
+ }
}
super.onNewIntent(intent);
}
-
- private void getCardNumber() {
- String cardNumber = NfcReadHelper.getInstence(intent, this).getCardNumber();
- if (!TextUtils.isEmpty(cardNumber)) {
- ManageCard manageCard = new ManageCard();
- manageCard.setUserCard(oldCardNumber);
- manageCard.setType((byte) 0);
- if (NFCWriteHelper.getInstence(intent, this).writeData(manageCard.toByte(baseDao), 1, 0)) {
- isCreatManagerCard = true;
- } else {
- isCreatManagerCard = false;
+ /**
+ * 鑾峰彇鍗′俊鎭拰鐢ㄦ埛淇℃伅
+ *
+ * @param iccardCode
+ */
+ public void getUserInfoAndCardInfo(String iccardCode) {
+ Map<String, Object> data = new HashMap<>();
+ //ic鍗′俊鎭痠d
+ data.put("iccardNum", 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()) {
+ if (t.getData() != null) {
+ cardInfoResult = t.getData();
+ userCardBean.setUserName(cardInfoResult.getPeasantName());
+ userCardBean.setUserID(cardInfoResult.getPeasantIdNumber());
+ userCardBean.setPhone(cardInfoResult.getPeasantPhone());
+ userCardBean.setPersonId(cardInfoResult.getPeasantId());
+ userCardBean.setAddressCode(cardInfoResult.getAdcd());
+ userCardBean.setAddressName(cardInfoResult.getAdcdName());
+ isReadSuccess = true;
+ TipUtil.show(ManagerReadActivity.this, "璇诲崱鎴愬姛锛屼笅涓�姝ュ皢鍐欏崱锛�", () -> {
+ Intent intent = new Intent(ManagerReadActivity.this, NFCWreatActivity.class);
+ intent.putExtra("iccardInfoId", cardInfoResult.getIccardInfoId());
+ intent.putExtra("replaceType", BaseCommon.REPLACE_HAS_CARD);
+ intent.putExtra("userCardBean", userCardBean);
+ startActivity(intent);
+ ManagerReadActivity.this.finish();
+ });
+ } else {
+ TipUtil.show(ManagerReadActivity.this, "鏈煡璇㈠埌璇ュ崱淇℃伅锛岃妫�鏌ャ��");
+ }
+ }
}
- ProgressDialog.dismiss();
- TipUtil.show(this,"绠$悊鍗″埗鍗℃垚鍔燂紝璇峰湪鎺у埗鍣ㄧ鍒峰崱");
- } else {
- TipUtil.show(this, "鏈鍙栧埌鏂板崱鍗″彿锛岃閲嶆柊璐村崱");
- }
+ });
}
}
--
Gitblit v1.8.0