From b01f752252eaadd1fa31eda6a9ad43146660b721 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 03 四月 2025 23:42:57 +0800 Subject: [PATCH] bug修改 --- xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/service/impl/MeditationQuestionServiceImpl.java | 45 ++++++++++++++++++++++++++++++++++++--------- 1 files changed, 36 insertions(+), 9 deletions(-) diff --git a/xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/service/impl/MeditationQuestionServiceImpl.java b/xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/service/impl/MeditationQuestionServiceImpl.java index 4007bbc..b01e626 100644 --- a/xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/service/impl/MeditationQuestionServiceImpl.java +++ b/xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/service/impl/MeditationQuestionServiceImpl.java @@ -1,17 +1,23 @@ package com.xinquan.meditation.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.xinquan.common.core.enums.ReportStatusEnum; import com.xinquan.common.core.exception.ServiceException; -import com.xinquan.common.security.utils.SecurityUtils; -import com.xinquan.meditation.domain.MeditationQuestion; +import com.xinquan.common.security.service.TokenService; +import com.xinquan.meditation.mapper.MeditationReportMapper; +import com.xinquan.meditation.api.domain.MeditationQuestion; import com.xinquan.meditation.domain.MeditationQuestionLike; import com.xinquan.meditation.mapper.MeditationQuestionMapper; import com.xinquan.meditation.service.MeditationQuestionLikeService; import com.xinquan.meditation.service.MeditationQuestionService; + +import java.time.LocalDateTime; import java.util.Objects; import java.util.Optional; + +import com.xinquan.system.api.domain.MeditationReport; +import com.xinquan.system.api.model.LoginUser; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** @@ -26,8 +32,13 @@ @RequiredArgsConstructor public class MeditationQuestionServiceImpl extends ServiceImpl<MeditationQuestionMapper, MeditationQuestion> implements MeditationQuestionService { - private final MeditationQuestionLikeService meditationQuestionLikeService; + @Autowired + private MeditationQuestionLikeService meditationQuestionLikeService; + @Autowired + private MeditationReportMapper meditationReportMapper; + @Autowired + private TokenService tokenService; /** * 举报提问 * @@ -36,12 +47,22 @@ */ @Override public void report(Long id, String content) { + LoginUser loginUser = tokenService.getLoginUser(); + if (loginUser==null){ + return; + } + Long userId = loginUser.getUserid(); MeditationQuestion meditationQuestion = this.getById(id); if (Optional.ofNullable(meditationQuestion).isPresent()) { - meditationQuestion.setReportStatus(ReportStatusEnum.REPORTED.getCode()); - meditationQuestion.setReportUserId(SecurityUtils.getUserId()); - meditationQuestion.setReportContent(content); + meditationQuestion.setReportStatus(2); this.updateById(meditationQuestion); + MeditationReport meditationReport = new MeditationReport(); + meditationReport.setMeditationId(meditationQuestion.getMeditationId()); + meditationReport.setQuestionId(meditationQuestion.getId()); + meditationReport.setReportContent(content); + meditationReport.setReportUserId(userId); + meditationReport.setCreateTime(LocalDateTime.now()); + meditationReportMapper.insert(meditationReport); } } @@ -52,6 +73,12 @@ */ @Override public void likeQuestion(Long id) { + LoginUser loginUser = tokenService.getLoginUser(); + if (loginUser==null){ + return ; + } + Long userId = loginUser.getUserid(); + MeditationQuestion meditationQuestion = this.getById(id); if (Objects.isNull(meditationQuestion)) { throw new ServiceException("提问不存在"); @@ -59,7 +86,7 @@ // 判断是否已点赞 Optional<MeditationQuestionLike> likeOpt = meditationQuestionLikeService.lambdaQuery() .eq(MeditationQuestionLike::getMeditationQuestionId, id) - .eq(MeditationQuestionLike::getAppUserId, SecurityUtils.getUserId()).last("limit 1") + .eq(MeditationQuestionLike::getAppUserId, userId).last("limit 1") .oneOpt(); if (likeOpt.isPresent()) { // 已点赞则取消点赞 @@ -68,7 +95,7 @@ } else { // 未点赞则点赞 MeditationQuestionLike meditationQuestionLike = new MeditationQuestionLike(); - meditationQuestionLike.setAppUserId(SecurityUtils.getUserId()); + meditationQuestionLike.setAppUserId(userId); meditationQuestionLike.setMeditationQuestionId(id); if (meditationQuestionLikeService.save(meditationQuestionLike)) { meditationQuestion.setLikeCount(meditationQuestion.getLikeCount() + 1); -- Gitblit v1.7.1