From e7e0a1b534c9ac0ab76102a0ffc0939ba1d447ee Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期四, 07 八月 2025 13:39:22 +0800
Subject: [PATCH] add:热门城市
---
src/main/java/com/mzl/flower/service/film/impl/FilmLikesServiceImpl.java | 27 ++++++++++++++++++++-------
1 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/mzl/flower/service/film/impl/FilmLikesServiceImpl.java b/src/main/java/com/mzl/flower/service/film/impl/FilmLikesServiceImpl.java
index 6a511bb..c7d9eba 100644
--- a/src/main/java/com/mzl/flower/service/film/impl/FilmLikesServiceImpl.java
+++ b/src/main/java/com/mzl/flower/service/film/impl/FilmLikesServiceImpl.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mzl.flower.config.exception.ValidationException;
+import com.mzl.flower.config.security.SecurityUtils;
import com.mzl.flower.dto.request.film.FilmLikesDTO;
import com.mzl.flower.dto.request.film.FilmLikesQueryDTO;
import com.mzl.flower.dto.response.film.FilmLikesVO;
@@ -40,21 +41,33 @@
@Override
public Boolean updateFilmLikes(FilmLikesDTO filmLikesDTO) {
- LocalDateTime now = LocalDateTime.now();
+
// 没有,新增
- FilmLikes filmLikes = null;
- if (filmLikesDTO == null) {
+ FilmLikes filmLikes = filmLikesMapper.getFilmLikesByfilmIdAndCreateBy(filmLikesDTO.getFilmId(), SecurityUtils.getUserId());
+ if (filmLikes == null) {
filmLikes = new FilmLikes();
filmLikes.setFilmId(filmLikesDTO.getFilmId());
filmLikes.setStatus(true);
+ filmLikes.setCreateBy(SecurityUtils.getUserId());
if (filmLikesMapper.insert(filmLikes) <= 0) {
- throw new ValidationException("添加评论点赞失败");
+ throw new ValidationException("添加作品点赞失败");
}
} else {
// 状态取反
- filmLikesDTO.setStatus(!filmLikesDTO.getStatus());
- if (filmLikesMapper.updateById(filmLikes) <= 0) {
- throw new ValidationException("更新评论点赞状态失败");
+ filmLikes.setStatus(!filmLikes.getStatus());
+ filmLikes.update(SecurityUtils.getUserId());
+
+ // 校验主键是否存在
+ if (filmLikes.getId() == null) {
+ throw new ValidationException("主键 ID 不能为空");
+ }
+ int affectedRows = filmLikesMapper.updateStatusById(
+ filmLikes.getId(), // 确保 id 是 Long 类型
+ filmLikes.getStatus(),
+ SecurityUtils.getUserId() // 更新人
+ );
+ if (affectedRows <= 0) {
+ throw new ValidationException("更新作品点赞状态失败");
}
}
return true;
--
Gitblit v1.9.3