package com.dayu.qiheonlinelibrary.activity;
|
|
import android.content.Intent;
|
import android.nfc.NfcAdapter;
|
import android.os.Bundle;
|
import android.view.LayoutInflater;
|
|
import com.dayu.baselibrary.utils.BaseCommon;
|
import com.dayu.baselibrary.utils.TipUtil;
|
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.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-08-12
|
* Time: 20:10
|
* 备注:
|
*/
|
public class ManagerReadActivity extends BaseNfcActivity {
|
|
ActivityManagerReadQhlBinding binding;
|
Intent intent;
|
String oldCardNumber;
|
String cardNumber;
|
|
boolean isReadSuccess;
|
|
CardInfoResult cardInfoResult;
|
ManagerToUserCard managerToUserCard;
|
|
@Override
|
protected void onCreate(Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
binding = ActivityManagerReadQhlBinding.inflate(LayoutInflater.from(this));
|
setContentView(binding.getRoot());
|
initView();
|
}
|
|
private void initView() {
|
binding.managerNext.setOnClickListener(v -> {
|
if (isReadSuccess) {
|
Intent intent = new Intent(ManagerReadActivity.this, NFCWreatActivity.class);
|
intent.putExtra("iccardInfoId", cardInfoResult.getIccardInfoId());
|
intent.putExtra("replaceType", BaseCommon.REPLACE_HAS_CARD);
|
startActivity(intent);
|
ManagerReadActivity.this.finish();
|
}else {
|
TipUtil.show(ManagerReadActivity.this,"请刷管理卡");
|
}
|
});
|
}
|
|
@Override
|
public void onNewIntent(Intent intent) {
|
this.intent = intent;
|
ProgressDialog.show(this);
|
if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) {
|
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()))) {
|
getUserInfoAndCardInfo(managerToUserCard.getOldCardNumber());
|
} else {
|
TipUtil.show(this, "不是本区域卡!");
|
}
|
ProgressDialog.dismiss();
|
} else {
|
ProgressDialog.dismiss();
|
TipUtil.show(this, "读卡失败,请重试!");
|
}
|
} else {
|
ProgressDialog.dismiss();
|
TipUtil.show(this, "当前卡不是管理卡!!!");
|
}
|
}
|
super.onNewIntent(intent);
|
}
|
|
/**
|
* 获取卡信息和用户信息
|
*
|
* @param iccardCode
|
*/
|
public void getUserInfoAndCardInfo(String iccardCode) {
|
Map<String, Object> data = new HashMap<>();
|
//ic卡信息id
|
data.put("iccardNum", iccardCode);
|
ApiManager.getInstance().requestPostLoading(this, "api/sjgg/iccard/peasant/getIccardInfoVoByCardCode", CardInfoResult.class, data, new SubscriberListener<BaseResponse<CardInfoResult>>() {
|
@Override
|
public void onNext(BaseResponse<CardInfoResult> t) {
|
String state = "";
|
if (t.isSuccess()) {
|
cardInfoResult = t.getData();
|
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);
|
startActivity(intent);
|
ManagerReadActivity.this.finish();
|
});
|
}
|
}
|
});
|
}
|
}
|