|
@@ -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;
|
|
|
}
|
|
|
}
|