From b06162b2966eea4f092b3edf3032de843059af4b Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期四, 12 六月 2025 18:16:10 +0800
Subject: [PATCH] add: 评论开发

---
 src/main/java/com/mzl/flower/service/film/impl/FilmWorksServiceImpl.java |   34 ++++++++++++++++++++++++++++++++++
 1 files changed, 34 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..7c7b4e4 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
@@ -122,6 +122,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