| 
					
				 | 
			
			
				@@ -1,10 +1,13 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package com.tzld.piaoquan.longarticle.service.local.impl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.alibaba.fastjson.JSON; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.alibaba.fastjson.JSONArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.tzld.piaoquan.longarticle.common.enums.ContentStatusEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.tzld.piaoquan.longarticle.common.enums.PublishGzhPushTypeEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.tzld.piaoquan.longarticle.dao.mapper.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.tzld.piaoquan.longarticle.model.bo.MatchContent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.tzld.piaoquan.longarticle.model.bo.PublishMiniprogramBo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.tzld.piaoquan.longarticle.model.bo.VideoDetail; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.tzld.piaoquan.longarticle.model.dto.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.tzld.piaoquan.longarticle.model.po.*; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -20,6 +23,7 @@ import com.tzld.piaoquan.longarticle.utils.LarkRobotUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.tzld.piaoquan.longarticle.utils.TimeZoneUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import lombok.extern.slf4j.Slf4j; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.apache.commons.lang3.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.beans.BeanUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.data.redis.core.RedisTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.stereotype.Service; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -77,6 +81,9 @@ public class CoreServiceImpl implements CoreService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private PublicContentServiceImpl publicContentService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private RootSourceServiceImpl rootSourceService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private RedisTemplate<String, Object> redisTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -429,6 +436,8 @@ public class CoreServiceImpl implements CoreService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 sendIds.add(publishContent.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //获取小程序 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 List<PublishMiniprogram> publishMiniprogramList = contentService.getPublishMiniprograms(publishArticleData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //不存在则重新生成 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (CollectionUtils.isEmpty(publishMiniprogramList)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     List<CrawlerVideo> contentVideos = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             contentService.getContentMiniVideo(publishArticleData, planAccount); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -468,31 +477,42 @@ public class CoreServiceImpl implements CoreService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     String ghId = planAccount.getGhId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     Long planAccountId = planAccount.getId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    publishMiniprogramList = cardService.generateCards(planAccountId, ghId, videoDetails, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    List<PublishMiniprogramBo> publishMiniprogramBoList = cardService.generateCards(planAccountId, ghId, videoDetails, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             planAccount.getMiniprogramUseType(), publishContent.getPublishContentId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (CollectionUtils.isEmpty(publishMiniprogramList) && publishMiniprogramList.size() < 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (CollectionUtils.isEmpty(publishMiniprogramBoList) && publishMiniprogramBoList.size() < 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    for (PublishMiniprogram publishMiniprogram : publishMiniprogramList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        String videoCover = publishMiniprogram.getVideoCover(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        String wxUrl = aigcService.pushCover(videoCover, publishMiniprogram.getPublishContentId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    JSONArray jsonArray = new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    for (PublishMiniprogramBo publishMiniprogramBo : publishMiniprogramBoList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        String videoCover = publishMiniprogramBo.getVideoCover(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        String wxUrl = aigcService.pushCover(videoCover, publishMiniprogramBo.getPublishContentId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if (StringUtils.isEmpty(wxUrl)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        publishMiniprogram.setWxUrl(wxUrl); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        publishMiniprogram.setContentId(publishContent.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        RootSource rootSource = new RootSource(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        rootSource.setAccountName(planAccount.getAccountName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        rootSource.setRootSourceId(publishMiniprogram.getRootSourceId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        rootSource.setGhId(planAccount.getGhId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        rootSource.setRequestTime(Integer.valueOf(String.valueOf(System.currentTimeMillis() / 1000))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        rootSource.setTraceId(publishMiniprogram.getTraceId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        rootSource.setPushType(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        rootSource.setVideoId(publishMiniprogram.getVideoId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        rootSource.setContentId(publishArticleData.getSourceId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        rootSourceMapper.insertSelective(rootSource); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        publishMiniprogramBo.setWxUrl(wxUrl); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        publishMiniprogramBo.setContentId(publishContent.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //插入rootSource 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        rootSourceService.addRootSource(publishMiniprogramBo, planAccount, publishArticleData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //TODO 更新match表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        JSONObject jsonObject = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        jsonObject.put("uid", publishMiniprogramBo.getUid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        jsonObject.put("source", publishMiniprogramBo.getSource()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        jsonObject.put("kimiTitle", publishMiniprogramBo.getVideoTitle()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        jsonObject.put("videoId", publishMiniprogramBo.getVideoId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        jsonObject.put("videoCover", publishMiniprogramBo.getVideoCover()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        jsonObject.put("videoPath", publishMiniprogramBo.getVideoPath()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        jsonObject.put("videoOss", publishMiniprogramBo.getVideoPath()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        jsonObject.put("rootSourceId", publishMiniprogramBo.getRootSourceId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        jsonArray.add(jsonObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        PublishMiniprogram publishMiniprogram = new PublishMiniprogram(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        BeanUtils.copyProperties(publishMiniprogram, publishMiniprogramBo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         publishMiniprogramMapper.insertSelective(publishMiniprogram); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        publishMiniprogramList.add(publishMiniprogram); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    String traceId = contentService.updateMatchContent(publishArticleData.getSourceId(), planAccount.getGhId(), jsonArray); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 List<PublishMiniprogramParam> publishCardList = new ArrayList<>(); 
			 |