From ad8c985be319fe085a04b266770f941f4c3426d9 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 04 Mar 2021 19:10:15 +0800
Subject: [PATCH] 20210304 交易员详情显示跟单最大人数
---
src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 51 insertions(+), 2 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 9d4d47d..9948713 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
@@ -287,7 +287,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()).setScale(2, BigDecimal.ROUND_DOWN);
+ }
+ }
+
+ followInfoVo.setTotalAmount(totalBondAmount);
+ followInfoVo.setTotalProfitOrLess(profitOrLess);
+
BigDecimal totalPrincipals = BigDecimal.ZERO;
BigDecimal totalProfits = BigDecimal.ZERO;
Map<String, Object> columnMap = new HashMap<>();
@@ -641,8 +677,9 @@
Integer maxFollowCnt = followFollowerSettingEntity.getMaxFollowCnt();
if(maxFollowCnt > 0){
documentaryOrderSetInfoVo.setMaxFollowCnt(maxFollowCnt.toString());
+ }else {
+ documentaryOrderSetInfoVo.setMaxFollowCnt("");
}
- documentaryOrderSetInfoVo.setMaxFollowCnt("");
log.info(memberId + "-最大持仓张数-"+maxFollowCnt.toString());
return Result.ok(documentaryOrderSetInfoVo);
}
@@ -711,6 +748,18 @@
String nickname = followTraderInfoEntity.getNickname();
String declaration = followTraderInfoEntity.getDeclaration();
Integer isAll = followTraderInfoEntity.getIsAll();
+ Integer followNum = followTraderInfoEntity.getFollowNum();
+ //获取当前跟单人数
+ Map<String, Object> columnMap = new HashMap<>();
+ columnMap.put("trade_id", traderId);
+ columnMap.put("is_follow", FollowFollowerProfitEntity.IS_FOLLOW_Y);
+ List<FollowFollowerProfitEntity> selectByMap = followFollowerProfitDao.selectByMap(columnMap);
+ if(CollUtil.isNotEmpty(selectByMap)) {
+ followTraderProfitInfoVo.setFollowNumNow(selectByMap.size());
+ }else {
+ followTraderProfitInfoVo.setFollowNumNow(0);
+ }
+ followTraderProfitInfoVo.setFollowNum(followNum);
followTraderProfitInfoVo.setAvatar(avatar);
followTraderProfitInfoVo.setNickname(nickname);
followTraderProfitInfoVo.setDeclaration(declaration);
--
Gitblit v1.9.1