| | |
| | | } |
| | | //获取卡内信息 |
| | | mOldUserCard = NfcReadHelper.getInstence(intent, this).getUserCardData(); |
| | | getUserInfoAndCardInfo(cardNumber); |
| | | getUserInfoAndCardInfo(cardNumber,mOldUserCard.getMyUserCode()); |
| | | |
| | | } |
| | | |
| | | |
| | | private void setUserData(String cardNumber, String userName, String lastRechargeTime, float iccardBalanceMoney, List<byte[]> data) { |
| | | String state = ""; |
| | | private void setUserData(String cardNumber, String userName, String lastRechargeTime, List<byte[]> data) { |
| | | if (cardType.equalsIgnoreCase(CardCommon.USER_CARD_TYPE_1)) { |
| | | state = "终端写卡"; |
| | | setCardState("终端写卡"); |
| | | binding.rechargeLL.setVisibility(View.VISIBLE); |
| | | binding.rechargeRegistBtn.setVisibility(View.VISIBLE); |
| | | binding.redStatu.setTextColor(this.getResources().getColor(R.color.black)); |
| | | } else if (cardType.equalsIgnoreCase(CardCommon.USER_CARD_TYPE_2)) { |
| | | setCardState("未刷卡关泵,当前不可充值"); |
| | | TipUtil.show(RechargeActivity.this, "未刷卡关泵,当前不可充值"); |
| | | } else if (cardType.equalsIgnoreCase(CardCommon.USER_CARD_TYPE_3)) { |
| | | setCardState("叠加充值"); |
| | | } else { |
| | |
| | | binding.rechargeReadLL.setVisibility(View.GONE); |
| | | binding.rechargeTextLL.setVisibility(View.VISIBLE); |
| | | binding.userName.setText(userName); |
| | | binding.redStatu.setText(state); |
| | | binding.redInitCode.setText(cardNumber); |
| | | binding.redRechargeDate.setText("本卡最后购水日期:\n\n" + lastRechargeTime); |
| | | binding.redUserCode.setText(cardInfoResult.getIccardCode()); |
| | | if (userCard != null) { |
| | | |
| | | binding.redRemainderBlance.setText(String.valueOf(iccardBalanceMoney) + " 元"); |
| | | binding.redRemainderBlance.setText(MornyUtil.changeF2Y(userCard.getBalance()) + " 元"); |
| | | binding.redBalanceElectric.setText("充值后剩余电量:" + MornyUtil.changeF2Y(userCard.getSurplusElecticity()) + " 度"); |
| | | } |
| | | |
| | | binding.redRechargeElectric.setText("电量单价:" + QHOnLineApplication.getInstance().electriclePriceStr + "元/度"); |
| | | |
| | | } else { |
| | |
| | | //充值补扣金额=充值金额+充值前读取的卡内余额-充值回调返回卡内余额 |
| | | int deductionMorny = MornyUtil.changeY2F(morny) + mOldUserCard.getBalance() - MornyUtil.changeY2F(balance); |
| | | |
| | | if (MornyUtil.changeY2F(morny) < deductionMorny) { |
| | | TipUtil.show(RechargeActivity.this, "当前充值金额小于补扣金额,补扣金额为" + MornyUtil.changeF2Y(deductionMorny) + "元,充值金额应大于补扣金额!"); |
| | | return; |
| | | } |
| | | |
| | | //添加充值信息 |
| | | rechargeBean = new RechargeBean(); |
| | |
| | | rechargeBean.setState(1); |
| | | rechargeBean.setOrderId(iccardRechargeRecordId); |
| | | rechargeBean.setDeductionMorny(MornyUtil.changeF2Y(deductionMorny)); |
| | | rechargeBean.setAdminId(QHOnLineApplication.getInstance().adminId); |
| | | |
| | | |
| | | userCard.setCardWriteState(0); |
| | | userCard.setCardState(1); |
| | |
| | | calendar.setTimeInMillis(time); |
| | | userCard.setBalance(MornyUtil.changeY2F(String.valueOf(balance))); |
| | | userCard.setSurplusElecticity(MornyUtil.changeY2F(String.valueOf(iccardBalanceElectric))); |
| | | String sumMorny = MornyUtil.sumPrice(Float.valueOf(MornyUtil.changeF2Y(userCard.getTotalMorny())), Float.valueOf(morny)); |
| | | userCard.setTotalMorny(MornyUtil.changeY2F(sumMorny)); |
| | | userCard.setTotalMorny(MornyUtil.changeY2F(String.valueOf(totalMorny))); |
| | | userCard.setRechargeDate(calendar); |
| | | userCard.setElectricPrice(Float.valueOf(QHOnLineApplication.getInstance().electriclePriceStr)); |
| | | if (deductionMorny == 0) { |
| | |
| | | data.put("iccardBalanceAmonunt", "0"); |
| | | //卡内剩余电量 |
| | | data.put("iccardBalanceElectric", MornyUtil.changeF2Y(userCard.getSurplusElecticity())); |
| | | ApiManager.getInstance().requestPostLoading(this, "api/sjgg/iccard/recharge/rechargeCard", RechargeResult.class, data, new SubscriberListener<BaseResponse<RechargeResult>>() { |
| | | ApiManager.getInstance().requestPostLoading(this, "iccard/recharge/rechargeCard", RechargeResult.class, data, new SubscriberListener<BaseResponse<RechargeResult>>() { |
| | | @Override |
| | | public void onNext(BaseResponse<RechargeResult> t) { |
| | | if (t.isSuccess()) { |
| | | RechargeResult rechargeResult = t.getData(); |
| | | startNfcActivity(morny, rechargeResult.getIccardBalanceMoney(), rechargeResult.getRechargeElectricAmount(), rechargeResult.getIccardBalanceElectric(), rechargeResult.getTotalRechargeMoney(), rechargeResult.getIccardRechargeRecordId()); |
| | | if (t.getData() != null) { |
| | | RechargeResult rechargeResult = t.getData(); |
| | | startNfcActivity(morny, rechargeResult.getIccardBalanceMoney(), rechargeResult.getRechargeElectricAmount(), rechargeResult.getIccardBalanceElectric(), rechargeResult.getTotalRechargeMoney(), rechargeResult.getIccardRechargeRecordId()); |
| | | } else { |
| | | TipUtil.show(RechargeActivity.this, "充值失败请重试!"); |
| | | } |
| | | } else { |
| | | TipUtil.show(RechargeActivity.this, t.getMsg()); |
| | | } |
| | | } |
| | | }); |
| | |
| | | * |
| | | * @param iccardCode |
| | | */ |
| | | public void getUserInfoAndCardInfo(String iccardCode) { |
| | | public void getUserInfoAndCardInfo(String iccardNum, String iccardCode) { |
| | | Map<String, Object> data = new HashMap<>(); |
| | | //ic卡信息id |
| | | data.put("iccardNum", iccardCode); |
| | | ApiManager.getInstance().requestPostLoading(this, "api/sjgg/iccard/peasant/getIccardInfoVoByCardCode", CardInfoResult.class, data, new SubscriberListener<BaseResponse<CardInfoResult>>() { |
| | | data.put("iccardNum", iccardNum); |
| | | data.put("iccardCode", iccardCode); |
| | | ApiManager.getInstance().requestPostLoading(this, "iccard/peasant/getIccardInfoVoByCardCode", CardInfoResult.class, data, new SubscriberListener<BaseResponse<CardInfoResult>>() { |
| | | @Override |
| | | public void onNext(BaseResponse<CardInfoResult> t) { |
| | | String state = ""; |
| | | if (t.isSuccess()) { |
| | | //ic卡状态 0 正常 1 已注销 2 已挂失 |
| | | if (t.getData().getIccardStatus() == 0) { |
| | | List<byte[]> data = NfcReadHelper.getInstence(intent, RechargeActivity.this).getOnesectorData(); |
| | | if (!data.isEmpty()) { |
| | | if (!TextUtils.isEmpty(cardNumber)) { |
| | | cardInfoResult = t.getData(); |
| | | setUserData(cardNumber, cardInfoResult.getPeasantName(), cardInfoResult.getLastRechargeTime(), cardInfoResult.getIccardBalanceMoney(), data); |
| | | if (t.getData() != null) { |
| | | //ic卡状态 0 正常 1 已注销 2 已挂失 |
| | | if (t.getData().getIccardStatus() == 0) { |
| | | List<byte[]> data = NfcReadHelper.getInstence(intent, RechargeActivity.this).getOnesectorData(); |
| | | if (!data.isEmpty()) { |
| | | if (!TextUtils.isEmpty(cardNumber)) { |
| | | cardInfoResult = t.getData(); |
| | | setUserData(cardNumber, cardInfoResult.getPeasantName(), cardInfoResult.getLastRechargeTime(), data); |
| | | } else { |
| | | TipUtil.show(RechargeActivity.this, "读取卡片失败,请重新贴卡"); |
| | | } |
| | | } else { |
| | | TipUtil.show(RechargeActivity.this, "读取卡片失败,请重新贴卡"); |
| | | TipUtil.show(RechargeActivity.this, "卡片识别错误,请重试!"); |
| | | } |
| | | } else if (t.getData().getIccardStatus() == 1) { |
| | | TipUtil.show(RechargeActivity.this, "当前卡已注销"); |
| | | } else { |
| | | TipUtil.show(RechargeActivity.this, "卡片识别错误,请重试!"); |
| | | TipUtil.show(RechargeActivity.this, "当前卡已挂失"); |
| | | } |
| | | } else if (t.getData().getIccardStatus() == 1) { |
| | | TipUtil.show(RechargeActivity.this, "当前卡已注销"); |
| | | } else { |
| | | TipUtil.show(RechargeActivity.this, "当前卡已挂失"); |
| | | TipUtil.show(RechargeActivity.this, "当前卡片错误,未能查到该卡信息!"); |
| | | } |
| | | |
| | | |
| | | } else { |
| | | TipUtil.show(RechargeActivity.this, t.getMsg()); |
| | | } |
| | | } |
| | | }); |