From 3fdceb6011f62d5d2a9d26f5f840f75055506226 Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期二, 12 八月 2025 17:12:14 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java | 151 ++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 128 insertions(+), 23 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java index 6d4fea0..9e8fde1 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java @@ -99,6 +99,7 @@ /** * 鎵归噺鍒犻櫎 + * * @param ids * @return */ @@ -110,6 +111,7 @@ /** * id鍒犻櫎 + * * @param id * @return */ @@ -131,6 +133,7 @@ /** * 鍒嗛〉鏌ヨ + * * @param query * @return */ @@ -143,6 +146,7 @@ /** * 鏍规嵁id鏌ユ壘 + * * @param id * @return */ @@ -167,6 +171,7 @@ /** * 鍒楄〃 + * * @return */ @Override @@ -418,6 +423,104 @@ } @Override + public Result sysUpdatePublish(WxVideoForm form) { + Video video = baseMapper.selectById(form.getId()); + if (Objects.isNull(video)) { + return Result.error("淇敼瑙嗛涓嶅瓨鍦�"); + } + // 1.淇敼瑙嗛 + WxVideoForm.getEntityByForm(form, video); + video.setStatus(VideoStatusEnum.AUDITING.getValue()); + video.setCoverUrl(form.getCover()); + video.setVideoType(VideoTypeEnum.VIDEO.getValue()); + if (VideoContentTypeEnum.IMG.getValue().equals(form.getVideoContentType())) { + video.setVideoImgs(JSON.toJSONString(form.getVideoImgs())); + } + baseMapper.updateById(video); + // 2.澶勭悊鏍囩---鍒犻櫎涔嬪墠鐨勮棰戞爣绛惧叧绯伙紝鍐嶆柊澧� + new LambdaUpdateChainWrapper<>(videoTagRefService.getBaseMapper()) + .eq(VideoTagRef::getVideoId, video.getId()) + .remove(); + List<SimpleVideoTagVO> esTagList = new ArrayList<>(2); + List<VideoTagRef> videoTagRefs = form.getTags().stream().map(tag -> { + VideoTagRef videoTagRef = new VideoTagRef(); + videoTagRef.setVideoId(video.getId()); + if (StringUtils.isBlank(tag.getId())) { + VideoTag videoTag = new LambdaQueryChainWrapper<>(videoTagService.getBaseMapper()) + .eq(VideoTag::getTagName, tag.getTagName()) + .one(); + if (Objects.nonNull(videoTag)) { + videoTagRef.setVideoTagId(videoTag.getId()); + } else { + videoTag = new VideoTag(); + videoTag.setTagName(tag.getTagName()); + videoTag.setCreateType(TagCreateTypeEnum.USER.getValue()); + videoTagService.save(videoTag); + videoTagRef.setVideoTagId(videoTag.getId()); + } + } else { + videoTagRef.setVideoTagId(tag.getId()); + } + SimpleVideoTagVO esTag = new SimpleVideoTagVO(); + esTag.setVideoId(video.getId()); + esTag.setTagName(tag.getTagName()); + esTag.setId(tag.getId()); + esTagList.add(esTag); + return videoTagRef; + }).collect(Collectors.toList()); + videoTagRefService.saveBatch(videoTagRefs); + // 3. 淇濆瓨瑙嗛鏂囦欢淇℃伅 + lmkFileService.addByForm(form.getFileInfo()); + // 4. 澶勭悊閫夋嫨鐨勫晢鍝侊紝鍏堝垹闄や箣鍓嶇殑鍐嶆柊澧� + new LambdaUpdateChainWrapper<>(videoGoodsService.getBaseMapper()) + .eq(VideoGoods::getVideoId, video.getId()) + .remove(); + List<VideoGoods> videoGoods = new ArrayList<>(2); + if (CollectionUtils.isNotEmpty(form.getGoodsList())) { + for (int i = 0; i < form.getGoodsList().size(); i++) { + VideoGoods e = new VideoGoods(); + e.setVideoId(video.getId()); + e.setGoodsId(form.getGoodsList().get(i).getGoodsId()); + e.setGoodsSkuId(form.getGoodsList().get(i).getGoodsSkuId()); + e.setGoodsNum(form.getGoodsList().get(i).getGoodsNum()); + e.setOrderNum(i); + videoGoods.add(e); + } + videoGoodsService.saveBatch(videoGoods); + } + // 5. 鏇存柊es涓殑鏁版嵁锛宮q寮傛澶勭悊 + VideoIndex videoIndex = new VideoIndex(); + BeanUtils.copyProperties(video, videoIndex); + String avatar = ""; + String name = ""; + //璁剧疆鐢ㄦ埛淇℃伅澶村儚 + VideoUserBaseInfo videoSysUserBaseInfo = baseMapper.getVideoSysUserBaseInfo(video.getAuthorId()); + + if (videoSysUserBaseInfo != null) { + avatar = videoSysUserBaseInfo.getAvatar(); + name = videoSysUserBaseInfo.getNickName(); + } + VideoUserBaseInfo videoMemUserBaseInfo = baseMapper.getVideoMemUserBaseInfo(video.getAuthorId()); + if (videoMemUserBaseInfo != null) { + avatar = videoMemUserBaseInfo.getAvatar(); + name = videoMemUserBaseInfo.getNickName(); + } + videoIndex.setAuthorName(name); + videoIndex.setAuthorAvatar(avatar); + videoIndex.setCoverFileKey(video.getCoverUrl()); + List<VideoGoodsDetailVO> esGoodsList = videoGoods.stream().map(goods -> { + VideoGoodsDetailVO vo = new VideoGoodsDetailVO(); + BeanUtils.copyProperties(goods, vo); + return vo; + }).collect(Collectors.toList()); + videoIndex.setGoodsList(esGoodsList); + videoIndex.setTagList(esTagList); + String destination = rocketmqCustomProperties.getVideoTopic() + ":" + VideoTagsEnum.ES_DOC_ADD_OR_UPDATE.name(); + rocketMQTemplate.asyncSend(destination, JSON.toJSONString(videoIndex), RocketmqSendCallbackBuilder.commonCallback()); + return Result.ok("鍙戝竷鎴愬姛锛岃棰戝鏍镐腑~"); + } + + @Override public Result managerPage(ManagerVideoQuery query) { IPage<VideoVO> page = PageUtil.getPage(query, VideoVO.class); // 1. 鍏堟煡鍑鸿棰戜俊鎭� @@ -431,11 +534,11 @@ page.getRecords().forEach(v -> { v.setTagList(tagMap.get(v.getId())); String coverUrl = v.getCoverUrl(); - if (StringUtils.isNotBlank(coverUrl)&&!coverUrl.contains("http")) { + if (StringUtils.isNotBlank(coverUrl) && !coverUrl.contains("http")) { v.setCoverUrl(cosUtil.getPreviewUrl(v.getCoverUrl())); } - v.getGoodsList().forEach(goods ->{ - if (StringUtils.isNotBlank(goods.getThumbnail())&&!goods.getThumbnail().contains("http")) { + v.getGoodsList().forEach(goods -> { + if (StringUtils.isNotBlank(goods.getThumbnail()) && !goods.getThumbnail().contains("http")) { goods.setThumbnail(cosUtil.getPreviewUrl(goods.getThumbnail())); } @@ -640,7 +743,8 @@ } if (VideoContentTypeEnum.VIDEO.getValue().equals(v.getVideoContentType())) { v.setVideoUrl(cosUtil.getPreviewUrl(v.getVideoFileKey())); - v.setCoverUrl(cosUtil.getPreviewUrl(v.getCoverFileKey())); + String coverFileKey = v.getCoverFileKey(); + v.setCoverUrl(cosUtil.getPreviewUrl(coverFileKey)); } else if (VideoContentTypeEnum.IMG.getValue().equals(v.getVideoContentType()) && StringUtils.isNotBlank(v.getVideoImgs())) { v.setImgs(JSON.parseArray(v.getVideoImgs(), String.class).stream().map(fileKey -> cosUtil.getPreviewUrl(fileKey)).collect(Collectors.toList())); } @@ -711,7 +815,7 @@ IPage<WxVideoVO> page = PageUtil.getPage(query, WxVideoVO.class); //鑾峰彇澶у仴搴疯棰戝垪琛� - baseMapper.recommendHealthVideo(page,query); + baseMapper.recommendHealthVideo(page, query); buildRecommendVideoList(page, query.getVideoId()); if (page.getTotal() > 0) { @@ -742,12 +846,12 @@ buildRecommendVideoList(page, query.getVideoId()); page.getRecords().forEach(v -> { - v.setAuthorAvatar(cosUtil.getPreviewUrl(v.getAuthorAvatar())); - if (VideoContentTypeEnum.VIDEO.getValue().equals(v.getVideoContentType())) { - v.setVideoUrl(cosUtil.getPreviewUrl(v.getVideoFileKey())); - v.setCoverUrl(cosUtil.getPreviewUrl(v.getCoverFileKey())); - } - }); + v.setAuthorAvatar(cosUtil.getPreviewUrl(v.getAuthorAvatar())); + if (VideoContentTypeEnum.VIDEO.getValue().equals(v.getVideoContentType())) { + v.setVideoUrl(cosUtil.getPreviewUrl(v.getVideoFileKey())); + v.setCoverUrl(cosUtil.getPreviewUrl(v.getCoverFileKey())); + } + }); return Result.ok().data(page.getRecords()).total(page.getTotal()); } @@ -759,15 +863,15 @@ private void buildRecommendVideoList(IPage<WxVideoVO> page, String videoId) { //鏌ヨ鍒版湁瑙嗛鍒楄〃 - if(org.apache.commons.collections.CollectionUtils.isNotEmpty(page.getRecords())){ + if (org.apache.commons.collections.CollectionUtils.isNotEmpty(page.getRecords())) { //鐜板皢瑙嗛椤哄簭鎵撲贡 Collections.shuffle(page.getRecords()); WxVideoVO wxVideoVO = null; - if (StringUtils.isNotBlank(videoId)){ + if (StringUtils.isNotBlank(videoId)) { VideoQuery videoQuery = new VideoQuery(); videoQuery.setVideoId(videoId); - wxVideoVO = baseMapper.recommendVideoByVideoId(videoQuery); + wxVideoVO = baseMapper.recommendVideoByVideoId(videoQuery); boolean found = false; int foundIndex = -1; @@ -781,10 +885,10 @@ break; } } - if (found){ + if (found) { WxVideoVO matchedRecord = records.remove(foundIndex); records.add(0, matchedRecord); - }else { + } else { // 濡傛灉娌℃壘鍒帮紝鏇挎崲棣栦綅 records.set(0, wxVideoVO); @@ -864,8 +968,8 @@ AdminUser adminUser = adminUserService.getById(authorId); VideoAccountVO vo; if (Objects.isNull(adminUser)) { - vo = baseMapper.getAuthorInfo(authorId, UserContext.getCurrentUserId()); - }else { + vo = baseMapper.getAuthorInfo(authorId, UserContext.getCurrentUserId()); + } else { vo = baseMapper.getAuthorInfoAdmin(authorId, UserContext.getCurrentUserId()); } vo.setSelf(authorId.equals(UserContext.getCurrentUserId())); @@ -1070,7 +1174,8 @@ if (page.getTotal() > 0) { Map<String, List<SimpleVideoTagVO>> tagMap = videoTagRefService.getTagsByVideoIds( page.getRecords().stream().map(VideoVO::getId).collect(Collectors.toList()) - ).stream().collect(Collectors.groupingBy(SimpleVideoTagVO::getVideoId));; + ).stream().collect(Collectors.groupingBy(SimpleVideoTagVO::getVideoId)); + ; // 3. 鑾峰彇瑙嗛涓存椂璁块棶鍦板潃銆佽缃棰戞爣绛� page.getRecords().forEach(v -> { v.setTagList(tagMap.get(v.getId())); @@ -1096,7 +1201,7 @@ Assert.notNull(entity, "璁板綍涓嶅瓨鍦�"); String videoType = entity.getVideoType(); if (!VideoTypeEnum.HEALTH.getValue().equals(videoType)) { - log.error("鍒犻櫎闈炲ぇ鍋ュ悍瑙嗛瑙嗛id涓�------->"+id); + log.error("鍒犻櫎闈炲ぇ鍋ュ悍瑙嗛瑙嗛id涓�------->" + id); return Result.error("鍒犻櫎澶辫触"); } baseMapper.deleteById(id); @@ -1182,7 +1287,7 @@ Assert.notNull(entity, "璁板綍涓嶅瓨鍦�"); String videoType = entity.getVideoType(); if (!VideoTypeEnum.COOK.getValue().equals(videoType)) { - log.error("鍒犻櫎闈炲ぇ绁炲帹瑙嗛瑙嗛id涓�------->"+id); + log.error("鍒犻櫎闈炲ぇ绁炲帹瑙嗛瑙嗛id涓�------->" + id); return Result.error("鍒犻櫎澶辫触"); } baseMapper.deleteById(id); @@ -1228,7 +1333,7 @@ } } // 鏍囪瘑璇ヨ棰戦渶瑕侀�氳繃瀹氭椂浠诲姟缁熻鏀惰棌鏁� - if (Objects.nonNull(video) && ! video.getCollectNumJob()) { + if (Objects.nonNull(video) && !video.getCollectNumJob()) { new LambdaUpdateChainWrapper<>(baseMapper) .eq(Video::getId, video.getId()) .set(Video::getCollectNumJob, Boolean.TRUE) @@ -1291,7 +1396,7 @@ } } // 鏍囪瘑璇ヨ棰戦渶瑕侀�氳繃瀹氭椂浠诲姟缁熻鏀惰棌鏁� - if (Objects.nonNull(video) && ! video.getCollectNumJob()) { + if (Objects.nonNull(video) && !video.getCollectNumJob()) { new LambdaUpdateChainWrapper<>(baseMapper) .eq(Video::getId, video.getId()) .set(Video::getThumbsUpNumJob, Boolean.TRUE) -- Gitblit v1.8.0