| 
					
				 | 
			
			
				@@ -72,6 +72,9 @@ public class ArticleVideoAuditService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @ApolloJsonValue("${daily.article.audit.pool.count.config:{}}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private Map<String, Integer> dailyAuditPoolCount; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @ApolloJsonValue("${highPriorityProducePlan:[]}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private List<String> highPriorityProducePlan; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public Page<ArticleVideoAuditListVO> list(ArticleVideoAuditListParam param) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int offset = (param.getPageNum() - 1) * param.getPageSize(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int count = articleAuditMapper.articleVideoAuditListCount(param.getContentId(), param.getStatus(), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -475,6 +478,18 @@ public class ArticleVideoAuditService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 auditQueuePoolCountMap = auditQueueList.stream().collect(Collectors.groupingBy(item -> ContentPoolEnum.from(item.getFlowPoolLevel()).getContentPool())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 excludeContentIds.addAll(auditQueueIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 高优先级计划内容添加 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (CollectionUtils.isNotEmpty(highPriorityProducePlan)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                List<ArticleVideoAuditListVO> addList = articleAuditMapper.articleVideoWaitingAuditList( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Arrays.asList(ArticleVideoAuditStatusEnum.WAITING.getCode()), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        null, excludeContentIds, highPriorityProducePlan, 100); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (CollectionUtils.isNotEmpty(addList)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    for (ArticleVideoAuditListVO item : addList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        redisTemplate.opsForZSet().add(auditQueueRedisKey, item.getContentId(), 101); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        excludeContentIds.add(item.getContentId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 每日配置发送量不足添加 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             for (Map.Entry<String, Integer> entry : dailyAuditPoolCount.entrySet()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ContentPoolEnum poolEnum = ContentPoolEnum.from(entry.getKey()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -485,9 +500,9 @@ public class ArticleVideoAuditService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     List<LongArticleTitleAudit> inAuditListPool = inAuditListPoolCountMap.getOrDefault(poolEnum.getContentPool(), new ArrayList<>()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     int needCount = entry.getValue() - (totalCount + auditQueueList.size() + inAuditListPool.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (needCount > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        List<ArticleVideoAuditListVO> addList = articleAuditMapper.articleVideoWatingAuditList( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        List<ArticleVideoAuditListVO> addList = articleAuditMapper.articleVideoWaitingAuditList( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 Arrays.asList(ArticleVideoAuditStatusEnum.WAITING.getCode()), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                Arrays.asList(poolEnum.getContentPool()), excludeContentIds, needCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                Arrays.asList(poolEnum.getContentPool()), excludeContentIds, null, needCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if (CollectionUtils.isNotEmpty(addList)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             for (ArticleVideoAuditListVO item : addList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 redisTemplate.opsForZSet().add(auditQueueRedisKey, item.getContentId(), poolEnum.getWeight()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -500,8 +515,9 @@ public class ArticleVideoAuditService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 待发布内容不足添加 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Long auditQueueSize = redisTemplate.opsForZSet().size(auditQueueRedisKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (Objects.isNull(auditQueueSize) || auditQueueSize < 20) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                List<ArticleVideoAuditListVO> list = articleAuditMapper.articleVideoWatingAuditList( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        Arrays.asList(ArticleVideoAuditStatusEnum.WAITING.getCode()), null, excludeContentIds, 40); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                List<ArticleVideoAuditListVO> list = articleAuditMapper.articleVideoWaitingAuditList( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Arrays.asList(ArticleVideoAuditStatusEnum.WAITING.getCode()), null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        excludeContentIds, null, 40); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (CollectionUtils.isNotEmpty(list)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     for (ArticleVideoAuditListVO item : list) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         ContentPoolEnum poolEnum = ContentPoolEnum.from(item.getFlowPoolLevel()); 
			 |