Browse Source

AIGC获取自动回复视频

wangyunpeng 2 months ago
parent
commit
35b0223835

+ 3 - 0
api-module/src/main/java/com/tzld/piaoquan/api/dao/mapper/contentplatform/ext/ContentPlatformPlanMapperExt.java

@@ -4,6 +4,7 @@ import com.tzld.piaoquan.api.model.param.contentplatform.GzhPlanListParam;
 import com.tzld.piaoquan.api.model.param.contentplatform.QwPlanListParam;
 import com.tzld.piaoquan.api.model.param.contentplatform.VideoContentListParam;
 import com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformGzhPlan;
+import com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformGzhPlanVideo;
 import com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformQwPlan;
 import com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformVideo;
 import org.apache.ibatis.annotations.Param;
@@ -50,4 +51,6 @@ public interface ContentPlatformPlanMapperExt {
     void batchInsertQwPlan(@Param("records") List<ContentPlatformQwPlan> saveList);
 
     void insertQwPlanReturnId(@Param("record") ContentPlatformQwPlan qwPlan);
+
+    List<ContentPlatformGzhPlanVideo> getGzhPlanVideoListByCooperateAccountId(@Param("ghId") String ghId);
 }

+ 3 - 0
api-module/src/main/java/com/tzld/piaoquan/api/service/contentplatform/ContentPlatformPlanService.java

@@ -2,6 +2,7 @@ package com.tzld.piaoquan.api.service.contentplatform;
 
 import com.tzld.piaoquan.api.model.param.contentplatform.*;
 import com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformGzhPlan;
+import com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformGzhPlanVideo;
 import com.tzld.piaoquan.api.model.vo.contentplatform.GzhPlanItemVO;
 import com.tzld.piaoquan.api.model.vo.contentplatform.QwPlanItemVO;
 import com.tzld.piaoquan.api.model.vo.contentplatform.VideoContentItemVO;
@@ -25,4 +26,6 @@ public interface ContentPlatformPlanService {
     void qwPlanSave(QwPlanSaveParam param);
 
     List<ContentPlatformGzhPlan> getGzhPlanListByCooperateAccountId(Long accountId);
+
+    List<ContentPlatformGzhPlanVideo> getGzhPlanVideoListByCooperateAccountId(String ghId);
 }

+ 5 - 0
api-module/src/main/java/com/tzld/piaoquan/api/service/contentplatform/impl/ContentPlatformPlanServiceImpl.java

@@ -385,4 +385,9 @@ public class ContentPlatformPlanServiceImpl implements ContentPlatformPlanServic
         qwPlanVideoMapper.insertSelective(item);
     }
 
+    @Override
+    public List<ContentPlatformGzhPlanVideo> getGzhPlanVideoListByCooperateAccountId(String ghId) {
+        return planMapperExt.getGzhPlanVideoListByCooperateAccountId(ghId);
+    }
+
 }

+ 21 - 5
api-module/src/main/java/com/tzld/piaoquan/api/service/strategy/impl/BuckStrategyV1.java

@@ -6,6 +6,8 @@ import com.alibaba.fastjson.JSONObject;
 import com.tzld.piaoquan.api.common.enums.ReplyStrategyServiceEnum;
 import com.tzld.piaoquan.api.component.TouLiuHttpClient;
 import com.tzld.piaoquan.api.dao.mapper.AlgGhAutoreplyVideoRankDataMapper;
+import com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformGzhPlanVideo;
+import com.tzld.piaoquan.api.service.contentplatform.ContentPlatformPlanService;
 import com.tzld.piaoquan.growth.common.common.enums.StrategyStatusEnum;
 import com.tzld.piaoquan.growth.common.dao.mapper.CgiReplyBucketDataMapper;
 import com.tzld.piaoquan.growth.common.dao.mapper.GhDetailMapper;
