|
@@ -15,6 +15,7 @@ import com.tzld.longarticle.recommend.server.common.enums.recommend.RankStrategy
|
|
import com.tzld.longarticle.recommend.server.mapper.aigc.AigcBaseMapper;
|
|
import com.tzld.longarticle.recommend.server.mapper.aigc.AigcBaseMapper;
|
|
import com.tzld.longarticle.recommend.server.mapper.aigc.PublishContentMapper;
|
|
import com.tzld.longarticle.recommend.server.mapper.aigc.PublishContentMapper;
|
|
import com.tzld.longarticle.recommend.server.mapper.longArticle.LongArticleBaseMapper;
|
|
import com.tzld.longarticle.recommend.server.mapper.longArticle.LongArticleBaseMapper;
|
|
|
|
+import com.tzld.longarticle.recommend.server.model.dto.ContentPoolTypeDTO;
|
|
import com.tzld.longarticle.recommend.server.model.dto.ProduceContentDTO;
|
|
import com.tzld.longarticle.recommend.server.model.dto.ProduceContentDTO;
|
|
import com.tzld.longarticle.recommend.server.model.dto.ProducePlanAuditCheckDTO;
|
|
import com.tzld.longarticle.recommend.server.model.dto.ProducePlanAuditCheckDTO;
|
|
import com.tzld.longarticle.recommend.server.model.dto.PublishContentDTO;
|
|
import com.tzld.longarticle.recommend.server.model.dto.PublishContentDTO;
|
|
@@ -23,9 +24,7 @@ import com.tzld.longarticle.recommend.server.model.entity.crawler.AccountAvgInfo
|
|
import com.tzld.longarticle.recommend.server.model.entity.crawler.Article;
|
|
import com.tzld.longarticle.recommend.server.model.entity.crawler.Article;
|
|
import com.tzld.longarticle.recommend.server.model.entity.crawler.ArticleDetailInfo;
|
|
import com.tzld.longarticle.recommend.server.model.entity.crawler.ArticleDetailInfo;
|
|
import com.tzld.longarticle.recommend.server.model.entity.crawler.PublishSortLog;
|
|
import com.tzld.longarticle.recommend.server.model.entity.crawler.PublishSortLog;
|
|
-import com.tzld.longarticle.recommend.server.model.entity.longArticle.ArticlePoolPromotionSource;
|
|
|
|
-import com.tzld.longarticle.recommend.server.model.entity.longArticle.DatastatScore;
|
|
|
|
-import com.tzld.longarticle.recommend.server.model.entity.longArticle.DatastatSortStrategy;
|
|
|
|
|
|
+import com.tzld.longarticle.recommend.server.model.entity.longArticle.*;
|
|
import com.tzld.longarticle.recommend.server.model.param.MiniprogramTaskParam;
|
|
import com.tzld.longarticle.recommend.server.model.param.MiniprogramTaskParam;
|
|
import com.tzld.longarticle.recommend.server.model.param.PublishContentParam;
|
|
import com.tzld.longarticle.recommend.server.model.param.PublishContentParam;
|
|
import com.tzld.longarticle.recommend.server.model.vo.*;
|
|
import com.tzld.longarticle.recommend.server.model.vo.*;
|
|
@@ -1976,7 +1975,7 @@ public class DataDashboardService {
|
|
List<VideoAuditExport> exportList = new ArrayList<>();
|
|
List<VideoAuditExport> exportList = new ArrayList<>();
|
|
dateStrList = Lists.reverse(dateStrList);
|
|
dateStrList = Lists.reverse(dateStrList);
|
|
for (String dateStr : dateStrList) {
|
|
for (String dateStr : dateStrList) {
|
|
- exportList.add(buildVideoAuditExport(dateStr));
|
|
|
|
|
|
+ exportList.addAll(buildVideoAuditExport(dateStr));
|
|
}
|
|
}
|
|
if (CollectionUtil.isEmpty(exportList)) {
|
|
if (CollectionUtil.isEmpty(exportList)) {
|
|
return;
|
|
return;
|
|
@@ -2004,20 +2003,61 @@ public class DataDashboardService {
|
|
2, null, null);
|
|
2, null, null);
|
|
}
|
|
}
|
|
|
|
|
|
- private VideoAuditExport buildVideoAuditExport(String dateStr) {
|
|
|
|
- VideoAuditExport result = new VideoAuditExport();
|
|
|
|
|
|
+ private List<VideoAuditExport> buildVideoAuditExport(String dateStr) {
|
|
|
|
+ List<VideoAuditExport> result = new ArrayList<>();
|
|
long timestamp = DateUtils.getStartOfDay(dateStr, "yyyyMMdd") * 1000;
|
|
long timestamp = DateUtils.getStartOfDay(dateStr, "yyyyMMdd") * 1000;
|
|
- long articleAuditCount = titleAuditRepository.countByAuditTimestampBetween(timestamp, timestamp + 86400000);
|
|
|
|
- long articleAuditPassCount = titleAuditRepository.countByStatusAndAuditTimestampBetween(
|
|
|
|
- ProduceContentAuditStatusEnum.pass.getVal(), timestamp, timestamp + 86400000);
|
|
|
|
- long videoAuditCount = crawlerVideoRepository.countByAuditTimestampBetween(timestamp, timestamp + 86400000);
|
|
|
|
- long videoAuditPassCount = crawlerVideoRepository.countByStatusAndAuditTimestampBetween(
|
|
|
|
- ProduceContentAuditStatusEnum.pass.getVal(), timestamp, timestamp + 86400000);
|
|
|
|
- result.setDateStr(dateStr);
|
|
|
|
- result.setArticleAuditCount(articleAuditCount);
|
|
|
|
- result.setArticleAuditPassCount(articleAuditPassCount);
|
|
|
|
- result.setVideoAuditCount(videoAuditCount);
|
|
|
|
- result.setVideoAuditPassCount(videoAuditPassCount);
|
|
|
|
|
|
+ // 按内容池区分
|
|
|
|
+ List<LongArticleTitleAudit> auditList = titleAuditRepository.getByAuditTimestampBetween(timestamp, timestamp + 86400000);
|
|
|
|
+ List<LongArticleCrawlerVideo> crawlerVideoList = crawlerVideoRepository.getByAuditTimestampBetween(timestamp, timestamp + 86400000);
|
|
|
|
+ Map<String, List<LongArticleCrawlerVideo>> crawlerVideoMap = crawlerVideoList.stream()
|
|
|
|
+ .collect(Collectors.groupingBy(LongArticleCrawlerVideo::getContentId));
|
|
|
|
+ List<String> contentIds = auditList.stream().map(LongArticleTitleAudit::getContentId).collect(Collectors.toList());
|
|
|
|
+ List<ContentPoolTypeDTO> poolTypeDTOS = aigcBaseMapper.getContentPoolType(contentIds);
|
|
|
|
+ Map<String, ContentPoolTypeDTO> poolTypeMap = poolTypeDTOS.stream().collect(Collectors.toMap(ContentPoolTypeDTO::getContentId, o -> o));
|
|
|
|
+ Map<String, VideoAuditExport> map = new HashMap<>();
|
|
|
|
+ for (LongArticleTitleAudit titleAudit : auditList) {
|
|
|
|
+ ContentPoolTypeDTO poolTypeDTO = poolTypeMap.get(titleAudit.getContentId());
|
|
|
|
+ if (!map.containsKey(poolTypeDTO.getPoolType())) {
|
|
|
|
+ VideoAuditExport videoAuditExport = new VideoAuditExport();
|
|
|
|
+ videoAuditExport.setDateStr(dateStr);
|
|
|
|
+ videoAuditExport.setPoolType(poolTypeDTO.getPoolType());
|
|
|
|
+ map.put(poolTypeDTO.getPoolType(), videoAuditExport);
|
|
|
|
+ }
|
|
|
|
+ VideoAuditExport videoAuditExport = map.get(poolTypeDTO.getPoolType());
|
|
|
|
+ videoAuditExport.setArticleAuditCount(videoAuditExport.getArticleAuditCount() + 1);
|
|
|
|
+ if (titleAudit.getStatus().equals(ProduceContentAuditStatusEnum.pass.getVal())) {
|
|
|
|
+ videoAuditExport.setArticleAuditPassCount(videoAuditExport.getArticleAuditPassCount() + 1);
|
|
|
|
+ }
|
|
|
|
+ List<LongArticleCrawlerVideo> videoList = crawlerVideoMap.get(titleAudit.getContentId());
|
|
|
|
+ if (CollectionUtils.isEmpty(videoList)) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ videoAuditExport.setVideoAuditCount(videoAuditExport.getVideoAuditCount() + videoList.size());
|
|
|
|
+ long videoAuditPassCount = videoList.stream()
|
|
|
|
+ .filter(o -> o.getStatus().equals(ProduceContentAuditStatusEnum.pass.getVal())).count();
|
|
|
|
+ videoAuditExport.setVideoAuditPassCount(videoAuditExport.getVideoAuditPassCount() + videoAuditPassCount);
|
|
|
|
+ }
|
|
|
|
+ for (Map.Entry<String, VideoAuditExport> entry : map.entrySet()) {
|
|
|
|
+ VideoAuditExport videoAuditExport = entry.getValue();
|
|
|
|
+ videoAuditExport.setPoolType(ContentPoolEnum.from(videoAuditExport.getPoolType()).getDescription());
|
|
|
|
+ result.add(videoAuditExport);
|
|
|
|
+ }
|
|
|
|
+ // sum
|
|
|
|
+ long articleAuditCount = auditList.size();
|
|
|
|
+ long articleAuditPassCount = auditList.stream()
|
|
|
|
+ .filter(o -> o.getStatus().equals(ProduceContentAuditStatusEnum.pass.getVal())).count();
|
|
|
|
+ long videoAuditCount = crawlerVideoList.size();
|
|
|
|
+ long videoAuditPassCount = crawlerVideoList.stream()
|
|
|
|
+ .filter(o -> o.getStatus().equals(ProduceContentAuditStatusEnum.pass.getVal())).count();
|
|
|
|
+ VideoAuditExport sum = new VideoAuditExport();
|
|
|
|
+ sum.setDateStr(dateStr);
|
|
|
|
+ sum.setPoolType("SUM");
|
|
|
|
+ sum.setArticleAuditCount(articleAuditCount);
|
|
|
|
+ sum.setArticleAuditPassCount(articleAuditPassCount);
|
|
|
|
+ sum.setVideoAuditCount(videoAuditCount);
|
|
|
|
+ sum.setVideoAuditPassCount(videoAuditPassCount);
|
|
|
|
+ result.add(sum);
|
|
|
|
+ result.sort(Comparator.comparing(VideoAuditExport::getPoolType));
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|