From f494010eae547cc9b0c9ead89968de6e9731ea40 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 04 Mar 2021 17:29:41 +0800
Subject: [PATCH] modify
---
src/main/java/com/xcong/excoin/modules/documentary/vo/FollowInfoVo.java | 6 ++++++
src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java | 38 +++++++++++++++++++++++++++++++++++++-
2 files changed, 43 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java b/src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java
index 0e5233e..0f9356c 100644
--- a/src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java
@@ -285,7 +285,43 @@
}else {
followInfoVo.setNickname(phone);
}
-
+
+ List<ContractHoldOrderEntity> myFollowOrder = followFollowerProfitDao.getFollowOrderNowRecords(memberId);
+
+ BigDecimal totalBondAmount = BigDecimal.ZERO;
+ BigDecimal profitOrLess = BigDecimal.ZERO;
+ if (CollUtil.isNotEmpty(myFollowOrder)) {
+ for(ContractHoldOrderEntity contractHoldOrderEntity : myFollowOrder) {
+ BigDecimal newPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(contractHoldOrderEntity.getSymbol())));
+ BigDecimal lotNumber = cacheSettingUtils.getSymbolSku(contractHoldOrderEntity.getSymbol());
+
+ // 盈亏
+ BigDecimal rewardRatio = BigDecimal.ZERO;
+ // 开多
+ if (contractHoldOrderEntity.OPENING_TYPE_MORE == contractHoldOrderEntity.getOpeningType()) {
+ // (最新价-开仓价)*规格*张数
+ rewardRatio = newPrice.subtract(contractHoldOrderEntity.getOpeningPrice()).multiply(lotNumber).multiply(new BigDecimal(contractHoldOrderEntity.getSymbolCnt()));
+ // 开空
+ } else {
+ // (开仓价-最新价)*规格*张数
+ rewardRatio = contractHoldOrderEntity.getOpeningPrice().subtract(newPrice).multiply(lotNumber).multiply(new BigDecimal(contractHoldOrderEntity.getSymbolCnt()));
+ }
+
+ if (member.getIsProfit() == MemberEntity.IS_PROFIT_Y) {
+ PlatformTradeSettingEntity tradeSettingEntity = cacheSettingUtils.getTradeSetting();
+ if (rewardRatio.compareTo(BigDecimal.ZERO) > -1) {
+ rewardRatio = rewardRatio.multiply(BigDecimal.ONE.subtract(tradeSettingEntity.getProfitParam()));
+ }
+ }
+
+ profitOrLess = profitOrLess.add(rewardRatio).setScale(2, BigDecimal.ROUND_DOWN);
+ totalBondAmount = totalBondAmount.add(contractHoldOrderEntity.getBondAmount());
+ }
+ }
+
+ followInfoVo.setTotalAmount(totalBondAmount);
+ followInfoVo.setTotalProfitOrLess(profitOrLess);
+
BigDecimal totalPrincipals = BigDecimal.ZERO;
BigDecimal totalProfits = BigDecimal.ZERO;
Map<String, Object> columnMap = new HashMap<>();
diff --git a/src/main/java/com/xcong/excoin/modules/documentary/vo/FollowInfoVo.java b/src/main/java/com/xcong/excoin/modules/documentary/vo/FollowInfoVo.java
index b17fcea..5b47802 100644
--- a/src/main/java/com/xcong/excoin/modules/documentary/vo/FollowInfoVo.java
+++ b/src/main/java/com/xcong/excoin/modules/documentary/vo/FollowInfoVo.java
@@ -35,5 +35,11 @@
*/
@ApiModelProperty(value = "累计收益")
private BigDecimal totalProfit;
+
+ @ApiModelProperty(value = "总金额")
+ private BigDecimal totalAmount;
+
+ @ApiModelProperty(value = "未实现盈亏")
+ private BigDecimal totalProfitOrLess;
}
--
Gitblit v1.9.1