左晓为主开发手持机充值管理机
zuoxiao
2023-11-15 61a4ae8b08652f24916218037beeef594bcde83b
app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java
@@ -11,8 +11,12 @@
import com.dayu.recharge.card.CleanCard;
import com.dayu.recharge.card.CleanUserCard;
import com.dayu.recharge.card.ConfigurationPowerCard;
import com.dayu.recharge.card.ConfigureDeviceRegistrationCrad;
import com.dayu.recharge.card.DomainCard;
import com.dayu.recharge.card.ManageCard;
import com.dayu.recharge.card.RegisteredCard;
import com.dayu.recharge.card.TestCard;
import com.dayu.recharge.card.UserCard;
import com.dayu.recharge.databinding.ActivityWriteTextBinding;
import com.dayu.recharge.dbBean.AdminDataBean;
@@ -65,12 +69,18 @@
    boolean registeredFlag = false;
    boolean administrativeCardFlag = false;
    boolean cleanUserCardFlag = false;
    volatile UserCard userCard;
    ManageCard manageCard;
    boolean domainCrdFlag = false;
    boolean testCardFlag = false;
    boolean configDeviceRegiestFlag = false;
    boolean configPowerFlag = false;
    UserCardBean userCardBean;
    CleanCard cleanCard;
    String morny;
    AdminDataBean adminData;
    RechargeBean rechargeBean;
@@ -79,7 +89,15 @@
    RegisteredCard registeredCard;
    CleanUserCard cleanUserCard;
    volatile UserCard userCard;
    ManageCard manageCard;
    DomainCard domainCard;
    CleanCard cleanCard;
    ConfigureDeviceRegistrationCrad configureDeviceRegistrationCrad;
    TestCard testCard;
    ConfigurationPowerCard configurationPowerCard;
    //打印
    MyApplication baseApp;
