左晓为主开发手持机充值管理机
zuoxiao
2025-04-08 99b11059aedf616df4ed3b74300fa59417568bc3
henanlibrary/src/main/java/com/dayu/henanlibrary/activity/ReadCardAcitivy.java
@@ -7,14 +7,17 @@
import android.view.LayoutInflater;
import android.view.View;
import com.dayu.baselibrary.activity.BaseNfcActivity;
import com.dayu.baselibrary.tools.BcdUtil;
import com.dayu.baselibrary.tools.HexUtil;
import com.dayu.baselibrary.tools.nfc.BaseNfcReadHelper;
import com.dayu.baselibrary.tools.nfc.CardCommonState;
import com.dayu.baselibrary.utils.CRC8;
import com.dayu.baselibrary.utils.MornyUtil;
import com.dayu.baselibrary.utils.TipUtil;
import com.dayu.henanlibrary.card.ConfigurationPowerCard;
import com.dayu.henanlibrary.card.ConfigurationPowerCardHN;
import com.dayu.henanlibrary.card.DomainCard;
import com.dayu.henanlibrary.card.UserCard;
import com.dayu.henanlibrary.card.UserCardHN;
import com.dayu.henanlibrary.databinding.ActivityRedCardHnBinding;
import com.dayu.henanlibrary.net.SocketCallBack;
import com.dayu.henanlibrary.net.SocketData;
@@ -37,9 +40,9 @@
 * Date: 2023-11-10 19:52
 * Description: 读卡界面
 */
public class ReadCardAcitivy extends BaseNfcActivity {
public class ReadCardAcitivy extends HNBaseNfcActivity {
    volatile UserCard userCard;
    volatile UserCardHN userCard;
    ActivityRedCardHnBinding redCardBinding;
    Intent intent;
@@ -78,14 +81,13 @@
    }
    @Override
    public void onNewIntent(Intent intent) {
        this.intent = intent;
    public void onNfcBack(Intent intent) {
        ProgressDialog.show(this);
        if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) {
            readAllData(intent);
        }
        super.onNewIntent(intent);
    }
    /**
@@ -94,7 +96,7 @@
    public void readAllData(Intent intent) {
        NfcReadHelper.getInstence(intent, this)
                .getOneSectorData(new NfcReadHelper.NFCCallListback() {
                .getOneSectorData(new BaseNfcReadHelper.NFCCallListback() {
                    @Override
                    public void callBack(List<byte[]> data) {
                        //获取1扇区数据
@@ -105,7 +107,7 @@
                                case CardCommon.USER_CARD_TYPE_1:
                                case CardCommon.USER_CARD_TYPE_2:
                                case CardCommon.USER_CARD_TYPE_3:
                                    userCard = UserCard.getBean(data);
                                    userCard = new UserCardHN().getBean(data);
                                    selectBalance(userCard.getInitPeasantCode());
                                    break;
                                case CardCommon.MANAGE_CRAD:
@@ -131,9 +133,20 @@
                                    break;
                                case CardCommon.DOMAIN_CARD_TYPE:
                                    viweGone(false);
                                    redCardBinding.readCardTypeTV.setText("当前为设置域名卡");
                                    DomainCard domainCard = DomainCard.toBean(data);
                                    redCardBinding.readCardDataTV.setText("序号:" + domainCard.getDomainNumber() + "\n" + "域名:" + domainCard.getDomainName() + "\n" + "端口号:" + domainCard.getPort());
                                    DomainCard domainXinXiangCard = DomainCard.toBean(data);
                                    if (domainXinXiangCard.getType() == 0) {
                                        redCardBinding.readCardTypeTV.setText("当前为新乡域名卡");
                                    } else {
                                        redCardBinding.readCardTypeTV.setText("当前为鹿邑域名卡");
                                    }
                                    StringBuilder builder = new StringBuilder();
                                    if (domainXinXiangCard.getType() == 0) {
                                        builder.append("序号:" + domainXinXiangCard.getDomainNumber() + "\n");
                                    }
                                    builder.append("域名:" + domainXinXiangCard.getDomainName());
                                    builder.append("\n" + "端口号:" + domainXinXiangCard.getPort());
                                    redCardBinding.readCardDataTV.setText(builder.toString());
                                    stopAnim();
                                    break;
                                case CardCommon.TEST_CARD_TYPE:
@@ -149,12 +162,12 @@
                                case CardCommon.CONFIGURATION_POWER_CARD_TYPE:
                                    viweGone(false);
                                    redCardBinding.readCardTypeTV.setText("当前配置水泵功率卡");
                                    ConfigurationPowerCard powerCard = ConfigurationPowerCard.toBean(data.get(0));
                                    ConfigurationPowerCardHN powerCard = ConfigurationPowerCardHN.toBean(data.get(0));
                                    redCardBinding.readCardDataTV.setText(powerCard.getPower());
                                    stopAnim();
                                    break;
                                default:
                                    TipUtil.show(ReadCardAcitivy.this, "卡片无法识别");
                                    TipUtil.show(ReadCardAcitivy.this, "当前卡片为白卡,请制卡后读取");
                                    stopAnim();
                                    break;
                            }
@@ -169,7 +182,7 @@
                    @Override
                    public void error(int code) {
                        switch (code) {
                            case CardCommon.ERROR_MOVE:
                            case CardCommonState.ERROR_MOVE:
                                stopAnim();
                                TipUtil.show("连接中断,请重新贴合卡片");
                                break;