| | |
| | | |
| | | import android.content.Intent; |
| | | import android.os.Bundle; |
| | | import android.os.Handler; |
| | | import android.os.Message; |
| | | import android.text.TextUtils; |
| | | import android.util.Log; |
| | | import android.view.LayoutInflater; |
| | | import android.widget.Toast; |
| | | |
| | | import com.dayu.recharge.MyApplication; |
| | | |
| | | import com.dayu.recharge.R; |
| | | import com.dayu.recharge.card.CleanCard; |
| | | import com.dayu.recharge.card.CleanUserCard; |
| | |
| | | import com.dayu.recharge.socketBean.BalanceSelecteRequestBean; |
| | | import com.dayu.recharge.socketBean.RechargeRequestBean; |
| | | import com.dayu.recharge.tools.BcdUtil; |
| | | import com.dayu.recharge.tools.HexUtil; |
| | | import com.dayu.recharge.tools.NFCWriteHelper; |
| | | import com.dayu.recharge.tools.NfcReadHelper; |
| | | import com.dayu.recharge.tools.WriteCardUtils; |
| | |
| | | userName = this.getIntent().getStringExtra("userName"); |
| | | binding.cardData.setText("充值金额:" + morny + "元"); |
| | | // 充值逻辑 |
| | | recharge(userCard.getInitPeasantCode(), userName, "启用"); |
| | | // recharge(userCard.getInitPeasantCode(), userName, "启用"); |
| | | } |
| | | |
| | | try { |
| | |
| | | */ |
| | | private void checkHasUser() { |
| | | |
| | | String cardType = NfcReadHelper.getInstence(intent).getCradType(); |
| | | String cardType = NfcReadHelper.getInstence(intent, this).getCradType(); |
| | | Log.i("NFCWreatActivity", "cardType=" + cardType); |
| | | if (cardType.equals(MyCommon.USER_CARD_TYPE_1) || |
| | | cardType.equals(MyCommon.USER_CARD_TYPE_2) || |
| | |
| | | || configurationPowerCard != null) { |
| | | if (userCard != null && TextUtils.isEmpty(morny)) { |
| | | |
| | | userFlag = WriteCardUtils.setUser(intent, userCard); |
| | | userFlag = WriteCardUtils.setUser(intent, userCard, this); |
| | | } |
| | | if (cleanCard != null) { |
| | | NFCWriteHelper.getInstence(intent).changePasword(1); |
| | | setClean(intent, cleanCard); |
| | | } |
| | | if (manageCard != null) { |
| | |
| | | //用户卡 |
| | | startDetailActivity(userCardBean.getUserName(), "启用"); |
| | | } else if (!TextUtils.isEmpty(morny)) { |
| | | TipUtil.show(NFCWreatActivity.this, "充值成功", new TipUtil.TipListener() { |
| | | @Override |
| | | public void onCancle() { |
| | | NFCWreatActivity.this.finish(); |
| | | } |
| | | }); |
| | | TipUtil.show(NFCWreatActivity.this, "充值成功", () -> NFCWreatActivity.this.finish()); |
| | | } else { |
| | | TipUtil.show(NFCWreatActivity.this, "写卡成功", new TipUtil.TipListener() { |
| | | @Override |
| | | public void onCancle() { |
| | | NFCWreatActivity.this.finish(); |
| | | } |
| | | }); |
| | | TipUtil.show(NFCWreatActivity.this, "写卡成功", () -> NFCWreatActivity.this.finish()); |
| | | } |
| | | |
| | | } catch (Exception e) { |
| | |
| | | String state = BcdUtil.bcdToStr(readData.getBodyBytes()[2]); |
| | | //00启用01禁用02隶属信息不符03无此卡信息04其它 |
| | | if ("00".equalsIgnoreCase(state)) { |
| | | rechargeIsOk = true; |
| | | binding.cardData.setText("充值通信完成,请帖卡充值"); |
| | | rechargeBean = new RechargeBean(); |
| | | rechargeBean.setDate(System.currentTimeMillis()); |
| | | rechargeBean.setMorny(morny); |
| | | rechargeBean.setUserName(name); |
| | | |
| | | rechargeBean.setSerial(adminData.getSerial()); |
| | | userCard.setRechargeDate(Calendar.getInstance()); |
| | | rechargeBean.setBalance(MornyUtil.changeF2Y(balance)); |
| | | rechargeBean.setInitPeasantCode(initPeasantCode); |
| | | rechargeBean.setOrderID(orderId); |
| | | try { |
| | | baseDao.rechargeDao().insert(rechargeBean); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | userCard.setRechargeTimes(userCard.getRechargeTimes() + 1); |
| | | // rechargeIsOk = true; |
| | | // binding.cardData.setText("充值通信完成,请帖卡充值"); |
| | | // rechargeBean = new RechargeBean(); |
| | | // rechargeBean.setDate(System.currentTimeMillis()); |
| | | // rechargeBean.setMorny(morny); |
| | | // rechargeBean.setUserName(name); |
| | | // |
| | | // rechargeBean.setSerial(adminData.getSerial()); |
| | | // userCard.setRechargeDate(Calendar.getInstance()); |
| | | // rechargeBean.setBalance(MornyUtil.changeF2Y(balance)); |
| | | // rechargeBean.setInitPeasantCode(initPeasantCode); |
| | | // rechargeBean.setOrderID(orderId); |
| | | // try { |
| | | // baseDao.rechargeDao().insert(rechargeBean); |
| | | // } catch (Exception e) { |
| | | // e.printStackTrace(); |
| | | // } |
| | | // userCard.setRechargeTimes(userCard.getRechargeTimes() + 1); |
| | | } else if ("01".equalsIgnoreCase(state)) { |
| | | userCard.setState("01"); |
| | | userFlag = WriteCardUtils.setUser(intent, userCard); |
| | | // userCard.setState("01"); |
| | | userFlag = WriteCardUtils.setUser(intent, userCard, NFCWreatActivity.this); |
| | | NFCWreatActivity.this.finish(); |
| | | TipUtil.show("充值报文错误-禁用"); |
| | | } else if ("02".equalsIgnoreCase(state)) { |
| | |
| | | |
| | | //往卡内写充值后的数据 |
| | | private void rechargeWrratCard() { |
| | | UserCard userCardold = NfcReadHelper.getInstence(intent).getUserCardData(); |
| | | UserCard userCardold = NfcReadHelper.getInstence(intent, this).getUserCardData(); |
| | | if (userCardold != null) { |
| | | //判断是否充值的是一个卡 |
| | | if (userCard.getInitPeasantCode().equals(userCardold.getInitPeasantCode())) { |
| | | userCard.setState("00"); |
| | | userFlag = WriteCardUtils.setUser(intent, userCard); |
| | | // 打印相关 |
| | | if (userFlag) { |
| | | setPrinterData(rechargeBean); |
| | | startDetailActivity(userName, "启用"); |
| | | } else { |
| | | TipUtil.show(NFCWreatActivity.this, "写卡失败,请重新再试"); |
| | | } |
| | | } else { |
| | | TipUtil.show(NFCWreatActivity.this, "读取的卡和充值的卡不一致"); |
| | | } |
| | | // 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, "读取的卡和充值的卡不一致"); |
| | | // } |
| | | } else { |
| | | |
| | | } |
| | | } |
| | | |
| | | private void setmanageCard(Intent intent, final ManageCard manageCard) { |
| | | manageCardFlag = NFCWriteHelper.getInstence(intent).writeData(manageCard.toZeroByte(), 1, 0); |
| | | manageCardFlag = NFCWriteHelper.getInstence(intent, this).writeData(manageCard.toZeroByte(), 1, 0); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @param clearOrInitCard |
| | | */ |
| | | private void setClean(Intent intent, final CleanCard clearOrInitCard) { |
| | | cleanFlag = NFCWriteHelper.getInstence(intent).writeData(clearOrInitCard.toByte(), 1, 0); |
| | | cleanFlag = NFCWriteHelper.getInstence(intent, this).writeData(clearOrInitCard.toByte(), 1, 0); |
| | | } |
| | | |
| | | |
| | |
| | | * @param registeredCard |
| | | */ |
| | | private void setRegisteredCard(Intent intent, RegisteredCard registeredCard) { |
| | | registeredFlag = NFCWriteHelper.getInstence(intent).writeData(registeredCard.toByte(), 1, 0); |
| | | registeredFlag = NFCWriteHelper.getInstence(intent, this).writeData(registeredCard.toByte(), 1, 0); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @param cleanUserCard |
| | | */ |
| | | private void setCleanUserCard(Intent intent, CleanUserCard cleanUserCard) { |
| | | cleanUserCardFlag = NFCWriteHelper.getInstence(intent).writeData(cleanUserCard.toByte(), 1, 0); |
| | | cleanUserCardFlag = NFCWriteHelper.getInstence(intent, this).writeData(cleanUserCard.toByte(), 1, 0); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | private void setDomainCard(Intent intent, DomainCard domainCard) { |
| | | try { |
| | | domainCrdFlag = NFCWriteHelper.getInstence(intent).writeData(domainCard.getZeroByte(), 1, 0); |
| | | domainCrdFlag = NFCWriteHelper.getInstence(intent, this).writeData(domainCard.getZeroByte(), 1, 0); |
| | | if (!domainCrdFlag) { |
| | | return; |
| | | } |
| | | domainCrdFlag = NFCWriteHelper.getInstence(intent).writeData(domainCard.getOneByte(), 1, 1); |
| | | domainCrdFlag = NFCWriteHelper.getInstence(intent, this).writeData(domainCard.getOneByte(), 1, 1); |
| | | if (!domainCrdFlag) { |
| | | return; |
| | | } |
| | | domainCrdFlag = NFCWriteHelper.getInstence(intent).writeData(domainCard.getTwoByte(), 1, 2); |
| | | 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).writeData(testCard.toByte(), 1, 0); |
| | | testCardFlag = NFCWriteHelper.getInstence(intent, this).writeData(testCard.toByte(), 1, 0); |
| | | } |
| | | |
| | | |
| | | private void setConfigDeviceRegiest(Intent intent, ConfigureDeviceRegistrationCrad configureDeviceRegistrationCrad) { |
| | | configDeviceRegiestFlag = NFCWriteHelper.getInstence(intent).writeData(configureDeviceRegistrationCrad.toByte(), 1, 0); |
| | | configDeviceRegiestFlag = NFCWriteHelper.getInstence(intent, this).writeData(configureDeviceRegistrationCrad.toByte(), 1, 0); |
| | | } |
| | | |
| | | private void setConfigurationPower(Intent intent, ConfigurationPowerCard configurationPowerCard) { |
| | | try { |
| | | configPowerFlag = NFCWriteHelper.getInstence(intent).writeData(configurationPowerCard.toByte(), 1, 0); |
| | | configPowerFlag = NFCWriteHelper.getInstence(intent, this).writeData(configurationPowerCard.toByte(), 1, 0); |
| | | } catch (Exception e) { |
| | | configPowerFlag = false; |
| | | throw new RuntimeException(e); |
| | |
| | | String state = BcdUtil.bcdToStr(readData.getBodyBytes()[2]); //BCD码00启用 01禁用 02隶属信息不符 03无此卡信息 04其它s |
| | | if (userCard == null) { |
| | | userCard = new UserCard(); |
| | | userCard.setRechargeTimes(0); |
| | | ElectricPriceBean electricPriceBean = baseDao.electricPriceDao().findFirst(); |
| | | if (electricPriceBean != null) { |
| | | userCard.setElectricityPrice(electricPriceBean.getPrice()); |
| | | } else { |
| | | //默认是1元 |
| | | userCard.setElectricityPrice(1.000f); |
| | | } |
| | | userCard.setSwipeNumber((short) 0); |
| | | userCard.setState("00"); |
| | | userCard.setBalance(0); |
| | | userCard.setAddressCode(adminData.getAddressCode()); |
| | | userCard.setInitPeasantCode(initPeasantCode); |
| | | // userCard.setRechargeTimes(0); |
| | | // ElectricPriceBean electricPriceBean = baseDao.electricPriceDao().findFirst(); |
| | | // if (electricPriceBean != null) { |
| | | // userCard.setElectricityPrice(electricPriceBean.getPrice()); |
| | | // } else { |
| | | // //默认是1元 |
| | | // userCard.setElectricityPrice(1.000f); |
| | | // } |
| | | // userCard.setSwipeNumber((short) 0); |
| | | // userCard.setState("00"); |
| | | // userCard.setBalance(0); |
| | | // userCard.setAddressCode(adminData.getAddressCode()); |
| | | // userCard.setInitPeasantCode(initPeasantCode); |
| | | } |
| | | //只有启动状态才能充值 |
| | | //金额 |
| | |
| | | String name = SocketUtil.fromHexString(SocketUtil.bytesToHexClean0(nameByte)); |
| | | if ("00".equals(state)) { |
| | | stateText.append("启用"); |
| | | userCard.setBalance(balance); |
| | | userCard.setState("00"); |
| | | // userCard.setBalance(balance); |
| | | // userCard.setState("00"); |
| | | //补卡逻辑 |
| | | userFlag = WriteCardUtils.setUser(intent, userCard); |
| | | userFlag = WriteCardUtils.setUser(intent, userCard, NFCWreatActivity.this); |
| | | if (userFlag) { |
| | | TipUtil.show(NFCWreatActivity.this, "补卡成功", new TipUtil.TipListener() { |
| | | @Override |
| | |
| | | return; |
| | | } else if ("01".equals(state)) { |
| | | stateText.append("禁用"); |
| | | userCard.setState("01"); |
| | | userCard.setBalance(balance); |
| | | userFlag = WriteCardUtils.setUser(intent, userCard); |
| | | // userCard.setState("01"); |
| | | // userCard.setBalance(balance); |
| | | userFlag = WriteCardUtils.setUser(intent, userCard, NFCWreatActivity.this); |
| | | startDetailActivity(name, stateText.toString()); |
| | | |
| | | } else if ("02".equals(state)) { |
| | |
| | | |
| | | } |
| | | |
| | | protected void onDestroy() { |
| | | super.onDestroy(); |
| | | nfcWreatActivity = null; |
| | | } |
| | | } |