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