1
zj
2026-01-13 6edf5438c56814b26bf4308286ebe26ac93ccb5c
src/main/java/com/nq/service/impl/UserAssetsServices.java
@@ -77,9 +77,7 @@
        List<UserAssets> userAssetsList =  userAssetsMapper.selectList(queryWrapper);
        List<EStockType> stockTypes = Arrays.asList(
                EStockType.US,
                EStockType.HK,
                EStockType.IN,
                EStockType.TW
                EStockType.JP
        );
        for (EStockType stockType : stockTypes) {
            //是否存在记录
@@ -322,6 +320,16 @@
               userAssets.setCumulativeProfitAndLoss(userAssets.getCumulativeProfitAndLoss().add(amount));
           }
           extracted(userAssets);
        }else if(Objects.equals(eUserAssets.getCode(), EUserAssets.PENDING_ORDER_FREEZE.getCode())){
            // 挂单冻结资金:从可用余额转到冻结金额
            // amount 是负数,表示扣除
            userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(amount));
            userAssets.setFreezeMoney(userAssets.getFreezeMoney().add(amount.negate()));
        }else if(Objects.equals(eUserAssets.getCode(), EUserAssets.PENDING_ORDER_UNFREEZE.getCode())){
            // 取消挂单解冻资金:从冻结金额转回可用余额
            // amount 是正数,表示增加
            userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(amount));
            userAssets.setFreezeMoney(userAssets.getFreezeMoney().subtract(amount));
        }
        /*if(null != userPosition){
@@ -433,8 +441,8 @@
    @Override
    public BigDecimal exchangeAmountByRate(String fromType, String toType, BigDecimal amount) throws Exception {
        EStockType stockType = EStockType.getEStockTypeByCode(fromType);
        EStockType toStockType = EStockType.getEStockTypeByCode(toType);
        EStockType stockType = EStockType.getEStockTypeBySymbol(fromType);
        EStockType toStockType = EStockType.getEStockTypeBySymbol(toType);
        ExchangeRate exchangeRate = exchangeRateRepository.findExchangeRateByCurrencyAndConversionCurrency(
                stockType.getSymbol(), toStockType.getSymbol()).orElse(null);
        if (exchangeRate != null) {