Helius
2021-04-02 1ac6fa11ef63570afcda9db21997b1c8b09f22e9
src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java
@@ -2,6 +2,7 @@
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -160,7 +161,17 @@
        FollowTraderProfitInfoEntity followTraderProfitInfoEntity = new FollowTraderProfitInfoEntity();
        if(FollowTraderInfoEntity.IS_SETFRIST_Y.equals(type)) {
           followTraderProfitInfoEntity.setType(type);
        }else {
           String nicknameDto = recordsPageDto.getNickname();
           followTraderProfitInfoEntity.setNickname(nicknameDto);
           int totalProfitRatioSc = recordsPageDto.getTotalProfitRatioSc();
           followTraderProfitInfoEntity.setTotalProfitRatioSc(totalProfitRatioSc);
           int totalFollowerCntSc = recordsPageDto.getTotalFollowerCntSc();
           followTraderProfitInfoEntity.setTotalFollowerCntSc(totalFollowerCntSc);
           int winRateSc = recordsPageDto.getWinRateSc();
           followTraderProfitInfoEntity.setWinRateSc(winRateSc);
        }
        IPage<FollowTraderProfitInfoVo> followTraderProfitInfoList = followTraderProfitInfoDao.selectFollowTraderProfitInfoEntity(page, followTraderProfitInfoEntity);
        
        List<FollowTraderProfitInfoVo> followTraderProfitInfoVoList = followTraderProfitInfoList.getRecords();
@@ -394,7 +405,7 @@
                  myFollowOrderVo.setLeverRatio(leverRatio);
                  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() == null ? BigDecimal.ZERO : contractOrderEntity.getRewardRatio().setScale(4, BigDecimal.ROUND_DOWN);
                  myFollowOrderVo.setRewardRatio(rewardRatio);
                  int symbolCnt = contractOrderEntity.getSymbolCnt();
                  myFollowOrderVo.setSymbolCnt(symbolCnt);
@@ -515,7 +526,7 @@
            String nickname = followTraderInfoEntity.getNickname();
            myFollowTraderInfoVo.setNickname(nickname);
            BigDecimal totalPrincipal = FollowFollowerProfitEntity.getTotalPrincipal();
            myFollowTraderInfoVo.setTotalPrincipal(totalPrincipal);
            myFollowTraderInfoVo.setTotalPrincipal(totalPrincipal.setScale(2, BigDecimal.ROUND_DOWN));
            BigDecimal totalProfit = FollowFollowerProfitEntity.getTotalProfit();
              myFollowTraderInfoVo.setTotalProfit(totalProfit.setScale(2, BigDecimal.ROUND_DOWN));
@@ -768,6 +779,9 @@
      String declaration = followTraderInfoEntity.getDeclaration();
      Integer isAll = followTraderInfoEntity.getIsAll();
      Integer followNum = followTraderInfoEntity.getFollowNum();
      Date entryTime = followTraderInfoEntity.getEntryTime();
      int datePoor = getDatePoor(entryTime, new Date());
      followTraderProfitInfoVo.setEntryDays(datePoor);
      //获取当前跟单人数
      Map<String, Object> columnMap = new HashMap<>();
      columnMap.put("trade_id", traderId);
@@ -778,12 +792,34 @@
      }else {
         followTraderProfitInfoVo.setFollowNumNow(0);
      }
      if(CollUtil.isNotEmpty(selectByMap)) {
         if(followNum > selectByMap.size()){
            followTraderProfitInfoVo.setIsActualAll(2);
         }else{
            followTraderProfitInfoVo.setIsActualAll(1);
         }
      }else {
         followTraderProfitInfoVo.setIsActualAll(2);
      }
      followTraderProfitInfoVo.setFollowNum(followNum);
      followTraderProfitInfoVo.setAvatar(avatar);
      followTraderProfitInfoVo.setNickname(nickname);
      followTraderProfitInfoVo.setDeclaration(declaration);
      followTraderProfitInfoVo.setIsAll(isAll);
      return Result.ok(followTraderProfitInfoVo);
   }
   //获取两个时间之间的日期
   private int getDatePoor(Date endDate, Date nowDate) {
      Calendar cal = Calendar.getInstance();
      cal.setTime(endDate);
      long time1 = cal.getTimeInMillis();
      cal.setTime(nowDate);
      long time2 = cal.getTimeInMillis();
      long between_days=(time2-time1)/(1000*3600*24);
      int parseInt = Integer.parseInt(String.valueOf(between_days));
      parseInt = parseInt + 1;
      return parseInt ;
   }
   @Override
@@ -958,6 +994,9 @@
        TradeProfitInfoVo tradeProfitInfoVo = new TradeProfitInfoVo();
        //获取【交易员信息表】数据
        FollowTraderInfoEntity followTraderInfoEntity = followTraderInfoDao.selectTraderInfoByMemberId(memberId);
        Date entryTime = followTraderInfoEntity.getEntryTime();
      int datePoor = getDatePoor(entryTime, new Date());
      tradeProfitInfoVo.setEntryDays(datePoor);
        if(ObjectUtil.isNotEmpty(followTraderInfoEntity)) {
         Integer followNum = followTraderInfoEntity.getFollowNum();
         //获取当前跟单人数
@@ -1109,6 +1148,7 @@
                          BigDecimal rewardAmount = orderEntity.getRewardAmount();
                          allRewardAmount = allRewardAmount.add(rewardAmount);
                          BigDecimal rewardRatio = orderEntity.getRewardRatio();
                        rewardRatio = rewardRatio == null ? BigDecimal.ZERO : rewardRatio;
                          allRewardRatio = allRewardRatio.add(rewardRatio);
                       }
                    }
@@ -1131,7 +1171,7 @@
                 myFollowOrderVo.setLeverRatio(leverRatio);
                 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() == null ? BigDecimal.ZERO : contractOrderEntity.getRewardRatio().setScale(4, BigDecimal.ROUND_DOWN);
                 myFollowOrderVo.setRewardRatio(rewardRatio);
                 int symbolCnt = contractOrderEntity.getSymbolCnt();
                 myFollowOrderVo.setSymbolCnt(symbolCnt);