福途教育网
专业的教育资讯网站

当前位置:福途教育网 > 会计师 > 正文

购买预付卡的账务处理

时间:2023/10/9 11:54:04 编辑:福途教育 标签:会计师

榜单说明:福途教育网榜单是编辑部门通过资料收集整理,并基于互联网大数据统计及人为根据市场和参数条件变化的分析而得出本站站内排序!排名不分先后,仅供参考,具体价格等信息以实地考察为准。

2024年【会计师】申请条件/费用/专业咨询 >>

会计师申请条件是什么?会计师费用是多少?会计师专业都有哪些?

点击咨询

    本文解答了关于《购买预付卡的账务处理》相关内容,同时关于1、购买预付卡的账务处理,2、购买预付卡的账务处理流程,3、购买预付卡如何做账,4、购买预付卡计入什么科目,5、购买预付款卡怎么做账,的相关问答本篇文章福途教育网小编也整理了进来,希望对您有帮助。

    购买预付卡的账务处理

    购买预付卡的账务处理

    /**

    * 购买预付卡的账务处理

    * @param acctId

    * @param realPayFee

    */

    private void processPbocBuyCard(Long acctId,Long realPayFee)throws Exception{

    try {

    IAccountRelatQry accountQry = null;

    IAccount acctBean= null;

    //查询账户信息

    accountQry = (IAccountRelatQry)BscServiceUtils.getBean("finishAccountRelatQry");

    AcctDto acctInfo = accountQry.getAcctInfoByAcctId(acctId);

    if(null == acctInfo){

    throw new Exception("获取账户信息为空!");

    }

    int balanceType = 9002;//账本类型

    //更新账户信息

    AcctChangeDto acctChangeInfo = new AcctChangeDto();

    acctChangeInfo.setAcctId(acctId);

    acctChangeInfo.setOweFee(realPayFee);

    acctChangeInfo.setChangeEvalue(realPayFee);

    acctChangeInfo.setOperType(AccountOperType.DEDUCT_PREPAY);

    acctChangeInfo.setRollBack(true);

    acctChangeInfo.setSOper(AccountChangeOper.ADJUST_PREPAY_CARD_PAY);

    acctBean = (IAccount)BscServiceUtils.getBean("finishAccount");

    Long balanceFee = acctBean.changeFee(acctChangeInfo);

    if(null == balanceFee){

    throw new Exception("调用账户模块返回的剩余费用为空!");

    }

    Long feeId = acctChangeInfo.getFeeId();

    if(null == feeId){

    throw new Exception("调用账户模块返回的费用流水号为空!");

    }

    //更新账本信息

    IBalanceAcctQry balanceQry = (IBalanceAcctQry)BscServiceUtils.getBean("finishBalanceAcctQry");

    Long balanceId = balanceQry.getBookBalanceId(acctId,balanceType);

    if(null == balanceId){

    throw new Exception("查询余额账本信息为空!");

    }

    IAccountBalance acctBalanceBean = (IAccountBalance)BscServiceUtils.getBean("finishAccountBalance");

    //更新账单

    IDeviceBill devicebillBean = (IDeviceBill)BscServiceUtils.getBean("finishDeviceBill");

    DeviceBillCheckRequest deviceBillCheck = new DeviceBillCheckRequest();

    deviceBillCheck.setAcctId(acctId);

    deviceBillCheck.setSoNbr(CommUtil.getSoNbr());

    deviceBillCheck.setCustId(acctInfo.getCustId());

    deviceBillCheck.setBillType(EnumCodeDefine.BILL_FEE_PAY);

    deviceBillCheck.setAcctBalanceId(balanceId);

    deviceBillCheck.setPayFee(realPayFee);

    deviceBillCheck.setFeeType(EnumCodeDefine.FEE_TYPE_PAYREQ_PREPAY);

    deviceBillCheck.setAcctItemTypeId(acctInfo.getAcctType());

    deviceBillCheck.setPhoneId(acctInfo.getPhoneId());

    deviceBillCheck.setRegionCode(CommUtil.getRegionCode(acctInfo.getPhoneId()));

    deviceBillCheck.setBillingType(BillingCycleSpecType.TERMINAL_PRECARD_BUY_PAY.getValue());

    devicebillBean.DeviceBillCheck(deviceBillCheck);

    } finally{

    //发送广播

    this.sendPromFee(acctId,realPayFee);

    }

    }

    private void sendPromFee(Long acctId,Long realPayFee)throws Exception{

    try {

    IMailNotice imail = (IMailNotice)BscServiceUtils.getBean("finishMailNotice");

    imail.sendPromFeeMail(acctId,realPayFee);

    } catch (Exception e) {

    IMailNotice imail = (IMailNotice)BscServiceUtils.getBean("finishMailNotice");

    imail.sendPromFeeMail1(acctId,realPayFee);

    throw e;

    }

    }

    }

    总结:以上是编辑:【茉新新】整理及AI智能原创关于《

    购买预付卡的账务处理

    》优质内容解答希望能帮助到您。

以上手机版 购买预付卡的账务处理 小编为您整理购买预付卡的账务处理的全部内容,以上内容仅供参考。

点击查看 会计师 更多内容

热门推荐

最新文章