xiaoyong931011
2020-07-31 bc83d475764693f00e77dd8a2b67b026a9963f47
src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java
@@ -62,6 +62,7 @@
import com.xcong.excoin.utils.RedisUtils;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import lombok.extern.slf4j.Slf4j;
@@ -121,6 +122,19 @@
        List<FollowTraderProfitInfoVo> followTraderProfitInfoVoList = followTraderProfitInfoList.getRecords();
        if(CollUtil.isNotEmpty(followTraderProfitInfoVoList)) {
           for(FollowTraderProfitInfoVo FollowTraderProfitInfoVo : followTraderProfitInfoVoList) {
              MemberEntity user = LoginUserUtils.getUser();
              if(ObjectUtil.isNotEmpty(user)) {
                 Long traderId = FollowTraderProfitInfoVo.getTraderId();
                 Long memberId = user.getId();
                 FollowFollowerProfitEntity followFollowerProfitEntity = followFollowerProfitDao.selectDocumentaryOrderSetInfoBymemberIdAndTradeId(memberId, traderId);
                 if(ObjectUtil.isNotEmpty(followFollowerProfitEntity)) {
                    FollowTraderProfitInfoVo.setDocumentaaryType(1);
                 }else {
                    FollowTraderProfitInfoVo.setDocumentaaryType(2);
                 }
              }else {
                 FollowTraderProfitInfoVo.setDocumentaaryType(2);
              }
              Long traderId = FollowTraderProfitInfoVo.getTraderId();
              FollowTraderInfoEntity followTraderInfoEntity = followTraderInfoDao.selectFollowTraderInfoEntityBytreaderId(traderId);
              String avatar = followTraderInfoEntity.getAvatar();
@@ -131,8 +145,6 @@
              FollowTraderProfitInfoVo.setDeclaration(declaration);
              Integer isAll = followTraderInfoEntity.getIsAll();
              FollowTraderProfitInfoVo.setIsAll(isAll);
              Integer isOpen = followTraderInfoEntity.getIsOpen();
              FollowTraderProfitInfoVo.setIsOpen(isOpen);
           }
        }
      return Result.ok(followTraderProfitInfoVoList);
