Helius
2021-03-26 81e2daefc30afbe5ce2e02de198247e93a835ed8
Merge branch 'activity' of http://120.27.238.55:7000/r/exchange into activity
5 files modified
24 ■■■■■ changed files
src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/documentary/dao/FollowFollowerOrderRelationDao.java 1 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/quartz/job/FollowProfitUpdateJob.java 13 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/documentary/FollowFollowerOrderRelationDao.xml 6 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/documentary/FollowFollowerProfitDao.xml 2 ●●● patch | view | raw | blame | history
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()));
                }
            }
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);
}
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);
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>
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>