From 81e2daefc30afbe5ce2e02de198247e93a835ed8 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 26 Mar 2021 14:31:06 +0800
Subject: [PATCH] Merge branch 'activity' of http://120.27.238.55:7000/r/exchange into activity
---
src/main/java/com/xcong/excoin/modules/documentary/dao/FollowFollowerOrderRelationDao.java | 1 +
src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java | 2 +-
src/main/resources/mapper/documentary/FollowFollowerProfitDao.xml | 2 +-
src/main/java/com/xcong/excoin/quartz/job/FollowProfitUpdateJob.java | 13 +++++++------
src/main/resources/mapper/documentary/FollowFollowerOrderRelationDao.xml | 6 ++++++
5 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java
index 6f4d0ce..182750e 100644
--- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java
@@ -218,7 +218,7 @@
if (MemberEntity.IS_TRADER_Y.equals(memberEntity.getIsTrader())) {
followOrderOperationService.closingFollowOrders(holdOrderEntity.getOrderNo());
} else {
- followFollowerProfitDao.updateFollowerProfitByTradeMemberId(holdOrderEntity.getBondAmount().subtract(holdOrderEntity.getOpeningFeeAmount()), profitOrLoss, traderInfoEntity.getMemberId(), memberEntity.getId());
+ followFollowerProfitDao.updateFollowerProfitByTradeMemberId(holdOrderEntity.getBondAmount(), profitOrLoss, traderInfoEntity.getMemberId(), memberEntity.getId());
LogRecordUtils.insertFollowerNotice(memberEntity.getId(), NoticeConstant.CLOSE_ORDER_TITLE, StrUtil.format(NoticeConstant.CLOSE_ORDER_CONTENT, contractOrderEntity.getSymbol(), contractOrderEntity.getClosingPrice().setScale(2, BigDecimal.ROUND_HALF_UP).toString(), profitOrLoss.setScale(2, BigDecimal.ROUND_HALF_UP).toString(), traderInfoEntity.getNickname()));
}
}
diff --git a/src/main/java/com/xcong/excoin/modules/documentary/dao/FollowFollowerOrderRelationDao.java b/src/main/java/com/xcong/excoin/modules/documentary/dao/FollowFollowerOrderRelationDao.java
index d37f698..cbbc8ac 100644
--- a/src/main/java/com/xcong/excoin/modules/documentary/dao/FollowFollowerOrderRelationDao.java
+++ b/src/main/java/com/xcong/excoin/modules/documentary/dao/FollowFollowerOrderRelationDao.java
@@ -20,4 +20,5 @@
List<FollowFollowerOrderRelationEntity> selectFollowHoldOrderByTradeOrderNo(@Param("orderNo") String orderNo);
BigDecimal selectTraderTotalProfit(@Param("memberId") Long memberId);
+ BigDecimal selectTraderTotalProfitSelf(@Param("memberId") Long memberId);
}
diff --git a/src/main/java/com/xcong/excoin/quartz/job/FollowProfitUpdateJob.java b/src/main/java/com/xcong/excoin/quartz/job/FollowProfitUpdateJob.java
index ee31c58..a1ebba4 100644
--- a/src/main/java/com/xcong/excoin/quartz/job/FollowProfitUpdateJob.java
+++ b/src/main/java/com/xcong/excoin/quartz/job/FollowProfitUpdateJob.java
@@ -42,7 +42,7 @@
private FollowTraderProfitInfoDao followTraderProfitInfoDao;
//@Scheduled(cron = "0 0/30 * * * ? ")
- @Scheduled(cron = "0 0/5 * * * ?")
+ @Scheduled(cron = "0/5 * * * * ? *")
public void traderProfitUpdate() {
log.info("交易员定时任务执行");
// 查询所有交易员信息
@@ -52,10 +52,11 @@
Long tradeMemberId = trader.getMemberId();
FollowTraderProfitInfoEntity traderInfoProfit = followTraderProfitInfoDao.selectTraderInfoProfitByMemberId(tradeMemberId);
// 累计收益率
- BigDecimal totalProfitRatio = contractOrderDao.selectFollowOrderTotalProfitByMemberId(tradeMemberId);
+ BigDecimal totalProfitRatio = contractOrderDao.selectFollowOrderTotalProfitByMemberId(tradeMemberId).setScale(2, BigDecimal.ROUND_DOWN);
traderInfoProfit.setTotalProfitRatio(totalProfitRatio);
- // 带单总收益
- BigDecimal totalProfit = followFollowerOrderRelationDao.selectTraderTotalProfit(tradeMemberId);
+ // 带单总收益,只查询交易员自己的带单总收益
+ BigDecimal totalProfit = followFollowerOrderRelationDao.selectTraderTotalProfitSelf(tradeMemberId);
+ //BigDecimal totalProfit = followFollowerOrderRelationDao.selectTraderTotalProfit(tradeMemberId);
traderInfoProfit.setTotalProfit(totalProfit);
// 交易笔数
List<ContractOrderEntity> orders = contractOrderDao.selectFollowOrderByMemberId(tradeMemberId);
@@ -69,10 +70,10 @@
traderInfoProfit.setWinRate(winRate);
}
- // 跟随者总收益
+ // 当前跟随者总收益
BigDecimal followerProfit = followFollowerProfitDao.selectAllFollowerProfit(tradeMemberId);
traderInfoProfit.setFollowerTotalProfit(followerProfit);
- // 累计跟随人数
+ // 当前跟随人数
int followerCnt = followFollowerProfitDao.selectFollowerCntByTradeMemberId(tradeMemberId);
traderInfoProfit.setTotalFollowerCnt(followerCnt);
diff --git a/src/main/resources/mapper/documentary/FollowFollowerOrderRelationDao.xml b/src/main/resources/mapper/documentary/FollowFollowerOrderRelationDao.xml
index f4441bf..374d8e0 100644
--- a/src/main/resources/mapper/documentary/FollowFollowerOrderRelationDao.xml
+++ b/src/main/resources/mapper/documentary/FollowFollowerOrderRelationDao.xml
@@ -38,4 +38,10 @@
from follow_follower_order_relation a, contract_order b
where a.order_id=b.id and a.trade_member_id=#{memberId}
</select>
+
+ <select id="selectTraderTotalProfitSelf" resultType="java.math.BigDecimal">
+ select sum(reward_amount)
+ from contract_order
+ where member_id=#{memberId} and contract_type=2
+ </select>
</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/documentary/FollowFollowerProfitDao.xml b/src/main/resources/mapper/documentary/FollowFollowerProfitDao.xml
index d92a2c7..6e1fbeb 100644
--- a/src/main/resources/mapper/documentary/FollowFollowerProfitDao.xml
+++ b/src/main/resources/mapper/documentary/FollowFollowerProfitDao.xml
@@ -108,6 +108,6 @@
<select id="selectAllFollowerProfit" resultType="java.math.BigDecimal">
select sum(total_profit)
from follow_follower_profit
- where trade_member_id=#{tradeMemberId}
+ where trade_member_id=#{tradeMemberId} and is_follow = 1
</select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.1