| | |
| | | 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) { |
| | | //是否存在记录 |
| | |
| | | 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){ |
| | |
| | | |
| | | @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) { |