From 14c1946eae86a86f8d1edee6cf3bdaf7572fc966 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Thu, 30 Oct 2025 19:44:38 +0800
Subject: [PATCH] 1
---
trading-order-service/src/main/java/com/yami/trading/service/exchange/impl/ExchangeApplyOrderServiceImpl.java | 46 +++++++++++++++++++++++-----------------------
1 files changed, 23 insertions(+), 23 deletions(-)
diff --git a/trading-order-service/src/main/java/com/yami/trading/service/exchange/impl/ExchangeApplyOrderServiceImpl.java b/trading-order-service/src/main/java/com/yami/trading/service/exchange/impl/ExchangeApplyOrderServiceImpl.java
index 00ea947..359ca84 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/exchange/impl/ExchangeApplyOrderServiceImpl.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/exchange/impl/ExchangeApplyOrderServiceImpl.java
@@ -111,11 +111,11 @@
double amount = Arith.mul(sub, realtime.getClose().doubleValue());
order.setCloseTime(new Date());
order.setClosePrice(realtime.getClose().doubleValue());
-// Wallet wallet = this.walletService.saveWalletByPartyId(order.getPartyId());
- CapitaltWallet capitaltWallet = capitaltWalletService.getUserIdWallet(order.getPartyId());
+ Wallet capitaltWallet = this.walletService.saveWalletByPartyId(order.getPartyId());
+// CapitaltWallet capitaltWallet = capitaltWalletService.getUserIdWallet(order.getPartyId());
double amount_before = capitaltWallet.getMoney().doubleValue();
// this.walletService.update(userIdWallet.getUserId().toString(), amount);
- this.capitaltWalletService.update(capitaltWallet, amount);
+ this.walletService.update(capitaltWallet.getUserId(), amount);
/*
* 保存资金日志
@@ -262,17 +262,17 @@
toDayProfitLoss = (marketValue - (openPrice * volume));
profitLoss = marketValue - cost;
ExchangeSymbolDto exchangeSymbolDto = new ExchangeSymbolDto();
- exchangeSymbolDto.setVolume(new BigDecimal(volume).setScale(2, RoundingMode.HALF_UP).doubleValue());
- exchangeSymbolDto.setPositionVolume(new BigDecimal(volume).setScale(2, RoundingMode.HALF_UP).doubleValue());
- exchangeSymbolDto.setPrice(new BigDecimal(price).setScale(2, RoundingMode.HALF_UP).doubleValue());
+ exchangeSymbolDto.setVolume(new BigDecimal(volume).setScale(2, RoundingMode.DOWN).doubleValue());
+ exchangeSymbolDto.setPositionVolume(new BigDecimal(volume).setScale(2, RoundingMode.DOWN).doubleValue());
+ exchangeSymbolDto.setPrice(new BigDecimal(price).setScale(2, RoundingMode.DOWN).doubleValue());
exchangeSymbolDto.setName(name);
exchangeSymbolDto.setSymbol(key);
- exchangeSymbolDto.setToDayProfitLoss(new BigDecimal(toDayProfitLoss).setScale(2, RoundingMode.HALF_UP).doubleValue());
+ exchangeSymbolDto.setToDayProfitLoss(new BigDecimal(toDayProfitLoss).setScale(2, RoundingMode.DOWN).doubleValue());
exchangeSymbolDto.setToDayProfitLossPercentage(calculateProfitPercentage(openPrice, currentPrice));
- exchangeSymbolDto.setCurrentPrice(new BigDecimal(currentPrice).setScale(2, RoundingMode.HALF_UP).doubleValue());
- exchangeSymbolDto.setOpenPrice(new BigDecimal(openPrice).setScale(2, RoundingMode.HALF_UP).doubleValue());
- exchangeSymbolDto.setMarketValue(new BigDecimal(marketValue).setScale(2, RoundingMode.HALF_UP).doubleValue());
- exchangeSymbolDto.setProfitLoss(new BigDecimal(profitLoss).setScale(2, RoundingMode.HALF_UP).doubleValue());
+ exchangeSymbolDto.setCurrentPrice(new BigDecimal(currentPrice).setScale(2, RoundingMode.DOWN).doubleValue());
+ exchangeSymbolDto.setOpenPrice(new BigDecimal(openPrice).setScale(2, RoundingMode.DOWN).doubleValue());
+ exchangeSymbolDto.setMarketValue(new BigDecimal(marketValue).setScale(2, RoundingMode.DOWN).doubleValue());
+ exchangeSymbolDto.setProfitLoss(new BigDecimal(profitLoss).setScale(2, RoundingMode.DOWN).doubleValue());
exchangeSymbolDto.setProfitLossPercentage(calculateProfitPercentage(price, currentPrice));
result.add(exchangeSymbolDto);
}
@@ -284,7 +284,7 @@
double profit = currentPrice - buyPrice;
double profitPercentage = (profit / buyPrice) * 100;
System.out.println(profitPercentage);
- return new BigDecimal(profitPercentage).setScale(2, RoundingMode.HALF_UP).doubleValue();
+ return new BigDecimal(profitPercentage).setScale(2, RoundingMode.DOWN).doubleValue();
}
public static void test() {
@@ -315,15 +315,15 @@
}
SumEtfDto sumEtfDto = new SumEtfDto();
- sumEtfDto.setProfitLoss(new BigDecimal(profitLoss).setScale(2, RoundingMode.HALF_UP).doubleValue());
- sumEtfDto.setSumPrice(new BigDecimal(sumPrice).setScale(2, RoundingMode.HALF_UP).doubleValue());
- sumEtfDto.setToDayProfitLoss(new BigDecimal(toDayProfitLoss).setScale(2, RoundingMode.HALF_UP).doubleValue());
+ sumEtfDto.setProfitLoss(new BigDecimal(profitLoss).setScale(2, RoundingMode.DOWN).doubleValue());
+ sumEtfDto.setSumPrice(new BigDecimal(sumPrice).setScale(2, RoundingMode.DOWN).doubleValue());
+ sumEtfDto.setToDayProfitLoss(new BigDecimal(toDayProfitLoss).setScale(2, RoundingMode.DOWN).doubleValue());
// usdt余额
Wallet wallet = new Wallet();
if (!"".equals(userId) && userId != null) {
wallet = walletService.findByUserId(userId.toString());
}
- sumEtfDto.setSumVolume(wallet.getMoney().setScale(2, RoundingMode.HALF_UP).doubleValue());
+ sumEtfDto.setSumVolume(wallet.getMoney().setScale(2, RoundingMode.DOWN).doubleValue());
return sumEtfDto;
}
@@ -579,12 +579,12 @@
}
map.put("create_time", DateUtil.formatDate(order.getCreateTime(), DateUtils.DF_yyyyMMddHHmmss));
- map.put("volume", new BigDecimal(order.getVolume()).setScale(6, RoundingMode.HALF_UP));
+ map.put("volume", new BigDecimal(order.getVolume()).setScale(6, RoundingMode.DOWN));
// 买的时候total 为volume,卖的时候total = volume*closeTime
if("open".equalsIgnoreCase(order.getOffset())){
- map.put("total", new BigDecimal(order.getVolume()).setScale(6, RoundingMode.HALF_UP));
+ map.put("total", new BigDecimal(order.getVolume()).setScale(6, RoundingMode.DOWN));
}else{
- map.put("total", new BigDecimal(order.getVolume()*order.getClosePrice()).setScale(2, RoundingMode.HALF_UP));
+ map.put("total", new BigDecimal(order.getVolume()*order.getClosePrice()).setScale(2, RoundingMode.DOWN));
}
map.put("offset", order.getOffset());
map.put("price", order.getPrice());
@@ -615,8 +615,8 @@
// 可以买的数量
double amount = Arith.div(sub, order.getClosePrice(), 8);
order.setSymbolValue(amount);
-// Wallet wallet = this.walletService.saveWalletByPartyId(order.getPartyId());
- CapitaltWallet userIdWallet = capitaltWalletService.getUserIdWallet(order.getPartyId());
+ Wallet userIdWallet = this.walletService.saveWalletByPartyId(order.getPartyId());
+// CapitaltWallet userIdWallet = capitaltWalletService.getUserIdWallet(order.getPartyId());
double amount_before = userIdWallet.getMoney().doubleValue();
// 如果是计划委托,则先不扣钱
if (order.isTriggerOrder()) {
@@ -643,8 +643,8 @@
if (userIdWallet.getMoney().doubleValue() < order.getVolume().doubleValue()) {
throw new YamiShopBindException("余额不足");
}
-// this.walletService.update(userIdWallet.getUserId().toString(), Arith.sub(0, order.getVolume()));
- capitaltWalletService.update(userIdWallet, Arith.sub(0, order.getVolume()));
+ this.walletService.update(userIdWallet.getUserId().toString(), Arith.sub(0, order.getVolume()));
+// capitaltWalletService.update(userIdWallet, Arith.sub(0, order.getVolume()));
/*
* 保存资金日志
*/
--
Gitblit v1.9.3