@@ -141,26 +153,50 @@
   @Override
   public Result getHistoryOrderRecords(@Valid HistoryOrderRecordsDto historyOrderRecordsDto) {
      
      FollowTraderInfoEntity followTraderInfoEntity = followTraderInfoDao.selectById(historyOrderRecordsDto.getTradeId());
      Long memberId = followTraderInfoEntity.getMemberId();
      Page<HistoryOrderRecordsVo> page = new Page<>(historyOrderRecordsDto.getPageNum(), historyOrderRecordsDto.getPageSize());
        IPage<HistoryOrderRecordsVo> historyOrderRecordsVoList = followTraderProfitInfoDao.selectHistoryOrderRecords(page, historyOrderRecordsDto.getMemberId());
        IPage<HistoryOrderRecordsVo> historyOrderRecordsVoList = followTraderProfitInfoDao.selectHistoryOrderRecords(page, memberId);
        List<HistoryOrderRecordsVo> records = historyOrderRecordsVoList.getRecords();
        if(CollUtil.isNotEmpty(records)) {
           for(HistoryOrderRecordsVo historyOrderRecordsVo : records) {
              BigDecimal closingPrice = historyOrderRecordsVo.getClosingPrice().setScale(2, BigDecimal.ROUND_DOWN);
              historyOrderRecordsVo.setClosingPrice(closingPrice);
              BigDecimal openingPrice = historyOrderRecordsVo.getOpeningPrice().setScale(2, BigDecimal.ROUND_DOWN);
              historyOrderRecordsVo.setOpeningPrice(openingPrice);
           }
        }
      return Result.ok(historyOrderRecordsVoList);
   }
   @Override
   public Result getFollowRecords(@Valid FollowRecordsDto followRecordsDto) {
      
      FollowTraderInfoEntity followTraderInfoEn = followTraderInfoDao.selectById(followRecordsDto.getTradeId());
      Long memberId = followTraderInfoEn.getMemberId();
      Page<FollowRecordsVo> page = new Page<>(followRecordsDto.getPageNum(), followRecordsDto.getPageSize());
      IPage<FollowRecordsVo> historyOrderRecordsVoList = followFollowerProfitDao.selectFollowRecords(page, followRecordsDto.getTradeMemberId());
      IPage<FollowRecordsVo> historyOrderRecordsVoList = followFollowerProfitDao.selectFollowRecords(page, memberId);
      
      List<FollowRecordsVo> records = historyOrderRecordsVoList.getRecords();
      if(CollUtil.isNotEmpty(records)) {
         for(FollowRecordsVo followRecordsVo : records) {
            Long tradeId = followRecordsVo.getTradeId();
            FollowTraderInfoEntity followTraderInfoEntity = followTraderInfoDao.selectById(tradeId);
            String avatar = followTraderInfoEntity.getAvatar();
            followRecordsVo.setAvatar(avatar);
            String nickname = followTraderInfoEntity.getNickname();
            followRecordsVo.setNickname(nickname);
            BigDecimal totalPrincipal = followRecordsVo.getTotalPrincipal().setScale(2, BigDecimal.ROUND_DOWN);
            followRecordsVo.setTotalPrincipal(totalPrincipal);
            BigDecimal totalProfit = followRecordsVo.getTotalProfit().setScale(2, BigDecimal.ROUND_DOWN);
            followRecordsVo.setTotalProfit(totalProfit);
            Long memberIds = followRecordsVo.getMemberId();
            MemberEntity MemberEntity = memberDao.selectById(memberIds);
            String phone = MemberEntity.getPhone();
            String email = MemberEntity.getEmail();
            if(StrUtil.isNotEmpty(phone)) {
               followRecordsVo.setNickname(phone);
            }else {
               followRecordsVo.setNickname(email);
            }
         }
      }
      return Result.ok(historyOrderRecordsVoList);
@@ -195,8 +231,8 @@
            totalProfits = totalProfits.add(totalProfit);
         }
      }
      followInfoVo.setTotalPrincipal(totalPrincipals.setScale(4, BigDecimal.ROUND_DOWN));
      followInfoVo.setTotalProfit(totalProfits.setScale(4, BigDecimal.ROUND_DOWN));
      followInfoVo.setTotalPrincipal(totalPrincipals.setScale(2, BigDecimal.ROUND_DOWN));
      followInfoVo.setTotalProfit(totalProfits.setScale(2, BigDecimal.ROUND_DOWN));
      
      return Result.ok(followInfoVo);
   }
@@ -221,17 +257,17 @@
                 myFollowOrderVo.setOrderType(orderType);
                 int leverRatio = contractOrderEntity.getLeverRatio();
                 myFollowOrderVo.setLeverRatio(leverRatio);
                 BigDecimal rewardAmount = contractOrderEntity.getRewardAmount().setScale(4, BigDecimal.ROUND_DOWN);
                 BigDecimal rewardAmount = contractOrderEntity.getRewardAmount().setScale(2, BigDecimal.ROUND_DOWN);
                 myFollowOrderVo.setRewardAmount(rewardAmount);
                 BigDecimal rewardRatio = contractOrderEntity.getRewardRatio().setScale(4, BigDecimal.ROUND_DOWN);
                 BigDecimal rewardRatio = contractOrderEntity.getRewardRatio().setScale(2, BigDecimal.ROUND_DOWN);
                 myFollowOrderVo.setRewardRatio(rewardRatio);
                 int symbolCnt = contractOrderEntity.getSymbolCnt();
                 myFollowOrderVo.setSymbolCnt(symbolCnt);
                 BigDecimal bondAmount = contractOrderEntity.getBondAmount().setScale(4, BigDecimal.ROUND_DOWN);
                 BigDecimal bondAmount = contractOrderEntity.getBondAmount().setScale(2, BigDecimal.ROUND_DOWN);
                 myFollowOrderVo.setBondAmount(bondAmount);
                 BigDecimal openingPrice = contractOrderEntity.getOpeningPrice().setScale(4, BigDecimal.ROUND_DOWN);
                 BigDecimal openingPrice = contractOrderEntity.getOpeningPrice().setScale(2, BigDecimal.ROUND_DOWN);
                 myFollowOrderVo.setOpeningPrice(openingPrice);
                 BigDecimal closingPrice = contractOrderEntity.getClosingPrice().setScale(4, BigDecimal.ROUND_DOWN);
                 BigDecimal closingPrice = contractOrderEntity.getClosingPrice().setScale(2, BigDecimal.ROUND_DOWN);
                 myFollowOrderVo.setClosingPrice(closingPrice);
                 Date openingTime = contractOrderEntity.getOpeningTime();
                 myFollowOrderVo.setOpeningTime(openingTime);
