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 | 64 ++++++++++++++++++++++++++++++- 1 files changed, 61 insertions(+), 3 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..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 @@ -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; @@ -59,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); } @@ -142,6 +150,22 @@ } @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; + } + + @Override public List<FilmWorksVO> getFilmWorksAll() { return filmWorksMapper.getFilmWorksAll(); } @@ -176,6 +200,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.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()) || 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()); + filmWork.setPublishDate(LocalDate.now()); + } + filmWorksMapper.updateById(filmWork); + }else{ + throw new ValidationException("当前状态,不能操作"); } } @@ -266,8 +321,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