左晓为主开发手持机充值管理机
zuoxiao
2024-08-13 3673328730251736f9614793d9a75630c17b28f6
qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/RechargeActivity.java
@@ -68,6 +68,8 @@
    CardInfoResult cardInfoResult;
    UserCard mOldUserCard;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
@@ -103,6 +105,8 @@
            cardNumber = cardType.split(",")[0];
            cardType = cardType.split(",")[1];
        }
        //获取卡内信息
        mOldUserCard = NfcReadHelper.getInstence(intent, this).getUserCardData();
        getUserInfoAndCardInfo(cardNumber);
    }
@@ -134,6 +138,7 @@
            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) + " 元");
@@ -220,12 +225,16 @@
    private void startNfcActivity(String morny, String balance, float rechargeElectric, float iccardBalanceElectric, float totalMorny, String iccardRechargeRecordId) {
        //先处理补扣
        //充值补扣金额=充值金额+充值前读取的卡内余额-充值回调返回卡内余额
        int deductionMorny = MornyUtil.changeY2F(morny) + mOldUserCard.getBalance() - MornyUtil.changeY2F(balance);
        //添加充值信息
        rechargeBean = new RechargeBean();
        rechargeBean.setCardNumber(cardNumber);
        rechargeBean.setUserCode(userCard.getUserCode());
        rechargeBean.setUserName("");
        rechargeBean.setUserCode(userCard.getUserCode() + userCard.getUserCodeNumber());
        rechargeBean.setUserName(cardInfoResult.getPeasantName());
        rechargeBean.setPersonId(cardInfoResult.getPeasantId());
        rechargeBean.setSerial(DeviceUtils.getSN());
        rechargeBean.setArerNumber(QHOnLineApplication.getInstance().arerNumber);
@@ -240,6 +249,7 @@
        rechargeBean.setTotalMorny(String.valueOf(totalMorny));
        rechargeBean.setState(1);
        rechargeBean.setOrderId(iccardRechargeRecordId);
        rechargeBean.setDeductionMorny(MornyUtil.changeF2Y(deductionMorny));
        userCard.setCardWriteState(0);
        userCard.setCardState(1);
@@ -250,13 +260,26 @@
        String sumMorny = MornyUtil.sumPrice(Float.valueOf(MornyUtil.changeF2Y(userCard.getTotalMorny())), Float.valueOf(morny));
        userCard.setTotalMorny(MornyUtil.changeY2F(sumMorny));
        userCard.setRechargeDate(calendar);
        userCard.setElectricPrice(Float.valueOf(QHOnLineApplication.getInstance().electriclePriceStr));
        if (deductionMorny == 0) {
            Intent intent = new Intent(RechargeActivity.this, NFCWreatActivity.class);
            intent.putExtra("morny", morny);
            intent.putExtra("userCard", userCard);
            intent.putExtra("rechargeBean", rechargeBean);
            startActivity(intent);
        } else {
            TipUtil.show(RechargeActivity.this, "挂失卡后有补交金额!补交金额为:" + MornyUtil.changeF2Y(deductionMorny) + "元,详情可在平台查询。", new TipUtil.TipListener() {
                @Override
                public void onCancle() {
                    Intent intent = new Intent(RechargeActivity.this, NFCWreatActivity.class);
                    intent.putExtra("morny", morny);
                    intent.putExtra("userCard", userCard);
                    intent.putExtra("rechargeBean", rechargeBean);
                    startActivity(intent);
                }
            });
        }
        Intent intent = new Intent(RechargeActivity.this, NFCWreatActivity.class);
        intent.putExtra("morny", morny);
        intent.putExtra("userCard", userCard);
        intent.putExtra("rechargeBean", rechargeBean);
        startActivity(intent);
    }