@@ -67,6 +69,8 @@ public class BuckStrategyV1 implements ReplyStrategyService {
     private TouLiuHttpClient touLiuHttpClient;
     @Autowired
     private GhDetailMapper ghDetailMapper;
+    @Autowired
+    private ContentPlatformPlanService contentPlatformPlanService;
 
     @Override
     public ReplyBucketData getResult(BucketDataParam bucketDataParam) {
@@ -367,17 +371,29 @@ public class BuckStrategyV1 implements ReplyStrategyService {
             int sort = i + 1;
             Long videoId = bucketDataParam.getVideos().get(i);
             Map<Long, VideoDetail> videoDetailMap = touLiuHttpClient.getVideoDetailRequest(bucketDataParam.getVideos());
+            List<ContentPlatformGzhPlanVideo> gzhPlanVideoList = contentPlatformPlanService.getGzhPlanVideoListByCooperateAccountId(bucketDataParam.getGhId());
+            Map<Long, ContentPlatformGzhPlanVideo> gzhPlanVideoMap = gzhPlanVideoList.stream().collect(Collectors.toMap(ContentPlatformGzhPlanVideo::getVideoId, x -> x));
             CgiReplyBucketData cgiReplyBucketData = new CgiReplyBucketData();
             cgiReplyBucketData.setStrategy(key);
             cgiReplyBucketData.setSort(sort);
             cgiReplyBucketData.setGhId(bucketDataParam.getGhId());
             cgiReplyBucketData.setMsgType(1);
             VideoDetail videoDetail = videoDetailMap.get(videoId);
-            if (videoDetail != null && StringUtils.isNotEmpty(videoDetail.getCover())) {
-                cgiReplyBucketData.setCoverUrl(videoDetail.getCover());
-            }
-            if (videoDetail != null && StringUtils.isNotEmpty(videoDetail.getTitle())) {
-                cgiReplyBucketData.setTitle(videoDetail.getTitle());
+            ContentPlatformGzhPlanVideo gzhPlanVideo = gzhPlanVideoMap.get(videoId);
+            // 内容合作平台视频标题和封面
+            if (Objects.nonNull(gzhPlanVideo)) {
+                cgiReplyBucketData.setTitle(gzhPlanVideo.getTitle());
+                if (StringUtils.isNotEmpty(gzhPlanVideo.getCover())) {
+                    String coverSuffix = videoDetail.getCover().substring(videoDetail.getCover().indexOf("/watermark"));
+                    cgiReplyBucketData.setCoverUrl(gzhPlanVideo.getCover() + coverSuffix);
+                }
+            } else {
+                if (videoDetail != null && StringUtils.isNotEmpty(videoDetail.getCover())) {
+                    cgiReplyBucketData.setCoverUrl(videoDetail.getCover());
+                }
+                if (videoDetail != null && StringUtils.isNotEmpty(videoDetail.getTitle())) {
+                    cgiReplyBucketData.setTitle(videoDetail.getTitle());
+                }
             }
             cgiReplyBucketData.setMiniAppId(SMALL_APP_Id);
             cgiReplyBucketData.setMiniVideoId(videoId);

+ 21 - 5
api-module/src/main/java/com/tzld/piaoquan/api/service/strategy/impl/ThirdPartyPushMessageStrategyV1.java

@@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 
 import com.tzld.piaoquan.api.common.enums.ReplyStrategyServiceEnum;
+import com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformGzhPlanVideo;
+import com.tzld.piaoquan.api.service.contentplatform.ContentPlatformPlanService;
 import com.tzld.piaoquan.growth.common.common.enums.StrategyStatusEnum;
 import com.tzld.piaoquan.api.component.TouLiuHttpClient;
 import com.tzld.piaoquan.api.dao.mapper.AlgGhAutoreplyVideoRankDataMapper;
@@ -60,6 +62,8 @@ public class ThirdPartyPushMessageStrategyV1 implements ReplyStrategyService {
     private CgiReplyBucketDataMapper cgiReplyBucketDataMapper;
     @Autowired
     private TouLiuHttpClient touLiuHttpClient;
+    @Autowired
+    private ContentPlatformPlanService contentPlatformPlanService;
 
     @Override
     public ReplyBucketData getResult(BucketDataParam bucketDataParam) {
@@ -237,6 +241,8 @@ public class ThirdPartyPushMessageStrategyV1 implements ReplyStrategyService {
                     continue;
                 }
                 Map<Long, VideoDetail> videoDetailMap = touLiuHttpClient.getVideoDetailRequest(bucketDataParam.getVideos());
+                List<ContentPlatformGzhPlanVideo> gzhPlanVideoList = contentPlatformPlanService.getGzhPlanVideoListByCooperateAccountId(bucketDataParam.getGhId());
+                Map<Long, ContentPlatformGzhPlanVideo> gzhPlanVideoMap = gzhPlanVideoList.stream().collect(Collectors.toMap(ContentPlatformGzhPlanVideo::getVideoId, x -> x));
                 for (int i = 0; i < bucketDataParam.getVideos().size(); i++) {
                     int sort = i + 1;
                     Long videoId = bucketDataParam.getVideos().get(i);
@@ -246,11 +252,21 @@ public class ThirdPartyPushMessageStrategyV1 implements ReplyStrategyService {
                     cgiReplyBucketData.setGhId(bucketDataParam.getGhId());
                     cgiReplyBucketData.setMsgType(1);
                     VideoDetail videoDetail = videoDetailMap.get(videoId);
-                    if (videoDetail != null && StringUtils.isNotEmpty(videoDetail.getCover())) {
-                        cgiReplyBucketData.setCoverUrl(videoDetail.getCover());
-                    }
-                    if (videoDetail != null && StringUtils.isNotEmpty(videoDetail.getTitle())) {
-                        cgiReplyBucketData.setTitle(videoDetail.getTitle());
+                    ContentPlatformGzhPlanVideo gzhPlanVideo = gzhPlanVideoMap.get(videoId);
+                    // 内容合作平台视频标题和封面
+                    if (Objects.nonNull(gzhPlanVideo)) {
+                        cgiReplyBucketData.setTitle(gzhPlanVideo.getTitle());
+                        if (StringUtils.isNotEmpty(gzhPlanVideo.getCover())) {
+                            String coverSuffix = videoDetail.getCover().substring(videoDetail.getCover().indexOf("/watermark"));
+                            cgiReplyBucketData.setCoverUrl(gzhPlanVideo.getCover() + coverSuffix);
+                        }
+                    } else {
+                        if (videoDetail != null && StringUtils.isNotEmpty(videoDetail.getCover())) {
+                            cgiReplyBucketData.setCoverUrl(videoDetail.getCover());
+                        }
+                        if (videoDetail != null && StringUtils.isNotEmpty(videoDetail.getTitle())) {
+                            cgiReplyBucketData.setTitle(videoDetail.getTitle());
+                        }
                     }
                     cgiReplyBucketData.setMiniAppId(SMALL_APP_Id);
                     cgiReplyBucketData.setMiniVideoId(videoId);

+ 11 - 0
api-module/src/main/resources/mapper/contentplatform/ext/ContentPlatformPlanMapperExt.xml

@@ -165,4 +165,15 @@
                 #{record.createAccountId}, #{record.createTimestamp}, #{record.updateTimestamp})
     </insert>
 
+    <select id="getGzhPlanVideoListByCooperateAccountId"
+            resultType="com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformGzhPlanVideo">
+        select cpgpv.*
+        from content_platform_gzh_plan_video cpgpv
+         join content_platform_gzh_plan cpgp on cpgp.id = cpgpv.plan_id
+         join content_platform_gzh_account cpgac on cpgac.id = cpgp.account_id
+        where cpgac.gh_id = #{ghId}
+          and cpgac.status = 1
+          and cpgp.scene = 0
+    </select>
+
 </mapper>