左晓为主开发手持机充值管理机
qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivity.java
@@ -1,6 +1,7 @@
package com.dayu.qihealonelibrary.activity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
@@ -8,9 +9,9 @@
import android.widget.Toast;
import com.dayu.baselibrary.utils.AidlUtil;
import com.dayu.baselibrary.utils.BaseCommon;
import com.dayu.baselibrary.utils.DateUtil;
import com.dayu.baselibrary.utils.TipUtil;
import com.dayu.qihealonelibrary.QHAloneApplication;
import com.dayu.qihealonelibrary.card.CleanCard;
import com.dayu.qihealonelibrary.card.CleanUserCard;
@@ -21,7 +22,7 @@
import com.dayu.qihealonelibrary.card.RegisteredCard;
import com.dayu.qihealonelibrary.card.TestCard;
import com.dayu.qihealonelibrary.card.UserCard;
import com.dayu.qihealonelibrary.databinding.ActivityWriteTextBinding;
import com.dayu.qihealonelibrary.databinding.ActivityWriteTextQhaBinding;
import com.dayu.qihealonelibrary.dbBean.AdminDataBean;
import com.dayu.qihealonelibrary.dbBean.RechargeBean;
import com.dayu.qihealonelibrary.dbBean.UserCardBean;
@@ -86,15 +87,17 @@
    //是否是充值过程
    boolean isRecharge = false;
    //充值通信是否完成
    boolean rechargeIsOk = false;
    ActivityWriteTextBinding binding;
    ActivityWriteTextQhaBinding binding;
    //当前卡的物理卡号
    String cardNumber;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        try {
            binding = ActivityWriteTextBinding.inflate(LayoutInflater.from(this));
            binding = ActivityWriteTextQhaBinding.inflate(LayoutInflater.from(this));
            setContentView(binding.getRoot());
            nfcWreatActivity = this;
            getData();
@@ -174,19 +177,33 @@
     */
    private void checkHasUser() {
        String cardType = NfcReadHelper.getInstence(intent, this).getCradType();
        Log.i("NFCWreatActivity", "cardType=" + cardType);
        if (cardType.equals(CardCommon.USER_CARD_TYPE_1) ||
                cardType.equals(CardCommon.USER_CARD_TYPE_2) ||
                cardType.equals(CardCommon.USER_CARD_TYPE_3)
        ) {
            binding.textView.setText("该卡已经写入用户信息,请更换卡片");
            binding.textView.setTextColor(getResources().getColor(com.dayu.baselibrary.R.color.red));
        } else if (cardType.equals("-1")) {
            TipUtil.show(NFCWreatActivity.this, "请勿移动卡片,读卡失败请重试!!");
        } else {
            Log.i("NFCWreatActivity", "olduserCard!=null  saveData");
            saveData();
        try {
            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];
            }
            Log.i("NFCWreatActivity", "cardType=" + cardType);
            if (cardType.equals(CardCommon.USER_CARD_TYPE_1) ||
                    cardType.equals(CardCommon.USER_CARD_TYPE_2) ||
                    cardType.equals(CardCommon.USER_CARD_TYPE_3)
            ) {
                binding.textView.setText("该卡已经写入用户信息,请更换卡片");
                binding.textView.setTextColor(getResources().getColor(com.dayu.baselibrary.R.color.red));
            } else if (cardType.equals(BaseCommon.CARD_TYPE_ERROR1)) {
                TipUtil.show(NFCWreatActivity.this, "请勿移动卡片,读卡失败请重试!!");
            } else if (cardType.equals(BaseCommon.CARD_TYPE_ERROR2)) {
                TipUtil.show(NFCWreatActivity.this, "卡片未能识别,请检查卡片是否是本公司卡片");
            } else {
                Log.i("NFCWreatActivity", "olduserCard!=null  saveData");
                userCardBean.setCardNumber(cardNumber);
                baseDao.userCardDao().insert(userCardBean);
                saveData();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        stopAnim();
@@ -202,7 +219,6 @@
                    || configureDeviceRegistrationCrad != null
                    || configurationPowerCard != null) {
                if (userCard != null && TextUtils.isEmpty(morny)) {
                    userFlag = WriteCardUtils.setUser(intent, userCard, this);
                }
                if (cleanCard != null) {
@@ -269,15 +285,13 @@
            startAnim();
            Log.i("NFCWreatActivity", "isUser:" + isUser);
            if (isUser) {
                //新卡注册逻辑
                checkHasUser();
            } else if (isRecharge) {
                if (rechargeIsOk) {
                    rechargeWrratCard();
                } else {
                    Toast.makeText(this, "正在通信请稍后", Toast.LENGTH_SHORT).show();
                }
                //充值逻辑
                rechargeWrratCard();
            } else {
                //其他管理卡逻辑
                saveData();
            }
        } catch (Exception e) {
@@ -313,7 +327,7 @@
                AidlUtil.getInstance().printText(data.toString(), size, true, false);
                AidlUtil.getInstance().print3Line();
            } catch (Exception e) {
               e.printStackTrace();
                e.printStackTrace();
            }
        } catch (Exception e) {
@@ -331,7 +345,6 @@
        binding.avi.hide();
        // or avi.smoothToHide();
    }
    //往卡内写充值后的数据
@@ -435,12 +448,15 @@
    private void startDetailActivity(String userName, String statu) {
        Intent detail = new Intent(this, RechargeDetail.class);
        Intent detail = new Intent(this, RechargeDetailActivity.class);
        detail.putExtra("userName", userName);
        detail.putExtra("statu", statu);
        detail.putExtra("userCard", userCard);
        if (!TextUtils.isEmpty(morny)) {
            detail.putExtra("morny", morny);
        }
        if (!TextUtils.isEmpty(cardNumber)) {
            detail.putExtra("cardNumber", cardNumber);
        }
        startActivity(detail);
        if (NewCardActivity.newCardActivity != null) {
@@ -451,7 +467,6 @@
        }
        NFCWreatActivity.nfcWreatActivity.finish();
    }
    protected void onDestroy() {