fix
Helius
2022-03-16 b289b531521f3f3e67b1ca0251c75e41e51fc88f
src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcEntrustOrderServiceImpl.java
@@ -110,6 +110,7 @@
    public void modify(EntrustOrderAddDto modifyDto) {
        MemberEntity member = LoginUserUtils.getAppLoginUser();
        OtcEntrustOrder otcEntrustOrder = OtcEntrustOrderMapper.INSTANCE.entrustOrderDtoToEntity(modifyDto);
        BigDecimal remainAmount = otcEntrustOrder.getRemainCoinAmount();
        otcEntrustOrder.setMemberId(member.getId());
        otcEntrustOrder.setRemainCoinAmount(modifyDto.getAmount());
@@ -139,12 +140,12 @@
        otcEntrustOrder.setTotalAmount(totalAmount);
        if (OtcEntrustOrder.ORDER_TYPE_S.equals(modifyDto.getType())) {
            MemberWalletCoinEntity coinWallet = memberWalletCoinDao.selectWalletCoinBymIdAndCode(member.getId(), "USDT");
            coinWallet.setAvailableBalance(coinWallet.getAvailableBalance().add(otcEntrustOrder.getRemainCoinAmount()));
            coinWallet.setAvailableBalance(coinWallet.getAvailableBalance().add(remainAmount));
            if(coinWallet.getAvailableBalance().compareTo(totalAmount) < 0) {
                throw new GlobalException("可用金额不足");
            }
            BigDecimal frozen = coinWallet.getFrozenBalance().subtract(otcEntrustOrder.getRemainCoinAmount());
            BigDecimal frozen = coinWallet.getFrozenBalance().subtract(remainAmount);
            coinWallet.setAvailableBalance(coinWallet.getAvailableBalance().subtract(totalAmount));
            coinWallet.setFrozenBalance(frozen.add(totalAmount));
            memberWalletCoinDao.updateById(coinWallet);