From 2e0e1c5cde0585669334ebc64ff50eae68770726 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期四, 26 六月 2025 14:58:11 +0800
Subject: [PATCH] add:影视景点

---
 src/main/java/com/mzl/flower/service/film/impl/FilmWorksServiceImpl.java |   53 +++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 51 insertions(+), 2 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 397ee89..e6e0575 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
@@ -27,6 +27,9 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
 
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
 import java.time.LocalDate;
 import java.util.ArrayList;
 import java.util.List;
@@ -135,6 +138,18 @@
             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);
 
 
@@ -176,6 +191,37 @@
             filmWorksMapper.updateById(filmWork);
         }else{
             throw new ValidationException("非审核通过或者发布状态,不能操作");
+        }
+    }
+
+
+    @Override
+    public void changeCreateStatus(Long id) {
+        //获取当前人员角色,判断是不是审核角色
+        List<String> roleIds = new ArrayList<>();
+        List<Role> roleList = roleService.getUserRoleList(SecurityUtils.getUserId());
+        for (Role role : roleList) {
+            roleIds.add(role.getId());
+        }
+        if (!roleIds.contains("8f9ef89f6b2d4d8e9ea1fc8d2f25ce69")) {
+            throw new ValidationException("非编辑角色不能操作");
+        }
+        FilmWorks filmWork = filmWorksMapper.selectById(id);
+        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.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())) {
+                filmWork.setStatus(Constants.COMMON_PUBLISH_STATUS.pending_create.name());
+            } else {
+                filmWork.setStatus(Constants.COMMON_PUBLISH_STATUS.create_cancel.name());
+                filmWork.setPublishDate(LocalDate.now());
+            }
+            filmWorksMapper.updateById(filmWork);
+        }else{
+            throw new ValidationException("当前状态,不能操作");
         }
     }
 
@@ -266,8 +312,11 @@
             return null;
         }
         CustomerDTO currentCustomer = customerMapper.getCurrentCustomer(filmWorksVO.getCreateBy());
-        filmWorksVO.setNickname(currentCustomer.getNickName());
-        filmWorksVO.setAvatar(currentCustomer.getCover());
+        if(!ObjectUtils.isEmpty(currentCustomer)){
+            filmWorksVO.setNickname(currentCustomer.getNickName());
+            filmWorksVO.setAvatar(currentCustomer.getCover());
+        }
+
         return filmWorksVO;
     }
 

--
Gitblit v1.9.3