From 1cdb060a8aa59b0979f7609db1781805528e76e7 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期三, 25 六月 2025 18:25:42 +0800 Subject: [PATCH] 视频评论数、收藏数通过mq、redis实现 --- framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityServiceImpl.java | 43 ++++++++++++++++++++++++++++++------------- 1 files changed, 30 insertions(+), 13 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityServiceImpl.java index 5999d78..d911a32 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityServiceImpl.java @@ -1,14 +1,12 @@ package cn.lili.modules.lmk.service.impl; import cn.lili.base.Result; +import cn.lili.common.enums.ActivityCoverTypeEnum; import cn.lili.common.enums.ActivityStatusEnum; import cn.lili.modules.lmk.domain.entity.Activity; -import cn.lili.modules.lmk.domain.entity.ActivityReport; import cn.lili.modules.lmk.domain.form.ActivityForm; -import cn.lili.modules.lmk.domain.form.ActivityReportForm; import cn.lili.modules.lmk.domain.query.ActivityMembersQuery; import cn.lili.modules.lmk.domain.query.ActivityQuery; -import cn.lili.modules.lmk.domain.vo.ActivityReportVO; import cn.lili.modules.lmk.domain.vo.ActivityVO; import cn.lili.modules.lmk.mapper.ActivityMapper; import cn.lili.modules.lmk.mapper.ActivityReportMapper; @@ -16,9 +14,9 @@ import cn.lili.modules.lmk.service.LmkFileService; import cn.lili.modules.lmk.service.MyActivityService; import cn.lili.modules.member.entity.vo.MemberVO; +import cn.lili.utils.COSUtil; import cn.lili.utils.PageUtil; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import io.micrometer.core.instrument.util.StringUtils; import lombok.RequiredArgsConstructor; @@ -39,6 +37,7 @@ private final MyActivityService activityService; private final ActivityReportMapper activityReportMapper; + private final COSUtil cOSUtil; @Override public Result add(ActivityForm form) { @@ -47,6 +46,8 @@ entity.setStatus(ActivityStatusEnum.NOT_STARTED.getType()); //榛樿涓嶄负鎺ㄨ崘 entity.setRecommend(false); + //榛樿鏈彂甯� + entity.setPublish(false); baseMapper.insert(entity); return Result.ok("娣诲姞鎴愬姛"); @@ -57,7 +58,7 @@ Activity entity = baseMapper.selectById(form.getId()); //鍒ゆ柇淇敼鍓嶇殑灏侀潰绫诲瀷鏄惁涓烘枃鏈紝鏂囨湰涓嶉渶瑕佸垹闄ゆ枃浠� - if (!"鏂囧瓧".equals(entity.getCoverType())){ + if (!ActivityCoverTypeEnum.TEXT.getType().equals(entity.getCoverType())){ //鍒ゆ柇璺緞鏄惁鏀瑰彉 if (!form.getCover().equals(entity.getCover())) { //鍒犻櫎浜戞湇鍔″櫒涓棫鐨勫浘鐗� @@ -83,10 +84,6 @@ public Result removeById(String id) { //TODO 鍏堝垽鏂椿鍔ㄦ槸鍚︽湁鎶ュ悕浜哄憳 //鏈夌殑璇濅笉鍙垹闄� 鑱斾腑闂磋〃鏌ヨ - - - - //鍒犻櫎锛屽悓鏃跺垽鏂瀵硅薄鐨勫皝闈㈡槸鍚﹀瓨鍦� 锛屽瓨鍦ㄥ垯鍦ㄤ簯鏈嶅姟鍣ㄥ垹闄� ActivityVO vo = baseMapper.getById(id); if (StringUtils.isNotEmpty(vo.getCover())){ @@ -103,9 +100,8 @@ baseMapper.getPage(page, query); for (ActivityVO vo : page.getRecords()) { - if (!"鏂囧瓧".equals(vo.getCoverType())){ - String url = lmkFileService.getPreviewUrl(vo.getCover()); - vo.setUrl(url); + if (!ActivityCoverTypeEnum.TEXT.getType().equals(vo.getCoverType())){ + vo.setUrl(cOSUtil.getPreviewUrl(vo.getCover())); } } return Result.ok().data(page.getRecords()).total(page.getTotal()); @@ -117,10 +113,22 @@ Assert.notNull(vo, "璁板綍涓嶅瓨鍦�"); return Result.ok().data(vo); } + @Override + public Result getCanReportPage(ActivityQuery query){ + IPage<ActivityVO> page = PageUtil.getPage(query, ActivityVO.class); + //宸插彂甯冪殑娲诲姩 + baseMapper.getCanReportPage(page, query); + for(ActivityVO activityVO : page.getRecords()){ + activityVO.setUrl(cOSUtil.getPreviewUrl(activityVO.getCover())); + } + + return Result.ok().data(page.getRecords()).total(page.getTotal()); + } @Override public Result all() { + List<Activity> entities = baseMapper.selectList(null); List<ActivityVO> vos = entities.stream() .map(entity -> ActivityVO.getVoByEntity(entity, null)) @@ -147,7 +155,16 @@ @Override public Result activityChangeStatus(ActivityForm form) { Activity entity = baseMapper.selectById(form.getId()); - entity.setStatus(form.getStatus()); + entity.setPublish(form.getPublish()); + if (!form.getPublish()){ + //涓嬫灦鍒ゆ柇鏄惁鏈変汉鍛樻姤鍚嶏紝鏈夋姤鍚嶇殑璇濈姝㈡彁閱掓棤娉曚笅鏋� + ActivityMembersQuery activityMembersQuery = new ActivityMembersQuery(); + activityMembersQuery.setId(form.getId()); + if((long)activityMembersPage(activityMembersQuery).get("total") > 0){ + return Result.error("璇ユ椿鍔ㄦ棤娉曚笅鏋讹紝宸插瓨鍦ㄦ姤鍚嶄汉鍛�"); + } + + } baseMapper.updateById(entity); return Result.ok(); } -- Gitblit v1.8.0