From 6392e2a39c07d13066a115e294a87a8cce1cb11e Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期二, 29 七月 2025 16:49:04 +0800
Subject: [PATCH] add:

---
 src/main/java/com/mzl/flower/service/film/impl/FilmWorksServiceImpl.java |   39 ++++++++++++++++++++++++---------------
 1 files changed, 24 insertions(+), 15 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 e6e0575..881e5eb 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
@@ -62,11 +62,16 @@
         if (!roleIds.contains("8f9ef89f6b2d4d8e9ea1fc8d2f25ce69")) {
             throw new ValidationException("非编辑角色不能新增");
         }
+        // 判断系统是否存在重复的名称+类型+年份,如果有就不保存
+        FilmWorks filmWorksByName = filmWorksMapper.getFilmWorksByName(filmWorksDTO.getNameCn(), filmWorksDTO.getType(), filmWorksDTO.getReleaseYear());
+        if (!ObjectUtils.isEmpty(filmWorksByName)) {
+            throw new ValidationException("系统已存在名称为【" + filmWorksDTO.getNameCn() + "】,类型为【" + filmWorksDTO.getType() + "】,年份为【" + filmWorksDTO.getReleaseYear() + "】的影视作品");
+        }
         //  转换
         FilmWorks filmWorks = new FilmWorks();
         BeanUtils.copyProperties(filmWorksDTO, filmWorks);
         filmWorks.create();
-        filmWorks.setStatus(Constants.COMMON_PUBLISH_STATUS.pending_review.name());
+        filmWorks.setStatus(Constants.COMMON_PUBLISH_STATUS.pending_create.name());
         filmWorksMapper.insert(filmWorks);
     }
 
@@ -138,21 +143,25 @@
             dto.setUserId(null);
         }
         List<FilmWorksVO> list =  filmWorksMapper.queryPage(dto,page);
-        // 测试前端展示用代码,部署发布不适用
-//        list.forEach(l->{
-//            if (l.getCoverUrl().contains("doubanio")) {
-//                String encodedUrl = null;
-//                try {
-//                    encodedUrl = URLEncoder.encode(l.getCoverUrl(), String.valueOf(StandardCharsets.UTF_8));
-//                } catch (UnsupportedEncodingException e) {
-//                    throw new RuntimeException(e);
-//                }
-//                l.setCoverUrl("https://images.weserv.nl/?url=" + encodedUrl);
-//            }
-//        });
         page.setRecords(list);
 
 
+        return page;
+    }
+
+    @Override
+    public Page<FilmWorksVO> getFilmWorksCollectList(FilmWorksQueryDTO dto, Page page) {
+        dto.setUserId(SecurityUtils.getUserId());
+        List<FilmWorksVO> list = filmWorksMapper.getFilmWorksCollectList(dto, page);
+        page.setRecords(list);
+        return page;
+    }
+
+    @Override
+    public Page<FilmWorksVO> getFilmWorksLikeList(FilmWorksQueryDTO dto, Page page) {
+        dto.setUserId(SecurityUtils.getUserId());
+        List<FilmWorksVO> list = filmWorksMapper.getFilmWorksLikeList(dto, page);
+        page.setRecords(list);
         return page;
     }
 
@@ -210,10 +219,10 @@
         if (filmWork == null) {
             throw new ValidationException("找不到id为" + id + "的作品");
         }
-        if (Constants.COMMON_PUBLISH_STATUS.pending_create.name().equals(filmWork.getStatus()) || Constants.COMMON_PUBLISH_STATUS.create_cancel.name().equals(filmWork.getStatus()) || Constants.COMMON_PUBLISH_STATUS.create_failed.name().equals(filmWork.getStatus())) {
+        if (Constants.COMMON_PUBLISH_STATUS.pending_create.name().equals(filmWork.getStatus()) || Constants.COMMON_PUBLISH_STATUS.create_cancel.name().equals(filmWork.getStatus()) || Constants.COMMON_PUBLISH_STATUS.rejected.name().equals(filmWork.getStatus()) || Constants.COMMON_PUBLISH_STATUS.create_failed.name().equals(filmWork.getStatus())) {
             if (Constants.COMMON_PUBLISH_STATUS.create_cancel.name().equals(filmWork.getStatus())) {
                 filmWork.setStatus(Constants.COMMON_PUBLISH_STATUS.pending_create.name());
-            } else if (Constants.COMMON_PUBLISH_STATUS.create_failed.name().equals(filmWork.getStatus())) {
+            } else if (Constants.COMMON_PUBLISH_STATUS.create_failed.name().equals(filmWork.getStatus()) || Constants.COMMON_PUBLISH_STATUS.rejected.name().equals(filmWork.getStatus()) ) {
                 filmWork.setStatus(Constants.COMMON_PUBLISH_STATUS.pending_create.name());
             } else {
                 filmWork.setStatus(Constants.COMMON_PUBLISH_STATUS.create_cancel.name());

--
Gitblit v1.9.3