左晓为主开发手持机充值管理机
qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivity.java
@@ -1,16 +1,15 @@
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;
import android.view.LayoutInflater;
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.MornyUtil;
import com.dayu.baselibrary.utils.TipUtil;
import com.dayu.qihealonelibrary.QHAloneApplication;
import com.dayu.qihealonelibrary.card.CleanCard;
@@ -31,6 +30,8 @@
import com.dayu.qihealonelibrary.tools.WriteCardUtils;
import com.dayu.qihealonelibrary.utils.CardCommon;
import com.tencent.bugly.crashreport.CrashReport;
import java.util.Calendar;
/**
 * Copyright (C), 2023,
@@ -151,13 +152,13 @@
                binding.cardData.setText("制作配置水泵功率卡");
            }
            if (this.getIntent().hasExtra("morny")) {
                startAnim();
                // 充值逻辑
                isRecharge = true;
                morny = this.getIntent().getStringExtra("morny");
                userName = this.getIntent().getStringExtra("userName");
                cardNumber = this.getIntent().getStringExtra("cardNumber");
                userCardBean = (UserCardBean) this.getIntent().getSerializableExtra("userCardBean");
                binding.cardData.setText("充值金额:" + morny + "元");
                // 充值逻辑
//                recharge(userCard.getInitPeasantCode(), userName, "启用");
            }
            try {
@@ -249,7 +250,7 @@
                    try {
                        if (userFlag && userCardBean != null) {
                            //用户卡
                            startDetailActivity(userCardBean.getUserName(), "启用");
                            startDetailActivity(userCardBean.getUserName(), "终端写卡");
                        } else if (!TextUtils.isEmpty(morny)) {
                            TipUtil.show(NFCWreatActivity.this, "充值成功", () -> NFCWreatActivity.this.finish());
                        } else {
@@ -289,7 +290,7 @@
                checkHasUser();
            } else if (isRecharge) {
                //充值逻辑
                rechargeWrratCard();
                rechargeWreatCard();
            } else {
                //其他管理卡逻辑
                saveData();
@@ -314,13 +315,12 @@
                data.append(getResources().getString(com.dayu.baselibrary.R.string.login_title) + "\n");
                data.append("设备序列号:" + rechargeBean.getSerial() + "\n");
                data.append("用户名:" + rechargeBean.getUserName() + "\n");
                //            data.append("户  号:" + rechargeBean.getUserNum() + "\n");
                data.append("卡  号:" + rechargeBean.getCardNumber() + "\n");
                data.append("充值金额:" + rechargeBean.getMorny() + "元" + "\n");
                data.append("卡内余额:" + rechargeBean.getBalance() + "元" + "\n");
                data.append("日  期:" + DateUtil.dateToStamp(rechargeBean.getDate(), DateUtil.type2) + "\n\n");
                data.append("*****************************");
            }
            float size = 26;
            try {
@@ -348,25 +348,41 @@
    //往卡内写充值后的数据
    private void rechargeWrratCard() {
        UserCard userCardold = NfcReadHelper.getInstence(intent, this).getUserCardData();
        if (userCardold != null) {
            //判断是否充值的是一个卡
//            if (userCard.getInitPeasantCode().equals(userCardold.getInitPeasantCode())) {
//                userCard.setState("00");
//                userFlag = WriteCardUtils.setUser(intent, userCard, this);
//                //   打印相关
//                if (userFlag) {
//                    setPrinterData(rechargeBean);
//                    startDetailActivity(userName, "启用");
//                } else {
//                    TipUtil.show(NFCWreatActivity.this, "写卡失败,请重新再试");
//                }
//            } else {
//                TipUtil.show(NFCWreatActivity.this, "读取的卡和充值的卡不一致");
//            }
    private void rechargeWreatCard() {
        String cardNumberThis = NfcReadHelper.getInstence(intent, this).getCardNumber();
        //判断是否充值的是一个卡
        if (cardNumberThis.equalsIgnoreCase(cardNumber)) {
            int balance = userCard.getBalance() + MornyUtil.changeY2F(morny);
            userCard.setBalance(balance);
            int rechageTims = userCard.getRechargeTimes() + 1;
            if (rechageTims == 256) {
                rechageTims = 0;
            }
            userCard.setRechargeTimes((short) rechageTims);
            userCard.setRechargeDate(Calendar.getInstance());
            userFlag = WriteCardUtils.setUser(intent, userCard, this);
            if (userFlag) {
                rechargeBean = new RechargeBean();
                rechargeBean.setUserName(userName);
                rechargeBean.setSerial(userCardBean.getSerial());
                rechargeBean.setUserId(userCardBean.getUserID());
                rechargeBean.setDate(System.currentTimeMillis());
                rechargeBean.setMorny(morny);
                rechargeBean.setBalance(MornyUtil.changeF2Y(balance));
                rechargeBean.setCardNumber(cardNumber);
                try {
                    baseDao.rechargeDao().insert(rechargeBean);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                //   打印相关
                setPrinterData(rechargeBean);
                startDetailActivity(userName, "终端写卡");
            } else {
                TipUtil.show(NFCWreatActivity.this, "写卡失败,请重新再试");
            }
        } else {
            TipUtil.show(NFCWreatActivity.this, "读取的卡和充值的卡不一致");
        }
    }