From 790d073559bfc15e9d1130fb9d51e9d673985cc7 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期五, 13 六月 2025 13:45:47 +0800
Subject: [PATCH] add: 评论开发

---
 src/main/java/com/mzl/flower/service/film/impl/FilmWorksServiceImpl.java |   38 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/mzl/flower/service/film/impl/FilmWorksServiceImpl.java b/src/main/java/com/mzl/flower/service/film/impl/FilmWorksServiceImpl.java
index 030f7e2..6abea29 100644
--- a/src/main/java/com/mzl/flower/service/film/impl/FilmWorksServiceImpl.java
+++ b/src/main/java/com/mzl/flower/service/film/impl/FilmWorksServiceImpl.java
@@ -87,6 +87,10 @@
         if(StringUtils.isNotBlank(dto.getCreateDateEndStr())){
             dto.setCreateDateEnd(DateUtils.dateToLocalDateTime(dto.getCreateDateEndStr(),false));
         }
+        if (!StringUtils.isEmpty(dto.getCategory()) && Constants.FILM_CATEGORY.all.getDesc().equals(dto.getCategory())) {
+            //当时全部的时时候值设置为空,表示查询全部
+            dto.setCategory(null);
+        }
 
         //todo 这里的用户ID可能为空,用户存在不登录的情况下访问,传null
         try {
@@ -122,6 +126,40 @@
         filmWorksMapper.updateById(filmWork);
     }
 
+
+    @Override
+    public void changeTopState(Long id) {
+        FilmWorks filmWork = filmWorksMapper.selectById(id);
+        if (filmWork == null) {
+            throw new ValidationException("找不到id为" + id + "的公告");
+        }
+        if (Constants.COMMON_PUBLISH_STATUS.unpublished.name().equals(filmWork.getStatus())) {
+            throw new ValidationException("未发布作品不能置顶,请先发布");
+        }
+
+        FilmWorks filmWorkTop = filmWorksMapper.getTopStickyWeight();
+        if (!ObjectUtils.isEmpty(filmWorkTop)) {
+            filmWork.setStickyWeight(filmWorkTop.getStickyWeight() + 100);
+        } else {
+            filmWork.setStickyWeight(100);
+        }
+        filmWorksMapper.updateById(filmWork);
+    }
+
+
+    @Override
+    public void changeDownState(Long id) {
+        FilmWorks filmWork = filmWorksMapper.selectById(id);
+        if (filmWork == null) {
+            throw new ValidationException("找不到id为" + id + "的公告");
+        }
+        if (Constants.COMMON_PUBLISH_STATUS.unpublished.name().equals(filmWork.getStatus())) {
+            throw new ValidationException("未发布作品无需清除权重");
+        }
+        filmWork.setStickyWeight(0);
+        filmWorksMapper.updateById(filmWork);
+    }
+
     @Override
     public void batchDelete(BatchDTO dto) {
         filmWorksMapper.deleteBatchIds(dto.getIds());

--
Gitblit v1.9.3