From 7433322e94209c63bd6257dd4bf3b24be0452325 Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期四, 21 八月 2025 18:12:04 +0800 Subject: [PATCH] 奖品,抽奖活动bug改动,商家入驻密码重置111111 --- framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoCommentServiceImpl.java | 50 ++++++++++++++++++++++++++++++-------------------- 1 files changed, 30 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..bdff64b 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()); + } /** * 娣诲姞 @@ -92,7 +98,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 +206,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 +217,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 +231,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 +266,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