@@ -269,9 +305,9 @@
               myFollowOrderVo.setLeverRatio(leverRatio);
               int symbolCnt = contractHoldOrderEntity.getSymbolCnt();
               myFollowOrderVo.setSymbolCnt(symbolCnt);
               BigDecimal bondAmount = contractHoldOrderEntity.getBondAmount().setScale(4, BigDecimal.ROUND_DOWN);
               BigDecimal bondAmount = contractHoldOrderEntity.getBondAmount().setScale(2, BigDecimal.ROUND_DOWN);
               myFollowOrderVo.setBondAmount(bondAmount);
               BigDecimal openingPrice = contractHoldOrderEntity.getOpeningPrice().setScale(4, BigDecimal.ROUND_DOWN);
               BigDecimal openingPrice = contractHoldOrderEntity.getOpeningPrice().setScale(2, BigDecimal.ROUND_DOWN);
               myFollowOrderVo.setOpeningPrice(openingPrice);
               String orderNo = contractHoldOrderEntity.getOrderNo();
               myFollowOrderVo.setOrderNo(orderNo);
@@ -299,11 +335,11 @@
                     rewardRatio = rewardRatio.multiply(BigDecimal.ONE.subtract(tradeSettingEntity.getProfitParam()));
                  }
               }
               myFollowOrderVo.setRewardAmount(rewardRatio.setScale(4, BigDecimal.ROUND_DOWN));
               myFollowOrderVo.setRewardAmount(rewardRatio.setScale(2, BigDecimal.ROUND_DOWN));
               
               // 回报率
               BigDecimal returnRate = rewardRatio.divide(contractHoldOrderEntity.getBondAmount().subtract(contractHoldOrderEntity.getOpeningFeeAmount()), 8, BigDecimal.ROUND_DOWN);
               myFollowOrderVo.setRewardRatio(returnRate.setScale(4, BigDecimal.ROUND_DOWN));
               myFollowOrderVo.setRewardRatio(returnRate.setScale(2, BigDecimal.ROUND_DOWN));
               
               myFollowOrderVos.add(myFollowOrderVo);
            }
@@ -337,7 +373,7 @@
            BigDecimal totalPrincipal = FollowFollowerProfitEntity.getTotalPrincipal();
            myFollowTraderInfoVo.setTotalPrincipal(totalPrincipal);
            BigDecimal totalProfit = FollowFollowerProfitEntity.getTotalProfit();
              myFollowTraderInfoVo.setTotalProfit(totalProfit.setScale(4, BigDecimal.ROUND_DOWN));
              myFollowTraderInfoVo.setTotalProfit(totalProfit.setScale(2, BigDecimal.ROUND_DOWN));
              myFollowOrderVos.add(myFollowTraderInfoVo);
           }
      }
@@ -478,6 +514,22 @@
      
      return Result.ok(MessageSourceUtils.getString("member_service_0024"));
   }
   @Override
   public Result getFollowTraderProfit(long traderId) {
      FollowTraderInfoEntity followTraderInfoEntity = followTraderInfoDao.selectById(traderId);
      Long memberId = followTraderInfoEntity.getMemberId();
      FollowTraderProfitInfoVo followTraderProfitInfoVo = followTraderProfitInfoDao.selectOneByMemberId(memberId);
      String avatar = followTraderInfoEntity.getAvatar();
      String nickname = followTraderInfoEntity.getNickname();
      String declaration = followTraderInfoEntity.getDeclaration();
      Integer isAll = followTraderInfoEntity.getIsAll();
      followTraderProfitInfoVo.setAvatar(avatar);
      followTraderProfitInfoVo.setNickname(nickname);
      followTraderProfitInfoVo.setDeclaration(declaration);
      followTraderProfitInfoVo.setIsAll(isAll);
      return Result.ok(followTraderProfitInfoVo);
   }