| | |
| | | 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; |
| | |
| | | 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, |
| | |
| | | CleanUserCard cleanUserCard; |
| | | ManageCard manageCard; |
| | | DomainCard domainCard; |
| | | |
| | | CleanCard cleanCard; |
| | | ConfigureDeviceRegistrationCrad configureDeviceRegistrationCrad; |
| | | TestCard testCard; |
| | |
| | | boolean passwordFlag = false; |
| | | boolean cleanFlag = false; |
| | | boolean regionFlag = false; |
| | | boolean userFlag = false; |
| | | boolean manageCardFlag = false; |
| | | boolean registeredFlag = false; |
| | | boolean administrativeCardFlag = false; |
| | |
| | | |
| | | 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; |
| | | |
| | |
| | | //当前卡的物理卡号 |
| | | String cardNumber; |
| | | ConfirmDialog confirmDialog; |
| | | //旧的卡id |
| | | String iccardInfoId; |
| | | //补卡类型 |
| | | int replaceType; |
| | | //补卡工本费用 |
| | | String rechargeCardMoney; |
| | | ReplacementPriceDialog replacementPriceDialog; |
| | | |
| | | @Override |
| | | protected void onCreate(Bundle savedInstanceState) { |
| | |
| | | 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); |
| | |
| | | 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); |
| | |
| | | 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); |
| | |
| | | } 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(); |
| | |
| | | || 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()); |
| | |
| | | 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(); |
| | |
| | | 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; |
| | |
| | | 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, "写卡失败,请重新再试"); |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | 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); |
| | |
| | | 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); |
| | |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * 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("", ""); |
| | | } |
| | | } |
| | | } |