wangyunpeng vor 2 Monaten
Ursprung
Commit
e8eb0f105c

+ 1 - 1
api-module/src/main/java/com/tzld/piaoquan/api/common/enums/ExceptionEnum.java

@@ -43,7 +43,7 @@ public enum ExceptionEnum {
     API_TOKEN_ERROR(4000, "token无效"),
     API_PAGE_PARAM_ERROR(4001, "请输入正确的分页参数"),
     API_PAGE_SIZE_TOO_LARGE(4002, "每页获取数量不能超过500条"),
-    API_PAGE_URL_SIZE_TOO_LARGE(4002, "获取视频嵌入路径 每次最多20条"),
+    API_PAGE_URL_SIZE_TOO_LARGE(4002, "获取视频嵌入路径 每次最多3条"),
     ;
     private int code;
     private String msg;

+ 4 - 4
api-module/src/main/java/com/tzld/piaoquan/api/model/param/contentplatform/api/GetVideoPageUrlParam.java

@@ -11,17 +11,17 @@ public class GetVideoPageUrlParam {
     @ApiModelProperty(value = "合作类型:0-公众号 1-企微")
     private Integer type;
     @ApiModelProperty(value = "待嵌入视频列表")
-    private List<VideoItem> videoList;
+    private List<PlanItem> planList;
 
     @Data
-    public static class VideoItem {
-        @ApiModelProperty(value = "videoId")
-        private Long videoId;
+    public static class PlanItem {
         @ApiModelProperty(value = "嵌入场景 0-自动回复 1-服务号定期推送")
         private Integer type;
         @ApiModelProperty(value = "公众号ghId")
         private String ghId;
         @ApiModelProperty(value = "公众号类型")
         private Integer accountType;
+        @ApiModelProperty(value = "videoIds")
+        private List<Long> videoIds;
     }
 }

+ 34 - 40
api-module/src/main/java/com/tzld/piaoquan/api/service/contentplatform/impl/ContentPlatformApiServiceImpl.java

@@ -3,24 +3,26 @@ package com.tzld.piaoquan.api.service.contentplatform.impl;
 import com.alibaba.fastjson.JSON;
 import com.tzld.piaoquan.api.common.enums.ExceptionEnum;
 import com.tzld.piaoquan.api.common.enums.contentplatform.AccountStatusEnum;
-import com.tzld.piaoquan.api.common.enums.contentplatform.QwPlanTypeEnum;
+import com.tzld.piaoquan.api.common.enums.contentplatform.PublishStageEnum;
 import com.tzld.piaoquan.api.common.exception.CommonException;
 import com.tzld.piaoquan.api.dao.mapper.contentplatform.ext.ContentPlatformPlanMapperExt;
-import com.tzld.piaoquan.api.model.param.contentplatform.QwPlanSaveVideoParam;
+import com.tzld.piaoquan.api.model.config.LoginUserContext;
+import com.tzld.piaoquan.api.model.param.contentplatform.GzhPlanSaveParam;
+import com.tzld.piaoquan.api.model.param.contentplatform.GzhPlanVideoContentItemParam;
 import com.tzld.piaoquan.api.model.param.contentplatform.VideoContentListParam;
 import com.tzld.piaoquan.api.model.param.contentplatform.api.GetContentPageParam;
 import com.tzld.piaoquan.api.model.param.contentplatform.api.GetTokenParam;
 import com.tzld.piaoquan.api.model.param.contentplatform.api.GetVideoPageUrlParam;
 import com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformAccount;
-import com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformQwPlan;
+import com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformGzhAccount;
 import com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformVideo;
 import com.tzld.piaoquan.api.model.vo.contentplatform.api.VideoIdTitleVO;
 import com.tzld.piaoquan.api.model.vo.contentplatform.api.VideoPageUrlVO;
 import com.tzld.piaoquan.api.service.contentplatform.ContentPlatformAccountService;
 import com.tzld.piaoquan.api.service.contentplatform.ContentPlatformApiService;
+import com.tzld.piaoquan.api.service.contentplatform.ContentPlatformCooperateAccountService;
 import com.tzld.piaoquan.api.service.contentplatform.ContentPlatformPlanService;
 import com.tzld.piaoquan.growth.common.service.MessageAttachmentService;
-import com.tzld.piaoquan.growth.common.utils.MessageUtil;
 import com.tzld.piaoquan.growth.common.utils.RedisUtils;
 import com.tzld.piaoquan.growth.common.utils.page.Page;
 import org.apache.commons.collections4.CollectionUtils;
@@ -42,7 +44,7 @@ public class ContentPlatformApiServiceImpl implements ContentPlatformApiService
     @Autowired
     private ContentPlatformPlanMapperExt planMapperExt;
     @Autowired
-    private MessageAttachmentService messageAttachmentService;
+    private ContentPlatformCooperateAccountService gzhAccountService;
 
     @Autowired
     private RedisUtils redisUtils;
@@ -116,47 +118,39 @@ public class ContentPlatformApiServiceImpl implements ContentPlatformApiService
     @Override
     public List<VideoPageUrlVO> getVideoPageUrl(String token, GetVideoPageUrlParam param) {
         ContentPlatformAccount account = checkToken(token);
-        if (CollectionUtils.isEmpty(param.getVideoList()) || param.getVideoList().size() > 20) {
+        if (CollectionUtils.isEmpty(param.getPlanList()) || param.getPlanList().size() > 3) {
             throw new CommonException(ExceptionEnum.API_PAGE_URL_SIZE_TOO_LARGE);
         }
-        List<Long> videoIds = param.getVideoList().stream().map(GetVideoPageUrlParam.VideoItem::getVideoId).collect(Collectors.toList());
+        List<VideoPageUrlVO> result = new ArrayList<>();
+        List<Long> videoIds = param.getPlanList().stream().flatMap(o -> o.getVideoIds().stream()).collect(Collectors.toList());
         List<ContentPlatformVideo> videoList = planMapperExt.getVideoListByIds(videoIds);
         Map<Long, ContentPlatformVideo> videoMap = videoList.stream().collect(Collectors.toMap(ContentPlatformVideo::getVideoId, video -> video));
-        List<VideoPageUrlVO> result = new ArrayList<>();
-        if (param.getType() == 1) {
-            for (GetVideoPageUrlParam.VideoItem item : param.getVideoList()) {
-                ContentPlatformQwPlan qwPlan = new ContentPlatformQwPlan();
-                qwPlan.setType(param.getType());
-                qwPlan.setScene(0);
-                String pageUrl = messageAttachmentService.getPage(account.getChannel(), "wxbdd2a2e93d9a6e25",
-                        "dyyqw", "企微", QwPlanTypeEnum.from(param.getType()).getDescription(),
-                        "位置1", item.getVideoId());
-                String rootSourceId = MessageUtil.getRootSourceId(pageUrl);
-                qwPlan.setPageUrl(pageUrl);
-                qwPlan.setRootSourceId(rootSourceId);
-                qwPlan.setCreateAccountId(account.getId());
-                qwPlan.setCreateTimestamp(System.currentTimeMillis());
-                planMapperExt.insertQwPlanReturnId(qwPlan);
-                // 保存视频内容
-                ContentPlatformVideo video = videoMap.get(item.getVideoId());
-                QwPlanSaveVideoParam videoParam = new QwPlanSaveVideoParam();
-                videoParam.setVideoId(video.getVideoId());
-                videoParam.setTitle(video.getTitle());
-                videoParam.setCover(video.getCover());
-                videoParam.setVideo(video.getVideo());
-                planService.saveQwPlanVideo(videoParam, qwPlan.getId(), account.getId());
-                VideoPageUrlVO vo = new VideoPageUrlVO();
-                vo.setVideoId(item.getVideoId());
-                vo.setTitle(video.getTitle());
-                vo.setCover(video.getCover());
-                vo.setPageUrl(pageUrl);
-                result.add(vo);
-            }
-        } else {
-            for (GetVideoPageUrlParam.VideoItem item : param.getVideoList()) {
-
+        List<ContentPlatformGzhAccount> gzhAccountList = gzhAccountService.getAccountListByIds();
+        Map<String, ContentPlatformGzhAccount> gzhAccountMap = gzhAccountList.stream()
+                .collect(Collectors.toMap(ContentPlatformGzhAccount::getGhId, gzhAccount -> gzhAccount));
+        LoginUserContext.setLoginUser(account);
+        for (GetVideoPageUrlParam.PlanItem item : param.getPlanList()) {
+            GzhPlanSaveParam saveParam = new GzhPlanSaveParam();
+            saveParam.setPublishStage(PublishStageEnum.USER.getVal());
+            ContentPlatformGzhAccount gzhAccount = gzhAccountMap.get(item.getGhId());
+            saveParam.setAccountId(gzhAccount.getId());
+            saveParam.setScene(0);
+            saveParam.setType(item.getType());
+            saveParam.setSelectVideoType(0);
+            List<GzhPlanVideoContentItemParam> videoItemList = new ArrayList<>();
+            for (Long videoId : item.getVideoIds()) {
+                ContentPlatformVideo video = videoMap.get(videoId);
+                GzhPlanVideoContentItemParam videoItem = new GzhPlanVideoContentItemParam();
+                videoItem.setVideoId(video.getVideoId());
+                videoItem.setTitle(video.getTitle());
+                videoItem.setCover(video.getCover());
+                videoItem.setVideo(video.getVideo());
+                videoItemList.add(videoItem);
             }
+            saveParam.setVideoList(videoItemList);
+            planService.gzhPlanSave(saveParam);
         }
+        LoginUserContext.remove();
         return result;
     }
 }