@@ -128,6 +146,19 @@
            if (this.getIntent().hasExtra("cleanUserCard")) {
                cleanUserCard = (CleanUserCard) this.getIntent().getSerializableExtra("cleanUserCard");
            }
            if (this.getIntent().hasExtra("domainCard")) {
                domainCard = (DomainCard) this.getIntent().getSerializableExtra("domainCard");
            }
            if (this.getIntent().hasExtra("testCard")) {
                testCard = (TestCard) this.getIntent().getSerializableExtra("testCard");
            }
            if (this.getIntent().hasExtra("configureDeviceRegistrationCrad")) {
                configureDeviceRegistrationCrad = (ConfigureDeviceRegistrationCrad) this.getIntent().getSerializableExtra("configureDeviceRegistrationCrad");
            }
            if (this.getIntent().hasExtra("configurationPowerCard")) {
                configurationPowerCard = (ConfigurationPowerCard) this.getIntent().getSerializableExtra("configurationPowerCard");
            }
            morny = this.getIntent().getStringExtra("morny");
            try {
                adminData = baseDao.adminDao().findFirst();
@@ -182,7 +213,11 @@
    private void saveData() {
        try {
            startAnim();
            if (userCard != null || cleanCard != null || manageCard != null || registeredCard != null || cleanUserCard != null) {
            if (userCard != null || cleanCard != null || manageCard != null
                    || registeredCard != null || cleanUserCard != null
                    || domainCard != null || testCard != null
                    || configureDeviceRegistrationCrad != null
                    || configurationPowerCard != null) {
                if (userCard != null) {
                    setUser(intent, userCard);
                }
@@ -198,8 +233,19 @@
                if (cleanUserCard != null) {
                    setCleanUserCard(intent, cleanUserCard);
                }
                if ((userFlag || cleanFlag || manageCardFlag || registeredFlag || administrativeCardFlag)) {
                if (domainCard != null) {
                    setDomainCard(intent, domainCard);
                }
                if (testCard != null) {
                    setTestCard(intent, testCard);
                }
                if (configureDeviceRegistrationCrad != null) {
                    setConfigDeviceRegiest(intent, configureDeviceRegistrationCrad);
                }
                if (configurationPowerCard != null) {
                    setConfigurationPower(intent, configurationPowerCard);
                }
                if ((configPowerFlag || configDeviceRegiestFlag || testCardFlag || domainCrdFlag || userFlag || cleanFlag || manageCardFlag || registeredFlag || administrativeCardFlag || cleanUserCardFlag)) {
                    try {
                        if (userFlag && userCardBean != null) {
                            baseDao.userCardDao().insert(userCardBean);
@@ -456,12 +502,18 @@
                userFlag = flag;
            }
        });
        if (!userFlag) {
            return;
        }
        NFCWriteHelper.getInstence(intent).writeData(userCard.getOneBytes(), 1, 1, new NFCWriteHelper.NFCCallback() {
            @Override
            public void isSusses(boolean flag) {
                userFlag = flag;
            }
        });
        if (!userFlag) {
            return;
        }
        NFCWriteHelper.getInstence(intent).writeData(userCard.getTwoBytes(), 1, 2, new NFCWriteHelper.NFCCallback() {
            @Override
            public void isSusses(boolean flag) {
@@ -485,6 +537,12 @@
        });
    }
    /**
     * 删除全部用户卡
     *
     * @param intent
     * @param cleanUserCard
     */
    private void setCleanUserCard(Intent intent, CleanUserCard cleanUserCard) {
        NFCWriteHelper.getInstence(intent).writeData(cleanUserCard.toByte(), 1, 0, new NFCWriteHelper.NFCCallback() {
            @Override
@@ -495,6 +553,78 @@
    }
    /**
     * 设置域名卡
     *
     * @param intent
     * @param domainCard
     */
    private void setDomainCard(Intent intent, DomainCard domainCard) {
        try {
            NFCWriteHelper.getInstence(intent).writeData(domainCard.getZeroByte(), 1, 0, new NFCWriteHelper.NFCCallback() {
                @Override
                public void isSusses(boolean flag) {
                    domainCrdFlag = flag;
                }
            });
            if (!domainCrdFlag) {
                return;
            }
            NFCWriteHelper.getInstence(intent).writeData(domainCard.getOneByte(), 1, 1, new NFCWriteHelper.NFCCallback() {
                @Override
                public void isSusses(boolean flag) {
                    domainCrdFlag = flag;
                }
            });
            if (!domainCrdFlag) {
                return;
            }
            NFCWriteHelper.getInstence(intent).writeData(domainCard.getTwoByte(), 1, 2, new NFCWriteHelper.NFCCallback() {
                @Override
                public void isSusses(boolean flag) {
                    domainCrdFlag = flag;
                }
            });
        } catch (Exception e) {
            domainCrdFlag = false;
            throw new RuntimeException(e);
        }
    }
    private void setTestCard(Intent intent, TestCard testCard) {
        NFCWriteHelper.getInstence(intent).writeData(testCard.toByte(), 1, 0, new NFCWriteHelper.NFCCallback() {
            @Override
            public void isSusses(boolean flag) {
                testCardFlag = flag;
            }
        });
    }
    private void setConfigDeviceRegiest(Intent intent, ConfigureDeviceRegistrationCrad configureDeviceRegistrationCrad) {
        NFCWriteHelper.getInstence(intent).writeData(configureDeviceRegistrationCrad.toByte(), 1, 0, new NFCWriteHelper.NFCCallback() {
            @Override
            public void isSusses(boolean flag) {
                configDeviceRegiestFlag = flag;
            }
        });
    }
    private void setConfigurationPower(Intent intent, ConfigurationPowerCard configurationPowerCard) {
        try {
            NFCWriteHelper.getInstence(intent).writeData(configurationPowerCard.toByte(), 1, 0, new NFCWriteHelper.NFCCallback() {
                @Override
                public void isSusses(boolean flag) {
                    configPowerFlag = flag;
                }
            });
        } catch (Exception e) {
            configPowerFlag = false;
            throw new RuntimeException(e);
        }
    }
    /**
     * @param initPeasantCode 农户注册编号
     */
    private void selectBalance(String initPeasantCode) {