From d900bdc7b712666cdeafe36f01e485f4672e4651 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期一, 17 十一月 2025 15:14:33 +0800
Subject: [PATCH] 修改奖品bug
---
framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoCommentServiceImpl.java | 52 ++++++++++++++++++++++++++++++++--------------------
1 files changed, 32 insertions(+), 20 deletions(-)
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoCommentServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoCommentServiceImpl.java
index 6d4047b..1be4cde 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoCommentServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoCommentServiceImpl.java
@@ -9,8 +9,10 @@
import cn.lili.modules.lmk.constant.RedisKeyExpireConstant;
import cn.lili.modules.lmk.domain.entity.ThumbsUpRecord;
import cn.lili.modules.lmk.domain.form.ThumbsUpRecordForm;
+import cn.lili.modules.lmk.domain.query.VideoCommentMangerQuery;
import cn.lili.modules.lmk.domain.vo.CollectTypeNumVO;
import cn.lili.modules.lmk.enums.general.VideoCommentStatusEnum;
+import cn.lili.modules.lmk.event.event.VideoCommentNumCacheEvent;
import cn.lili.modules.lmk.service.ThumbsUpRecordService;
import cn.lili.rocketmq.RocketmqSendCallbackBuilder;
import cn.lili.rocketmq.tags.CommentTagsEnum;
@@ -32,6 +34,7 @@
import org.apache.rocketmq.client.producer.DefaultMQProducer;
import org.apache.rocketmq.common.MixAll;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
+import org.springframework.context.ApplicationEventPublisher;
import org.springframework.stereotype.Service;
import lombok.RequiredArgsConstructor;
import cn.lili.utils.PageUtil;
@@ -59,11 +62,14 @@
private final ThumbsUpRecordService thumbsUpRecordService;
private final RocketMQTemplate rocketMQTemplate;
private final RocketmqCustomProperties rocketmqCustomProperties;
+ private final ApplicationEventPublisher eventPublisher;
- /**
- * 璇勮鐐硅禐鏁扮殑杩囨湡鏃堕棿
- */
- public final static long EXPIRE_TIME = 15l;
+ @Override
+ public Result mangerComment(VideoCommentMangerQuery query) {
+ IPage<VideoCommentVO> page = PageUtil.getPage(query, VideoCommentVO.class);
+ baseMapper.getManagerPage(page, query);
+ return Result.ok().data(page.getRecords()).total(page.getTotal());
+ }
/**
* 娣诲姞
@@ -72,6 +78,8 @@
*/
@Override
public Result comment(VideoCommentForm form) {
+ System.out.println("鎵撳嵃璇勮:"+form);
+
// 鐩戞祴鍐呭鏄惁鍖呭惈鏁忔劅璇�
if (SensitiveWordsFilter.includeSentenceWord(form.getCommentContent())) {
return Result.error("璇勮鍚晱鎰熷唴瀹�");
@@ -92,7 +100,9 @@
entity.setUserAvatar(currentUser.getFace());
baseMapper.insert(entity);
// 鍒濆鍖杛edis涓瘎璁虹殑鐐硅禐鏁伴噺
- cache.put(CachePrefix.VIDEO_COMMENT_LIKE_NUM.getPrefixWithId(entity.getId()), 0, EXPIRE_TIME, TimeUnit.DAYS);
+ cache.put(CachePrefix.VIDEO_COMMENT_LIKE_NUM.getPrefixWithId(entity.getId()), 0, RedisKeyExpireConstant.COMMENT_LIKE_NUM_EXPIRE, RedisKeyExpireConstant.EXPIRE_DAY);
+ // 澶勭悊瑙嗛璇勮鏁�
+ eventPublisher.publishEvent(new VideoCommentNumCacheEvent(this, entity.getVideoId()));
return Result.ok("娣诲姞鎴愬姛").data(this.detail(entity.getId()).get("data"));
}
@@ -198,7 +208,7 @@
public void mqThumbsUp(ThumbsUpRecord record) {
boolean exists = new LambdaQueryChainWrapper<>(thumbsUpRecordService.getBaseMapper())
.eq(ThumbsUpRecord::getRefId, record.getRefId())
- .eq(ThumbsUpRecord::getUserId, UserContext.getCurrentUserId())
+ .eq(ThumbsUpRecord::getUserId, record.getUserId())
.exists();
if (exists) {
return;
@@ -209,7 +219,7 @@
cache.incr(CachePrefix.VIDEO_COMMENT_LIKE_NUM.getPrefixWithId(record.getRefId()));
} else {
if (Objects.nonNull(comment)) {
- cache.put(CachePrefix.VIDEO_COMMENT_LIKE_NUM.getPrefixWithId(comment.getId()), comment.getThumbsUpNum() + 1, RedisKeyExpireConstant.COMMENT_NUM_EXPIRE, RedisKeyExpireConstant.EXPIRE_DAY);
+ cache.put(CachePrefix.VIDEO_COMMENT_LIKE_NUM.getPrefixWithId(comment.getId()), comment.getThumbsUpNum() + 1, RedisKeyExpireConstant.COMMENT_LIKE_NUM_EXPIRE, RedisKeyExpireConstant.EXPIRE_DAY);
}
}
// 鏍囪瘑璇ヨ瘎璁洪渶瑕侀�氳繃瀹氭椂浠诲姟缁熻鐐硅禐鏁�
@@ -223,27 +233,29 @@
@Override
public Result cancelThumbsUp(ThumbsUpRecordForm form) {
+ ThumbsUpRecord record = ThumbsUpRecordForm.getEntityByForm(form, null);
+ record.setUserId(UserContext.getCurrentUserId());
// 璧癿q寮傛澶勭悊
String destination = rocketmqCustomProperties.getCommentTopic() + ":" + CommentTagsEnum.CANCEL_THUMBS_UP.name();
- rocketMQTemplate.asyncSend(destination, JSON.toJSONString(form), RocketmqSendCallbackBuilder.commonCallback());
+ rocketMQTemplate.asyncSend(destination, JSON.toJSONString(record), RocketmqSendCallbackBuilder.commonCallback());
return Result.ok();
}
@Override
@Transactional(rollbackFor = Exception.class)
- public void mqCancelThumbsUp(ThumbsUpRecordForm form) {
+ public void mqCancelThumbsUp(ThumbsUpRecord record) {
new LambdaUpdateChainWrapper<>(thumbsUpRecordService.getBaseMapper())
- .eq(ThumbsUpRecord::getRefId, form.getRefId())
- .eq(ThumbsUpRecord::getThumbsUpType, form.getThumbsUpType())
- .eq(ThumbsUpRecord::getUserId, UserContext.getCurrentUserId())
+ .eq(ThumbsUpRecord::getRefId, record.getRefId())
+ .eq(ThumbsUpRecord::getThumbsUpType, record.getThumbsUpType())
+ .eq(ThumbsUpRecord::getUserId, record.getUserId())
.remove();
// redis鏁伴噺鍑忎竴
- VideoComment comment = this.getById(form.getRefId());
- if (cache.exist(CachePrefix.VIDEO_COMMENT_LIKE_NUM.getPrefixWithId(form.getRefId()))) {
- cache.decr(CachePrefix.VIDEO_COMMENT_LIKE_NUM.getPrefixWithId(form.getRefId()));
+ VideoComment comment = this.getById(record.getRefId());
+ if (cache.exist(CachePrefix.VIDEO_COMMENT_LIKE_NUM.getPrefixWithId(record.getRefId()))) {
+ cache.decr(CachePrefix.VIDEO_COMMENT_LIKE_NUM.getPrefixWithId(record.getRefId()));
} else {
if (Objects.nonNull(comment)) {
- cache.put(CachePrefix.VIDEO_COMMENT_LIKE_NUM.getPrefixWithId(comment.getId()), comment.getThumbsUpNum() - 1, RedisKeyExpireConstant.COMMENT_NUM_EXPIRE, RedisKeyExpireConstant.EXPIRE_DAY);
+ cache.put(CachePrefix.VIDEO_COMMENT_LIKE_NUM.getPrefixWithId(comment.getId()), comment.getThumbsUpNum() - 1, RedisKeyExpireConstant.COMMENT_LIKE_NUM_EXPIRE, RedisKeyExpireConstant.EXPIRE_DAY);
}
}
// 鏍囪瘑璇ヨ瘎璁洪渶瑕侀�氳繃瀹氭椂浠诲姟缁熻鐐硅禐鏁�
@@ -256,20 +268,20 @@
}
/**
- * 浠巖edis涓幏鍙栬瘎璁烘暟閲忥紝濡傛灉redis涓病鏈夊垯灏唌ysql涓殑鏁伴噺鍐欏叆鍒皉edis
+ * 浠巖edis涓幏鍙栬瘎璁虹偣璧炴暟閲忥紝濡傛灉redis涓病鏈夊垯灏唌ysql涓殑鏁伴噺鍐欏叆鍒皉edis
*
* @param commentId
* @param mysqlNum
* @return
*/
- private long getCommentThumbsUpNum(String commentId, long mysqlNum) {
+ private Integer getCommentThumbsUpNum(String commentId, Integer mysqlNum) {
Object redisNum = cache.get(CachePrefix.VIDEO_COMMENT_LIKE_NUM.getPrefixWithId(commentId));
if (Objects.isNull(redisNum)) {
// redis涓病鏈夊氨鎶婃暟鎹簱鐨勫啓鍒皉edis涓�
- cache.put(CachePrefix.VIDEO_COMMENT_LIKE_NUM.getPrefixWithId(commentId), mysqlNum, EXPIRE_TIME, TimeUnit.DAYS);
+ cache.put(CachePrefix.VIDEO_COMMENT_LIKE_NUM.getPrefixWithId(commentId), mysqlNum, RedisKeyExpireConstant.COMMENT_LIKE_NUM_EXPIRE, RedisKeyExpireConstant.EXPIRE_DAY);
return mysqlNum;
}
- return Long.valueOf((Integer) redisNum);
+ return (Integer) redisNum;
}
@Override
--
Gitblit v1.8.0