左晓为主开发手持机充值管理机
zuoxiao
2024-08-09 9450bcb197c2de53982368d5c2059b31abed3b87
qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/NFCWreatActivity.java
@@ -12,12 +12,15 @@
import com.dayu.baselibrary.utils.AidlUtil;
import com.dayu.baselibrary.utils.BaseCommon;
import com.dayu.baselibrary.utils.DateUtil;
import com.dayu.baselibrary.utils.DeviceUtils;
import com.dayu.baselibrary.utils.MornyUtil;
import com.dayu.baselibrary.utils.TipUtil;
import com.dayu.baselibrary.view.ConfirmDialog;
import com.dayu.baselibrary.view.TitleBar;
import com.dayu.qiheonlinelibrary.QHOnLineApplication;
import com.dayu.qiheonlinelibrary.bean.LoginResult;
import com.dayu.qiheonlinelibrary.bean.OpenCardResult;
import com.dayu.qiheonlinelibrary.bean.ReplaceCardResult;
import com.dayu.qiheonlinelibrary.card.CleanCard;
import com.dayu.qiheonlinelibrary.card.CleanUserCard;
import com.dayu.qiheonlinelibrary.card.ConfigurationPowerCard;
@@ -31,16 +34,21 @@
import com.dayu.qiheonlinelibrary.card.TestCard;
import com.dayu.qiheonlinelibrary.card.UserCard;
import com.dayu.qiheonlinelibrary.databinding.ActivityWriteTextQhlBinding;
import com.dayu.qiheonlinelibrary.dbBean.AdminDataBean;
import com.dayu.qiheonlinelibrary.dbBean.RechargeBean;
import com.dayu.qiheonlinelibrary.dbBean.UserCardBean;
import com.dayu.qiheonlinelibrary.tools.NFCWriteHelper;
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.tools.WriteCardUtils;
import com.dayu.qiheonlinelibrary.utils.CardCommon;
import com.dayu.qiheonlinelibrary.utils.NFCWreatUtils;
import com.dayu.qiheonlinelibrary.view.ReplacementPriceDialog;
import com.tencent.bugly.crashreport.CrashReport;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;
/**
 * Copyright (C), 2023,
@@ -54,7 +62,6 @@
    CleanUserCard cleanUserCard;
    ManageCard manageCard;
    DomainCard domainCard;
    CleanCard cleanCard;
    ConfigureDeviceRegistrationCrad configureDeviceRegistrationCrad;
    TestCard testCard;
@@ -70,7 +77,6 @@
    boolean passwordFlag = false;
    boolean cleanFlag = false;
    boolean regionFlag = false;
    boolean userFlag = false;
    boolean manageCardFlag = false;
    boolean registeredFlag = false;
    boolean administrativeCardFlag = false;
@@ -78,23 +84,17 @@
    boolean domainCrdFlag = false;
    boolean testCardFlag = false;
    boolean configDeviceRegiestFlag = false;
    boolean configPowerFlag = false;
    UserCardBean userCardBean;
    UserCard olduserCard;
    String morny;
    String rechageWater;//充值的水量
    String userName;
    AdminDataBean adminData;
    RechargeBean rechargeBean;
    Intent intent;
    //打印
    QHOnLineApplication baseApp;
@@ -112,6 +112,13 @@
    //当前卡的物理卡号
    String cardNumber;
    ConfirmDialog confirmDialog;
    //旧的卡id
    String iccardInfoId;
    //补卡类型
    int replaceType;
    //补卡工本费用
    String rechargeCardMoney;
    ReplacementPriceDialog replacementPriceDialog;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
@@ -120,9 +127,9 @@
            binding = ActivityWriteTextQhlBinding.inflate(LayoutInflater.from(this));
            setContentView(binding.getRoot());
            nfcWreatActivity = this;
            getData();
            titleBack();
            baseApp = QHOnLineApplication.getInstance();
            getData();
        } catch (Exception e) {
            e.printStackTrace();
            CrashReport.postCatchedException(e);
@@ -196,18 +203,26 @@
                isRecharge = true;
                morny = this.getIntent().getStringExtra("morny");
                userName = this.getIntent().getStringExtra("userName");
                cardNumber = this.getIntent().getStringExtra("cardNumber");
                userCardBean = (UserCardBean) this.getIntent().getSerializableExtra("userCardBean");
                rechargeBean = (RechargeBean) this.getIntent().getSerializableExtra("rechargeBean");
//                rechageWater = this.getIntent().getStringExtra("rechageWater");
                binding.cardData.setText("充值金额:" + morny + " 元");
            }
            try {
                adminData = baseDao.adminDao().findFirst();
            } catch (Exception e) {
                e.printStackTrace();
                CrashReport.postCatchedException(e);
            if (this.getIntent().hasExtra("iccardInfoId")) {
                iccardInfoId = this.getIntent().getStringExtra("iccardInfoId");
                replaceType = this.getIntent().getIntExtra("replaceType", 0);
                replacementPriceDialog = new ReplacementPriceDialog(this, data -> {
                    if (TextUtils.isEmpty(data)) {
                        rechargeCardMoney = "0";
                    }
                    rechargeCardMoney = data;
                    binding.cardData.setText("补卡工本费:" + rechargeCardMoney + "元");
                    replacementPriceDialog.dismiss();
                });
                replacementPriceDialog.show();
            }
        } catch (Exception e) {
            e.printStackTrace();
            CrashReport.postCatchedException(e);
@@ -225,8 +240,6 @@
            String[] cardTypes = cardType.split(",");
            if (cardTypes != null && cardTypes.length == 2) {
                cardNumber = cardType.split(",")[0];
                cardNumber = HexUtil.spaceHex(cardNumber);
                cardNumber = HexUtil.HighLowHex(cardNumber);
                cardType = cardType.split(",")[1];
            }
            Log.i("NFCWreatActivity", "cardType=" + cardType);
@@ -241,10 +254,12 @@
            } 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();
//
                openCard(cardNumber, 1, userCardBean.getPersonId(), String.valueOf(userCardBean.getCardMorny()));
            }
        } catch (Exception e) {
            e.printStackTrace();
@@ -262,53 +277,40 @@
                    || domainCard != null || testCard != null
                    || configureDeviceRegistrationCrad != null
                    || configurationPowerCard != null || regionCard != null || passWordCard != null || electricPriceCard != null) {
                if (userCard != null && TextUtils.isEmpty(morny)) {
                    userFlag = WriteCardUtils.setUser(intent, userCard, this);
                }
                if (electricPriceCard != null) {
                    setElectricPriceCard(intent, electricPriceCard);
                    electricPriceFlag = NFCWreatUtils.getInstance(this, baseDao).setElectricPriceCard(intent, electricPriceCard);
                }
                if (passWordCard != null) {
                    setPassWordCard(intent, passWordCard);
                    passwordFlag = NFCWreatUtils.getInstance(this, baseDao).setPassWordCard(intent, passWordCard);
                }
                if (regionCard != null) {
                    setRegionCard(intent, regionCard);
                    regionFlag = NFCWreatUtils.getInstance(this, baseDao).setRegionCard(intent, regionCard);
                }
                if (cleanCard != null) {
                    setClean(intent, cleanCard);
                    cleanFlag = NFCWreatUtils.getInstance(this, baseDao).setClean(intent, cleanCard);
                }
                if (manageCard != null) {
                    setmanageCard(intent, manageCard);
//                    if (manageCardFlag && userCardBeanByManager != null) {
//                        //修改用户表信息修改成新卡卡号
//                        userCardBeanByManager.setCardNumber(cardNumber);
//                        baseDao.userCardDao().update(userCardBeanByManager);
//                    }
                    manageCardFlag = NFCWreatUtils.getInstance(this, baseDao).setmanageCard(intent, manageCard);
                }
                if (registeredCard != null) {
                    setRegisteredCard(intent, registeredCard);
                    registeredFlag = NFCWreatUtils.getInstance(this, baseDao).setRegisteredCard(intent, registeredCard);
                }
                if (cleanUserCard != null) {
                    setCleanUserCard(intent, cleanUserCard);
                    cleanUserCardFlag = NFCWreatUtils.getInstance(this, baseDao).setCleanUserCard(intent, cleanUserCard);
                }
                if (domainCard != null) {
                    setDomainCard(intent, domainCard);
                }
                if (testCard != null) {
                    setTestCard(intent, testCard);
                    domainCrdFlag = NFCWreatUtils.getInstance(this, baseDao).setDomainCard(intent, domainCard);
                }
                if (configureDeviceRegistrationCrad != null) {
                    setConfigDeviceRegiest(intent, configureDeviceRegistrationCrad);
                    configDeviceRegiestFlag = NFCWreatUtils.getInstance(this, baseDao).setConfigDeviceRegiest(intent, configureDeviceRegistrationCrad);
                }
                if (configurationPowerCard != null) {
                    setConfigurationPower(intent, configurationPowerCard);
                    configPowerFlag = NFCWreatUtils.getInstance(this, baseDao).setConfigurationPower(intent, configurationPowerCard);
                }
                if (electricPriceFlag || passwordFlag || regionFlag || configPowerFlag || configDeviceRegiestFlag || testCardFlag || domainCrdFlag || userFlag || cleanFlag || manageCardFlag || registeredFlag || administrativeCardFlag || cleanUserCardFlag) {
                if (electricPriceFlag || passwordFlag || regionFlag || configPowerFlag || configDeviceRegiestFlag || domainCrdFlag || cleanFlag || manageCardFlag || registeredFlag || administrativeCardFlag || cleanUserCardFlag) {
                    try {
                        if (userFlag && userCardBean != null) {
                            //用户卡
                            startDetailActivity(userCardBean.getUserName(), "终端写卡");
                        } else if (!TextUtils.isEmpty(morny)) {
                        if (!TextUtils.isEmpty(morny)) {
                            TipUtil.show(NFCWreatActivity.this, "充值成功", () -> NFCWreatActivity.this.finish());
                        } else {
                            TipUtil.show(NFCWreatActivity.this, "写卡成功", () -> NFCWreatActivity.this.finish());
@@ -340,14 +342,15 @@
        super.onNewIntent(intent);
        try {
            this.intent = intent;
//            startAnim();
            Log.i("NFCWreatActivity", "isUser:" + isUser);
            if (isUser) {
                //新卡注册逻辑
                checkHasUser();
            } else if (isRecharge) {
                //充值逻辑
                rechargeWreatCard();
            } else if (!TextUtils.isEmpty(iccardInfoId)) {
                //补卡逻辑
                replaceCard();
            } else {
                //其他管理卡逻辑
                saveData();
@@ -374,9 +377,7 @@
                data.append("卡  号:" + rechargeBean.getCardNumber() + "\n");
                data.append("充值金额:" + rechargeBean.getMorny() + " 元" + "\n");
                data.append("卡内余额:" + rechargeBean.getBalance() + " 元" + "\n");
//                data.append("充值水量:" + rechargeBean.getRechargeWater() + " 吨" + "\n");
//                data.append("剩余水量:" + rechargeBean.getSurplusWater() + " 吨" + "\n");
                data.append("日  期:" + DateUtil.dateToStamp(rechargeBean.getDate(), DateUtil.type2) + "\n\n");
                data.append("日  期:" + DateUtil.dateToStamp(rechargeBean.getRechargeDate(), DateUtil.type2) + "\n\n");
                data.append("*****************************");
            }
            float size = 26;
@@ -409,43 +410,11 @@
    private void rechargeWreatCard() {
        try {
            String cardNumberThis = NfcReadHelper.getInstence(intent, this).getCardNumber();
            cardNumberThis = HexUtil.spaceHex(cardNumberThis);
            cardNumberThis = HexUtil.HighLowHex(cardNumberThis);
            //判断是否充值的是一个卡
            if (cardNumberThis.equalsIgnoreCase(cardNumber)) {
                //余额
                int balance = userCard.getBalance() + MornyUtil.changeY2F(morny);
                userCard.setBalance(balance);
                //剩余水量
//                int surplusWater = userCard.getSurplusWater() + MornyUtil.changeY2F(rechageWater);
//                userCard.setSurplusWater(surplusWater);
                int rechageTims = userCard.getRechargeTimes() + 1;
                if (rechageTims == 256) {
                    rechageTims = 0;
                }
                userCard.setRechargeTimes((short) rechageTims);
            if (cardNumberThis.equalsIgnoreCase(rechargeBean.getCardNumber())) {
                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);
                    rechargeBean.setSurplusWater(MornyUtil.changeF2Y(0));
                    rechargeBean.setRechargeWater(rechageWater);
                    try {
                        baseDao.rechargeDao().insert(rechargeBean);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    //   打印相关
                    setPrinterData(rechargeBean);
                    startDetailActivity(userName, "终端写卡");
                if (WriteCardUtils.setUser(intent, userCard, this)) {
                    confromRecharge(rechargeBean.getOrderId(), 0);
                } else {
                    TipUtil.show(NFCWreatActivity.this, "写卡失败,请重新再试");
                }
@@ -457,112 +426,6 @@
        }
    }
    private void setmanageCard(Intent intent, final ManageCard manageCard) {
        manageCardFlag = NFCWriteHelper.getInstence(intent, this).writeData(manageCard.toByte(baseDao), 1, 0);
    }
    /**
     * 制作清零卡
     *
     * @param intent
     * @param clearOrInitCard
     */
    private void setClean(Intent intent, CleanCard clearOrInitCard) {
        cleanFlag = NFCWriteHelper.getInstence(intent, this).writeData(clearOrInitCard.toByte(baseDao), 1, 0);
    }
    /**
     * 保存区域表号卡
     *
     * @param intent
     * @param regionCard
     */
    private void setRegionCard(Intent intent, RegionCard regionCard) {
        regionFlag = NFCWriteHelper.getInstence(intent, this).writeData(regionCard.toByte(), 1, 0);
    }
    /**
     * 密码卡
     *
     * @param intent
     * @param passWordCard
     */
    private void setPassWordCard(Intent intent, PassWordCard passWordCard) {
        passwordFlag = NFCWriteHelper.getInstence(intent, this).writeData(passWordCard.toByte(baseDao), 1, 0);
    }
    /**
     * 用户电量单价
     *
     * @param intent
     * @param electricPriceCard
     */
    private void setElectricPriceCard(Intent intent, ElectricPriceCard electricPriceCard) {
        electricPriceFlag = NFCWriteHelper.getInstence(intent, this).writeData(electricPriceCard.toByte(baseDao), 1, 0);
    }
    /**
     * 重新注册设备卡
     *
     * @param intent
     * @param registeredCard
     */
    private void setRegisteredCard(Intent intent, RegisteredCard registeredCard) {
        registeredFlag = NFCWriteHelper.getInstence(intent, this).writeData(registeredCard.toByte(baseDao), 1, 0);
    }
    /**
     * 删除全部用户卡
     *
     * @param intent
     * @param cleanUserCard
     */
    private void setCleanUserCard(Intent intent, CleanUserCard cleanUserCard) {
        cleanUserCardFlag = NFCWriteHelper.getInstence(intent, this).writeData(cleanUserCard.toByte(baseDao), 1, 0);
    }
    /**
     * 设置域名卡
     *
     * @param intent
     * @param domainCard
     */
    private void setDomainCard(Intent intent, DomainCard domainCard) {
        try {
            domainCrdFlag = NFCWriteHelper.getInstence(intent, this).writeData(domainCard.getZeroByte(), 1, 0);
            if (!domainCrdFlag) {
                return;
            }
            domainCrdFlag = NFCWriteHelper.getInstence(intent, this).writeData(domainCard.getOneByte(), 1, 1);
            if (!domainCrdFlag) {
                return;
            }
            domainCrdFlag = NFCWriteHelper.getInstence(intent, this).writeData(domainCard.getTwoByte(), 1, 2);
        } catch (Exception e) {
            domainCrdFlag = false;
            throw new RuntimeException(e);
        }
    }
    private void setTestCard(Intent intent, TestCard testCard) {
        testCardFlag = NFCWriteHelper.getInstence(intent, this).writeData(testCard.toByte(baseDao), 1, 0);
    }
    private void setConfigDeviceRegiest(Intent intent, ConfigureDeviceRegistrationCrad configureDeviceRegistrationCrad) {
        configDeviceRegiestFlag = NFCWriteHelper.getInstence(intent, this).writeData(configureDeviceRegistrationCrad.toByte(baseDao), 1, 0);
    }
    private void setConfigurationPower(Intent intent, ConfigurationPowerCard configurationPowerCard) {
        try {
            configPowerFlag = NFCWriteHelper.getInstence(intent, this).writeData(configurationPowerCard.toByte(baseDao), 1, 0);
        } catch (Exception e) {
            configPowerFlag = false;
            throw new RuntimeException(e);
        }
    }
    private void startDetailActivity(String userName, String statu) {
        Intent detail = new Intent(this, RechargeDetailActivity.class);
        detail.putExtra("userName", userName);
@@ -570,7 +433,7 @@
        detail.putExtra("userCard", userCard);
        if (!TextUtils.isEmpty(morny)) {
            detail.putExtra("morny", morny);
            detail.putExtra("rechageWater", rechageWater);
            detail.putExtra("rechargeBean", rechargeBean);
        }
        if (!TextUtils.isEmpty(cardNumber)) {
            detail.putExtra("cardNumber", cardNumber);
@@ -630,4 +493,186 @@
            }
        });
    }
    /**
     * IC开卡接口
     *
     * @param iccardNum     物理卡号
     * @param iccardType    ic卡类型 1 用户卡 2 管理卡
     * @param peasantId
     * @param rechargeMoney
     */
    private void openCard(String iccardNum, int iccardType, String peasantId, String rechargeMoney) {
        Map<String, Object> data = new HashMap<>();
        data.put("iccardNum", iccardNum);//物理卡号
        data.put("iccardType", iccardType);
        data.put("peasantId", peasantId);
        //工本费
        data.put("rechargeCardMoney", rechargeMoney);
        ApiManager.getInstance().requestPostLoading(this, "api/sjgg/iccard/recharge/openCard", OpenCardResult.class, data, new SubscriberListener<BaseResponse<OpenCardResult>>() {
            @Override
            public void onNext(BaseResponse<OpenCardResult> t) {
                if (t.isSuccess()) {
                    String userCode = t.getData().getIccardCode();
                    userCard.setUserCode(userCode.substring(0, 12));
                    userCard.setUserCodeNumber(Integer.valueOf(userCode.substring(12, 16)));
                    userCardBean.setCardNumber(cardNumber);
                    userCardBean.setUserCode(userCode);
                    baseDao.userCardDao().insert(userCardBean);
                    if (WriteCardUtils.setUser(intent, userCard, NFCWreatActivity.this)) {
                        confromOpenCard(t.getData().getIccardRechargeRecordId(), 0);
                    } else {
                        confromOpenCard(t.getData().getIccardRechargeRecordId(), 2);
                    }
                } else {
                    TipUtil.show(t.getMsg());
                }
            }
        });
    }
    /**
     * 确认开卡写卡
     *
     * @param iccardRechargeRecordId
     * @param writeCardStatus
     */
    private void confromOpenCard(String iccardRechargeRecordId, int writeCardStatus) {
        Map<String, Object> data = new HashMap<>();
        data.put("iccardRechargeRecordId", iccardRechargeRecordId);
        //写卡状态 0 写卡成功 1 待写卡 2 写卡失败
        data.put("writeCardStatus", writeCardStatus);
        ApiManager.getInstance().requestPostLoading(this, "api/sjgg/iccard/recharge/openCardResult", LoginResult.class, data, new SubscriberListener<BaseResponse<LoginResult>>() {
            @Override
            public void onNext(BaseResponse<LoginResult> t) {
                if (t.isSuccess()) {
                    //{"code":"0","msg":"操作成功","data":{"chargeMethod":"","iccardCancelTime":"","lastRechargeTime":"2024-08-05 17:04:15","thisSaleMoney":"","totalRechargeWaterAmount":0.00,"iccardBalanceAmonunt":0.00,"iccardInfoId":"1820385315354320898","iccardProtocolName":"","totalRechargeElectricAmount":0.00,"logicState":1,"username":"","state":1,"familySize":"","yearRechargeMoney":0.00,"thisSaleAmount":"","onlyRechargeMoney":"","identityCard":"","iccardBrand":"","iccardBalanceMoney":0.00,"openOperatorUsername":"","adName":"","rechargeWaterAmount":"","openOperatorUserId":"1816297106145103873","lastSwipeTime":"","address":"","yearCompensateMoney":0.00,"iccardProtocolOpenMoney":"","peasantId":"1820374742679953410","reissueTimes":0,"iccardProtocolReissueMoney":"","iccardProtocolId":"","yearRechargeWaterAmount":0.00,"iccardBalanceElectric":0.00,"iccardStatus":0,"phone":"","lastRechargeMoney":0.00,"iccardOpenTime":"","yearRechargeElectricAmount":0.00,"reissueRechargeRecordId":"","iccardPrice":1.50,"iccardNum":"3714251023011","accountType":0,"equipCode":"","rechargeWaterMoney":"","totalRechargeMoney":0.00,"executeWaterPrice":"","iccardType":1,"iccardCode":"BADA4044"}}
                    startDetailActivity(userCardBean.getUserName(), "终端写卡");
                }
            }
        });
    }
    /**
     * 确认充值回调
     *
     * @param iccardRechargeRecordId
     * @param writeCardStatus
     */
    private void confromRecharge(String iccardRechargeRecordId, int writeCardStatus) {
        Map<String, Object> data = new HashMap<>();
        data.put("iccardRechargeRecordId", iccardRechargeRecordId);
        //写卡状态 0 写卡成功 1 待写卡 2 写卡失败
        data.put("writeCardStatus", writeCardStatus);
        data.put("writeCardStatus", writeCardStatus);
        ApiManager.getInstance().requestPostLoading(this, "api/sjgg/iccard/recharge/rechargeCardResult", LoginResult.class, data, new SubscriberListener<BaseResponse<LoginResult>>() {
            @Override
            public void onNext(BaseResponse<LoginResult> t) {
                if (t.isSuccess()) {
                    try {
                        baseDao.rechargeDao().insert(rechargeBean);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    //   打印相关
                    setPrinterData(rechargeBean);
                    startDetailActivity(rechargeBean.getUserName(), "终端写卡");
                }
            }
        });
    }
    /**
     * 补卡
     */
    private void replaceCardPost(String iccardBalanceMoney, String iccardBalanceElectric) {
        Map<String, Object> data = new HashMap<>();
        data.put("equipCode", DeviceUtils.getSN());
        //充值卡费
        data.put("rechargeCardMoney", rechargeCardMoney);
        // 旧卡的id
        data.put("iccardInfoId", iccardInfoId);
        //新卡的物理卡号
        data.put("iccardNum", cardNumber);
        //卡内剩余金额
        data.put("iccardBalanceMoney", iccardBalanceMoney);
        //卡内剩余电量
        data.put("iccardBalanceElectric", iccardBalanceElectric);
        ApiManager.getInstance().requestPostLoading(this, "api/sjgg/iccard/recharge/reissueOpenCard", ReplaceCardResult.class, data, new SubscriberListener<BaseResponse<ReplaceCardResult>>() {
            @Override
            public void onNext(BaseResponse<ReplaceCardResult> t) {
                if (t.isSuccess()) {
                    ReplaceCardResult replaceCardResult = t.getData();
                    userCard = new UserCard();
                    userCard.setArerNumber(Integer.valueOf(QHOnLineApplication.getInstance().arerNumber));
                    String userCode = t.getData().getIccardCode();
                    userCard.setUserCode(userCode.substring(0, 12));
                    userCard.setUserCodeNumber(Integer.valueOf(userCode.substring(12, 16)));
                    userCard.setCardWriteState(0);
                    userCard.setCardState(1);
                    userCard.setBalance(MornyUtil.changeY2F(replaceCardResult.getIccardBalanceMoney()));
                    userCard.setSurplusElecticity(MornyUtil.changeY2F(replaceCardResult.getIccardBalanceElectric()));
                    userCard.setTotalMorny(MornyUtil.changeY2F(replaceCardResult.getTotalRechargeMoney()));
                    userCard.setRechargeDate(Calendar.getInstance());
                    userCard.setElectricPrice(Float.valueOf(QHOnLineApplication.getInstance().electriclePriceStr));
                    if (WriteCardUtils.setUser(intent, userCard, NFCWreatActivity.this)) {
                        confromReplaceCard(replaceCardResult.getIccardRechargeRecordId(), 0);
                    } else {
                        TipUtil.show(NFCWreatActivity.this, "写卡失败,请重试");
                    }
                    //   打印相关
//                    setPrinterData(rechargeBean);
//                    startDetailActivity(rechargeBean.getUserName(), "终端写卡");
                }
            }
        });
    }
    /**
     * 确认补卡写卡成功
     *
     * @param iccardRechargeRecordId
     * @param writeCardStatus
     */
    private void confromReplaceCard(String iccardRechargeRecordId, int writeCardStatus) {
        Map<String, Object> data = new HashMap<>();
        data.put("equipCode", DeviceUtils.getSN());
//        data.put("iccardRechargeRecordId", iccardRechargeRecordId);
        //写卡状态 0 写卡成功 1 待写卡 2 写卡失败
        data.put("writeCardStatus", writeCardStatus);
        ApiManager.getInstance().requestPostLoading(this, "api/sjgg/iccard/recharge/reissueOpenCardResult", LoginResult.class, data, new SubscriberListener<BaseResponse<LoginResult>>() {
            @Override
            public void onNext(BaseResponse<LoginResult> t) {
                if (t.isSuccess()) {
                    try {
                        baseDao.rechargeDao().insert(rechargeBean);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    //   打印相关
                    setPrinterData(rechargeBean);
                    startDetailActivity(rechargeBean.getUserName(), "终端写卡");
                }
            }
        });
    }
    /**
     * 补卡逻辑
     */
    private void replaceCard() {
        cardNumber = NfcReadHelper.getInstence(intent, this).getCardNumber();
        if (replaceType == BaseCommon.REPLACE_NO_CARD) {
            replaceCardPost("", "");
        }
    }
}