|  | @@ -2932,11 +2932,13 @@ public class DataDashboardService {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @XxlJob("buildCoverStatisticDataExportJob")
 | 
	
		
			
				|  |  |      public ReturnT<String> buildCoverStatisticDataExportJob(String param) {
 | 
	
		
			
				|  |  | -        if(StringUtils.hasText(param)){
 | 
	
		
			
				|  |  | +        if (StringUtils.hasText(param)) {
 | 
	
		
			
				|  |  |              coverStatisticDataExport(param);
 | 
	
		
			
				|  |  | -        }else {
 | 
	
		
			
				|  |  | +            coverStatisticTestDataExport(param);
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  |              String dateStr = DateUtils.getDateString(System.currentTimeMillis() - 24 * 60 * 60 * 1000, "yyyMMdd");
 | 
	
		
			
				|  |  |              coverStatisticDataExport(dateStr);
 | 
	
		
			
				|  |  | +            coverStatisticTestDataExport(dateStr);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          return ReturnT.SUCCESS;
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -2969,6 +2971,34 @@ public class DataDashboardService {
 | 
	
		
			
				|  |  |                  2, null, null, null);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    public void coverStatisticTestDataExport(String dateStr) {
 | 
	
		
			
				|  |  | +        List<String> dateStrList = Arrays.asList(dateStr);
 | 
	
		
			
				|  |  | +        List<CoverStatisticOneDataExport> exportList = buildCoverStatisticTestDataExport(dateStr);
 | 
	
		
			
				|  |  | +        if (CollectionUtil.isEmpty(exportList)) {
 | 
	
		
			
				|  |  | +            return;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        int rowNum = exportList.size();
 | 
	
		
			
				|  |  | +        List<List<Object>> rows = new ArrayList<>();
 | 
	
		
			
				|  |  | +        Field[] fields = CoverStatisticDataExport.class.getDeclaredFields();
 | 
	
		
			
				|  |  | +        for (CoverStatisticOneDataExport datum : exportList) {
 | 
	
		
			
				|  |  | +            List<Object> rowDatas = new ArrayList<>();
 | 
	
		
			
				|  |  | +            rows.add(rowDatas);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            for (Field field : fields) {
 | 
	
		
			
				|  |  | +                field.setAccessible(true);
 | 
	
		
			
				|  |  | +                try {
 | 
	
		
			
				|  |  | +                    rowDatas.add(field.get(datum));
 | 
	
		
			
				|  |  | +                } catch (IllegalAccessException e) {
 | 
	
		
			
				|  |  | +                    log.error("获取值出错:{}", field.getName());
 | 
	
		
			
				|  |  | +                } catch (Exception e) {
 | 
	
		
			
				|  |  | +                    throw new RuntimeException(e.getMessage());
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        doSendFeishuSheet(dateStrList, dailyDetailSheetToken, "QiEZiz", rowNum, rows,
 | 
	
		
			
				|  |  | +                2, null, null, null);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      private List<CoverStatisticDataExport> buildCoverStatisticDataExport(String dateStr) {
 | 
	
		
			
				|  |  |          List<CoverStatisticDataExport> result = new ArrayList<>();
 | 
	
	
		
			
				|  | @@ -3009,9 +3039,6 @@ public class DataDashboardService {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          CoverStatisticDataExport videoSum = new CoverStatisticDataExport(dateStr, "视频", "sum", "sum");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |          Long start = DateUtils.getStartOfDay(dateStr, "yyyyMMdd");
 | 
	
		
			
				|  |  |          Long end = start + 86400;
 | 
	
		
			
				|  |  |          Date startDate = new Date(start * 1000);
 | 
	
	
		
			
				|  | @@ -3032,7 +3059,7 @@ public class DataDashboardService {
 | 
	
		
			
				|  |  |          List<String> rootSourceIdList = new ArrayList<>();
 | 
	
		
			
				|  |  |          for (Article article : articleList) {
 | 
	
		
			
				|  |  |              List<String> rootSourceIds = JSONArray.parseArray(article.getRootSourceIdList(), String.class);
 | 
	
		
			
				|  |  | -            if(CollectionUtils.isEmpty(rootSourceIds)){
 | 
	
		
			
				|  |  | +            if (CollectionUtils.isEmpty(rootSourceIds)) {
 | 
	
		
			
				|  |  |                  continue;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              rootSourceIdMap.put(article.getWxSn(), rootSourceIds);
 | 
	
	
		
			
				|  | @@ -3080,7 +3107,7 @@ public class DataDashboardService {
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              List<ArticleDetailInfo> detailInfoList = articleDetailInfoMap.get(article.getWxSn());
 | 
	
		
			
				|  |  | -            if(CollectionUtils.isEmpty(detailInfoList)){
 | 
	
		
			
				|  |  | +            if (CollectionUtils.isEmpty(detailInfoList)) {
 | 
	
		
			
				|  |  |                  continue;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              List<AccountAvgInfo> accountAvgInfoList = accountAvgInfoRepository.getAllByGhIdEqualsAndStatusEquals(article.getGhId(), 1);
 | 
	
	
		
			
				|  | @@ -3242,6 +3269,156 @@ public class DataDashboardService {
 | 
	
		
			
				|  |  |          return result;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    private List<CoverStatisticOneDataExport> buildCoverStatisticTestDataExport(String dateStr) {
 | 
	
		
			
				|  |  | +        List<CoverStatisticOneDataExport> result = new ArrayList<>();
 | 
	
		
			
				|  |  | +        Long start = DateUtils.getStartOfDay(dateStr, "yyyyMMdd");
 | 
	
		
			
				|  |  | +        Long end = start + 86400;
 | 
	
		
			
				|  |  | +        Date startDate = new Date(start * 1000);
 | 
	
		
			
				|  |  | +        Date endDate = new Date(end * 1000);
 | 
	
		
			
				|  |  | +        List<Article> articleList = articleRepository.getByPublishTimestampBetweenAndTypeEquals(start, end, ArticleTypeEnum.QUNFA.getVal());
 | 
	
		
			
				|  |  | +        List<String> wxSnList = articleList.stream().map(Article::getWxSn).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +        List<ArticleDetailInfo> articleDetailInfoList = new ArrayList<>();
 | 
	
		
			
				|  |  | +        for (List<String> partitions : Lists.partition(wxSnList, 1000)) {
 | 
	
		
			
				|  |  | +            articleDetailInfoList.addAll(articleDetailInfoRepository.findByWxSnInAndPublishDtBetween(partitions, startDate, endDate));
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        List<DatastatSortStrategy> datastatSortStrategyList = datastatSortStrategyRepository.getByWxSnIn(wxSnList);
 | 
	
		
			
				|  |  | +        Map<String, DatastatSortStrategy> datastatSortStrategyMap = datastatSortStrategyList.stream()
 | 
	
		
			
				|  |  | +                .collect(Collectors.toMap(DatastatSortStrategy::getWxSn, Function.identity()));
 | 
	
		
			
				|  |  | +        Map<String, List<ArticleDetailInfo>> articleDetailInfoMap = articleDetailInfoList.stream()
 | 
	
		
			
				|  |  | +                .collect(Collectors.groupingBy(ArticleDetailInfo::getWxSn));
 | 
	
		
			
				|  |  | +        // 获取rootSourceId
 | 
	
		
			
				|  |  | +        Map<String, List<String>> rootSourceIdMap = new HashMap<>();
 | 
	
		
			
				|  |  | +        List<String> rootSourceIdList = new ArrayList<>();
 | 
	
		
			
				|  |  | +        for (Article article : articleList) {
 | 
	
		
			
				|  |  | +            List<String> rootSourceIds = JSONArray.parseArray(article.getRootSourceIdList(), String.class);
 | 
	
		
			
				|  |  | +            if (CollectionUtils.isEmpty(rootSourceIds)) {
 | 
	
		
			
				|  |  | +                continue;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            rootSourceIdMap.put(article.getWxSn(), rootSourceIds);
 | 
	
		
			
				|  |  | +            rootSourceIdList.addAll(rootSourceIds);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        List<LongArticlesRootSourceId> longArticlesRootSourceIdList = rootSourceIdRepository.getByRootSourceIdIn(rootSourceIdList);
 | 
	
		
			
				|  |  | +        Map<String, LongArticlesRootSourceId> longArticlesRootSourceIdMap = longArticlesRootSourceIdList.stream()
 | 
	
		
			
				|  |  | +                .collect(Collectors.toMap(LongArticlesRootSourceId::getRootSourceId, Function.identity()));
 | 
	
		
			
				|  |  | +        // 获取视频
 | 
	
		
			
				|  |  | +        List<String> contentIdList = longArticlesRootSourceIdList.stream().map(LongArticlesRootSourceId::getContentId).distinct().collect(Collectors.toList());
 | 
	
		
			
				|  |  | +        List<LongArticleCrawlerVideo> longArticleCrawlerVideoList = crawlerVideoRepository.getByContentIdInAndIsIllegal(contentIdList, 0);
 | 
	
		
			
				|  |  | +        Map<String, List<LongArticleCrawlerVideo>> longArticleCrawlerVideoMap = longArticleCrawlerVideoList.stream()
 | 
	
		
			
				|  |  | +                .collect(Collectors.groupingBy(LongArticleCrawlerVideo::getContentId));
 | 
	
		
			
				|  |  | +        for (Article article : articleList) {
 | 
	
		
			
				|  |  | +            boolean isVideo = false;
 | 
	
		
			
				|  |  | +            boolean isSameMiniProgram = false;
 | 
	
		
			
				|  |  | +            boolean isTest = false;
 | 
	
		
			
				|  |  | +            List<String> rootSourceIds = rootSourceIdMap.get(article.getWxSn());
 | 
	
		
			
				|  |  | +            if (CollectionUtil.isNotEmpty(rootSourceIds)) {
 | 
	
		
			
				|  |  | +                List<LongArticlesRootSourceId> rootSourceIdItemList = new ArrayList<>();
 | 
	
		
			
				|  |  | +                for (String rootSourceId : rootSourceIds) {
 | 
	
		
			
				|  |  | +                    LongArticlesRootSourceId longArticlesRootSourceId = longArticlesRootSourceIdMap.get(rootSourceId);
 | 
	
		
			
				|  |  | +                    if (!Objects.isNull(longArticlesRootSourceId)) {
 | 
	
		
			
				|  |  | +                        rootSourceIdItemList.add(longArticlesRootSourceId);
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    LongArticlesPublishMiniprogram longArticlesPublishMiniprogram
 | 
	
		
			
				|  |  | +                            = longArticlesPublishMiniprogramRepository.findByRootSourceIdEquals(rootSourceId);
 | 
	
		
			
				|  |  | +                    if (!Objects.isNull(longArticlesPublishMiniprogram)) {
 | 
	
		
			
				|  |  | +                        if (longArticlesPublishMiniprogram.getNewVideoCoverId() != null) {
 | 
	
		
			
				|  |  | +                            isTest = true;
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                String contentId = rootSourceIdItemList.get(0).getContentId();
 | 
	
		
			
				|  |  | +                List<LongArticleCrawlerVideo> crawlerVideoList = longArticleCrawlerVideoMap.get(contentId);
 | 
	
		
			
				|  |  | +                List<String> videoOssPaths = crawlerVideoList.stream().map(LongArticleCrawlerVideo::getVideoOssPath)
 | 
	
		
			
				|  |  | +                        .filter(StringUtils::hasText).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +                List<PublishSingleVideoSource> singleVideoSources = videoPoolRepository.getByVideoOssPathIn(videoOssPaths);
 | 
	
		
			
				|  |  | +                if (CollectionUtil.isNotEmpty(singleVideoSources)) {
 | 
	
		
			
				|  |  | +                    isVideo = true;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                if (CollectionUtil.isNotEmpty(crawlerVideoList) && crawlerVideoList.size() == 1) {
 | 
	
		
			
				|  |  | +                    isSameMiniProgram = true;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            List<ArticleDetailInfo> detailInfoList = articleDetailInfoMap.get(article.getWxSn());
 | 
	
		
			
				|  |  | +            if (CollectionUtils.isEmpty(detailInfoList)) {
 | 
	
		
			
				|  |  | +                continue;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            List<AccountAvgInfo> accountAvgInfoList = accountAvgInfoRepository.getAllByGhIdEqualsAndStatusEquals(article.getGhId(), 1);
 | 
	
		
			
				|  |  | +            Integer fans = 0;
 | 
	
		
			
				|  |  | +            if (CollectionUtils.isNotEmpty(accountAvgInfoList)) {
 | 
	
		
			
				|  |  | +                fans = accountAvgInfoList.get(0).getFans();
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            if (isSameMiniProgram && isTest) {
 | 
	
		
			
				|  |  | +                CoverStatisticOneDataExport coverStatisticOneDataExport = new CoverStatisticOneDataExport();
 | 
	
		
			
				|  |  | +                if (isVideo) {
 | 
	
		
			
				|  |  | +                    coverStatisticOneDataExport.setChannel("视频");
 | 
	
		
			
				|  |  | +                } else {
 | 
	
		
			
				|  |  | +                    coverStatisticOneDataExport.setChannel("文章");
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                coverStatisticOneDataExport.setDateStr(dateStr);
 | 
	
		
			
				|  |  | +                coverStatisticOneDataExport.setAccountName(article.getAccountName());
 | 
	
		
			
				|  |  | +                coverStatisticOneDataExport.setContentUrl(article.getContentUrl());
 | 
	
		
			
				|  |  | +                if (article.getItemIndex() == 1) {
 | 
	
		
			
				|  |  | +                    coverStatisticOneDataExport.setIndex("头条");
 | 
	
		
			
				|  |  | +                } else if (article.getItemIndex() == 2) {
 | 
	
		
			
				|  |  | +                    coverStatisticOneDataExport.setIndex("次条");
 | 
	
		
			
				|  |  | +                } else {
 | 
	
		
			
				|  |  | +                    coverStatisticOneDataExport.setIndex("3-8条");
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                coverStatisticOneDataExport.setFans(fans);
 | 
	
		
			
				|  |  | +                coverStatisticOneDataExport.setShowViewCount(article.getShowViewCount());
 | 
	
		
			
				|  |  | +                for (ArticleDetailInfo articleDetailInfo : detailInfoList) {
 | 
	
		
			
				|  |  | +                    if (articleDetailInfo.getFirstLevel() != null) {
 | 
	
		
			
				|  |  | +                        coverStatisticOneDataExport.setAllFirstLevel(coverStatisticOneDataExport.getAllFirstLevel() + articleDetailInfo.getFirstLevel());
 | 
	
		
			
				|  |  | +                        if (articleDetailInfo.getVideoIndex() == 1) {
 | 
	
		
			
				|  |  | +                            coverStatisticOneDataExport.setOneFirstLevel(coverStatisticOneDataExport.getOneFirstLevel() + articleDetailInfo.getFirstLevel());
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                        if (articleDetailInfo.getVideoIndex() == 2) {
 | 
	
		
			
				|  |  | +                            coverStatisticOneDataExport.setTwoFirstLevel(coverStatisticOneDataExport.getTwoFirstLevel() + articleDetailInfo.getFirstLevel());
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    if (articleDetailInfo.getFission0() != null) {
 | 
	
		
			
				|  |  | +                        coverStatisticOneDataExport.setAllFission0(coverStatisticOneDataExport.getAllFission0() + articleDetailInfo.getFission0());
 | 
	
		
			
				|  |  | +                        if (articleDetailInfo.getVideoIndex() == 1) {
 | 
	
		
			
				|  |  | +                            coverStatisticOneDataExport.setOneFission0(coverStatisticOneDataExport.getOneFission0() + articleDetailInfo.getFission0());
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                        if (articleDetailInfo.getVideoIndex() == 2) {
 | 
	
		
			
				|  |  | +                            coverStatisticOneDataExport.setTwoFission0(coverStatisticOneDataExport.getTwoFission0() + articleDetailInfo.getFission0());
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                if (coverStatisticOneDataExport.getShowViewCount() != 0 && coverStatisticOneDataExport.getFans() != 0) {
 | 
	
		
			
				|  |  | +                    coverStatisticOneDataExport.setShowViewRate((double) coverStatisticOneDataExport.getShowViewCount() / coverStatisticOneDataExport.getFans());
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                if (coverStatisticOneDataExport.getShowViewCount() != 0) {
 | 
	
		
			
				|  |  | +                    if (coverStatisticOneDataExport.getAllFirstLevel() != 0) {
 | 
	
		
			
				|  |  | +                        coverStatisticOneDataExport.setAllFirstLevelRate((double) coverStatisticOneDataExport.getAllFirstLevel() / coverStatisticOneDataExport.getShowViewCount());
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    if (coverStatisticOneDataExport.getOneFirstLevel() != 0) {
 | 
	
		
			
				|  |  | +                        coverStatisticOneDataExport.setOneFirstLevelRate((double) coverStatisticOneDataExport.getOneFirstLevel() / coverStatisticOneDataExport.getShowViewCount());
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    if (coverStatisticOneDataExport.getTwoFirstLevel() != 0) {
 | 
	
		
			
				|  |  | +                        coverStatisticOneDataExport.setTwoFirstLevelRate((double) coverStatisticOneDataExport.getTwoFirstLevel() / coverStatisticOneDataExport.getShowViewCount());
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                if (coverStatisticOneDataExport.getAllFirstLevel() != 0 && coverStatisticOneDataExport.getAllFission0() != 0) {
 | 
	
		
			
				|  |  | +                    coverStatisticOneDataExport.setAllFission0Rate((double) coverStatisticOneDataExport.getAllFission0() / coverStatisticOneDataExport.getAllFirstLevel());
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                if (coverStatisticOneDataExport.getOneFirstLevel() != 0 && coverStatisticOneDataExport.getOneFission0() != 0) {
 | 
	
		
			
				|  |  | +                    coverStatisticOneDataExport.setOneFission0Rate((double) coverStatisticOneDataExport.getOneFission0() / coverStatisticOneDataExport.getOneFirstLevel());
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                if (coverStatisticOneDataExport.getTwoFirstLevel() != 0 && coverStatisticOneDataExport.getTwoFission0() != 0) {
 | 
	
		
			
				|  |  | +                    coverStatisticOneDataExport.setTwoFission0Rate((double) coverStatisticOneDataExport.getTwoFission0() / coverStatisticOneDataExport.getTwoFirstLevel());
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                result.add(coverStatisticOneDataExport);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (!CollectionUtils.isEmpty(result)) {
 | 
	
		
			
				|  |  | +            result = result.stream().sorted(Comparator.comparing(CoverStatisticOneDataExport::getChannel)).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return result;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      private void save(CoverStatisticDataExport coverStatisticDataExport, Integer fans, Integer showViewCount) {
 | 
	
		
			
				|  |  |          if (fans != null) {
 | 
	
		
			
				|  |  |              coverStatisticDataExport.setFans(coverStatisticDataExport.getFans() + fans);
 | 
	
	
		
			
				|  | @@ -3274,9 +3451,9 @@ public class DataDashboardService {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      private void sum(CoverStatisticDataExport sumCoverStatisticDataExport,
 | 
	
		
			
				|  |  | -                                         CoverStatisticDataExport coverStatisticDataExport1,
 | 
	
		
			
				|  |  | -                                         CoverStatisticDataExport coverStatisticDataExport2,
 | 
	
		
			
				|  |  | -                                         CoverStatisticDataExport coverStatisticDataExport3) {
 | 
	
		
			
				|  |  | +                     CoverStatisticDataExport coverStatisticDataExport1,
 | 
	
		
			
				|  |  | +                     CoverStatisticDataExport coverStatisticDataExport2,
 | 
	
		
			
				|  |  | +                     CoverStatisticDataExport coverStatisticDataExport3) {
 | 
	
		
			
				|  |  |          sumCoverStatisticDataExport.setFans(coverStatisticDataExport1.getFans() + coverStatisticDataExport2.getFans() + coverStatisticDataExport3.getFans());
 | 
	
		
			
				|  |  |          sumCoverStatisticDataExport.setPublishCount(coverStatisticDataExport1.getPublishCount() + coverStatisticDataExport2.getPublishCount() + coverStatisticDataExport3.getPublishCount());
 | 
	
		
			
				|  |  |          sumCoverStatisticDataExport.setShowViewCount(coverStatisticDataExport1.getShowViewCount() + coverStatisticDataExport2.getShowViewCount() + coverStatisticDataExport3.getShowViewCount());
 | 
	
	
		
			
				|  | @@ -3289,28 +3466,28 @@ public class DataDashboardService {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      private CoverStatisticDataExport rate(CoverStatisticDataExport coverStatisticDataExport) {
 | 
	
		
			
				|  |  | -        if (coverStatisticDataExport.getShowViewCount() != null && coverStatisticDataExport.getFans() != null) {
 | 
	
		
			
				|  |  | +        if (coverStatisticDataExport.getShowViewCount() != 0 && coverStatisticDataExport.getFans() != 0) {
 | 
	
		
			
				|  |  |              coverStatisticDataExport.setShowViewRate((double) coverStatisticDataExport.getShowViewCount() / coverStatisticDataExport.getFans());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        if (coverStatisticDataExport.getShowViewCount() != null) {
 | 
	
		
			
				|  |  | -            if (coverStatisticDataExport.getAllFirstLevel() != null) {
 | 
	
		
			
				|  |  | +        if (coverStatisticDataExport.getShowViewCount() != 0) {
 | 
	
		
			
				|  |  | +            if (coverStatisticDataExport.getAllFirstLevel() != 0) {
 | 
	
		
			
				|  |  |                  coverStatisticDataExport.setAllFirstLevelRate((double) coverStatisticDataExport.getAllFirstLevel() / coverStatisticDataExport.getShowViewCount());
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            if (coverStatisticDataExport.getOneFirstLevel() != null) {
 | 
	
		
			
				|  |  | +            if (coverStatisticDataExport.getOneFirstLevel() != 0) {
 | 
	
		
			
				|  |  |                  coverStatisticDataExport.setOneFirstLevelRate((double) coverStatisticDataExport.getOneFirstLevel() / coverStatisticDataExport.getShowViewCount());
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            if (coverStatisticDataExport.getTwoFirstLevel() != null) {
 | 
	
		
			
				|  |  | +            if (coverStatisticDataExport.getTwoFirstLevel() != 0) {
 | 
	
		
			
				|  |  |                  coverStatisticDataExport.setTwoFirstLevelRate((double) coverStatisticDataExport.getTwoFirstLevel() / coverStatisticDataExport.getShowViewCount());
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        if (coverStatisticDataExport.getAllFirstLevel() != null && coverStatisticDataExport.getAllFission0() != null) {
 | 
	
		
			
				|  |  | +        if (coverStatisticDataExport.getAllFirstLevel() != 0 && coverStatisticDataExport.getAllFission0() != 0) {
 | 
	
		
			
				|  |  |              coverStatisticDataExport.setAllFission0Rate((double) coverStatisticDataExport.getAllFission0() / coverStatisticDataExport.getAllFirstLevel());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        if (coverStatisticDataExport.getOneFirstLevel() != null && coverStatisticDataExport.getOneFission0() != null) {
 | 
	
		
			
				|  |  | +        if (coverStatisticDataExport.getOneFirstLevel() != 0 && coverStatisticDataExport.getOneFission0() != 0) {
 | 
	
		
			
				|  |  |              coverStatisticDataExport.setOneFission0Rate((double) coverStatisticDataExport.getOneFission0() / coverStatisticDataExport.getOneFirstLevel());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        if (coverStatisticDataExport.getTwoFirstLevel() != null && coverStatisticDataExport.getTwoFission0() != null) {
 | 
	
		
			
				|  |  | +        if (coverStatisticDataExport.getTwoFirstLevel() != 0 && coverStatisticDataExport.getTwoFission0() != 0) {
 | 
	
		
			
				|  |  |              coverStatisticDataExport.setTwoFission0Rate((double) coverStatisticDataExport.getTwoFission0() / coverStatisticDataExport.getTwoFirstLevel());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          return coverStatisticDataExport;
 |