| | |
| | | try { |
| | | //2024-10-28 直接保存到walletBillRecord |
| | | //新增WalletBillRecordDO |
| | | WalletBillRecordDO walletBillRecord = new WalletBillRecordDO(); |
| | | walletBillRecord.setId(UUIDGenerator.getUUID()); |
| | | WalletDO walletDOInfo = walletService.getBySupplierId(supplierId); |
| | | //增加供应商结算金额保存到钱包 |
| | | walletBillRecord.setSupplierId(supplierId); |
| | | walletBillRecord.setWalletId(walletDOInfo.getId()); |
| | | walletBillRecord.setSettlementId(settlement.getId()); |
| | | walletBillRecord.setOrderItemId(detail.getOrderItemId()); |
| | | //变动金额等于供应商收入 |
| | | walletBillRecord.setTotalAmount(ois.getIncomeSupplier()); |
| | | walletBillRecord.setType(Constants.BILL_CHANGE_TYPE.settlement.name()); |
| | | walletBillRecord.setMethod(Constants.BILL_CHANGE_METHOD.add.name()); |
| | | walletBillRecord.setOriginalAmount(walletDOInfo.getTotalAmount()); |
| | | walletBillRecord.setChangeAmount(ois.getIncomeSupplier()); |
| | | walletBillRecord.setBalance(walletDOInfo.getWithdrawableAmount().add(ois.getIncomeSupplier())); |
| | | Order order = orderMapper.selectById(detail.getOrderId()); |
| | | if (!ObjectUtils.isEmpty(order)) { |
| | | walletBillRecord.setRemark("订单完成(订单号" + order.getOrderNo() + ")" + ",获得收入"); |
| | | walletBillRecord.setOrderNo(order.getOrderNo()); |
| | | if(ois.getIncomeSupplier().compareTo(BigDecimal.ZERO) > 0) { |
| | | WalletBillRecordDO walletBillRecord = new WalletBillRecordDO(); |
| | | walletBillRecord.setId(UUIDGenerator.getUUID()); |
| | | WalletDO walletDOInfo = walletService.getBySupplierId(supplierId); |
| | | //增加供应商结算金额保存到钱包 |
| | | walletBillRecord.setSupplierId(supplierId); |
| | | walletBillRecord.setWalletId(walletDOInfo.getId()); |
| | | walletBillRecord.setSettlementId(settlement.getId()); |
| | | walletBillRecord.setOrderItemId(detail.getOrderItemId()); |
| | | //变动金额等于供应商收入 |
| | | walletBillRecord.setTotalAmount(ois.getIncomeSupplier()); |
| | | walletBillRecord.setType(Constants.BILL_CHANGE_TYPE.settlement.name()); |
| | | walletBillRecord.setMethod(Constants.BILL_CHANGE_METHOD.add.name()); |
| | | walletBillRecord.setOriginalAmount(walletDOInfo.getTotalAmount()); |
| | | walletBillRecord.setChangeAmount(ois.getIncomeSupplier()); |
| | | walletBillRecord.setBalance(walletDOInfo.getWithdrawableAmount().add(ois.getIncomeSupplier())); |
| | | Order order = orderMapper.selectById(detail.getOrderId()); |
| | | if (!ObjectUtils.isEmpty(order)) { |
| | | walletBillRecord.setRemark("订单完成(订单号" + order.getOrderNo() + ")" + ",获得收入"); |
| | | walletBillRecord.setOrderNo(order.getOrderNo()); |
| | | } |
| | | //更新钱包 |
| | | //可提现金额=钱包余额=结算金额 |
| | | walletDOInfo.setWithdrawableAmount(walletDOInfo.getWithdrawableAmount().add(ois.getIncomeSupplier())); |
| | | walletDOInfo.setTotalAmount(walletDOInfo.getWithdrawableAmount()); |
| | | //已结算金额 |
| | | walletDOInfo.setSettledAmount(walletDOInfo.getSettledAmount().add(ois.getIncomeSupplier())); |
| | | walletMapper.updateById(walletDOInfo); |
| | | walletBillRecord.create(); |
| | | walletBillRecordMapper.insert(walletBillRecord); |
| | | } |
| | | //更新钱包 |
| | | //可提现金额=钱包余额=结算金额 |
| | | walletDOInfo.setWithdrawableAmount(walletDOInfo.getWithdrawableAmount().add(ois.getIncomeSupplier())); |
| | | walletDOInfo.setTotalAmount(walletDOInfo.getWithdrawableAmount()); |
| | | //已结算金额 |
| | | walletDOInfo.setSettledAmount(walletDOInfo.getSettledAmount().add(ois.getIncomeSupplier())); |
| | | walletMapper.updateById(walletDOInfo); |
| | | walletBillRecord.create(); |
| | | walletBillRecordMapper.insert(walletBillRecord); |
| | | } finally { |
| | | lock.unlock(); |
| | | } |