From e26d98c47301e937a2812b607e26e5801dce83fe Mon Sep 17 00:00:00 2001 From: cloudroam <cloudroam> Date: 星期一, 26 五月 2025 09:54:09 +0800 Subject: [PATCH] add:影视作品信息管理 --- src/main/java/com/mzl/flower/service/film/impl/FilmWorksServiceImpl.java | 71 ++++++++++++++++++++++++++++++++++- 1 files changed, 68 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 10d204b..7548242 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 @@ -1,18 +1,29 @@ package com.mzl.flower.service.film.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.mzl.flower.config.exception.ValidationException; +import com.mzl.flower.constant.Constants; +import com.mzl.flower.dto.BatchDTO; import com.mzl.flower.dto.request.filmwork.FilmWorksDTO; import com.mzl.flower.dto.request.filmwork.FilmWorksQueryDTO; +import com.mzl.flower.dto.response.content.BannerDTO; +import com.mzl.flower.dto.response.content.FilmsetDTO; import com.mzl.flower.dto.response.filmwork.FilmWorksVO; +import com.mzl.flower.entity.content.Banner; +import com.mzl.flower.entity.content.Filmset; import com.mzl.flower.entity.film.FilmWorks; import com.mzl.flower.mapper.filmwork.FilmWorksMapper; import com.mzl.flower.service.film.FilmWorksService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.mzl.flower.utils.DateUtils; import lombok.RequiredArgsConstructor; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.time.LocalDate; import java.util.List; /** @@ -36,6 +47,7 @@ FilmWorks filmWorks = new FilmWorks(); BeanUtils.copyProperties(filmWorksDTO, filmWorks); filmWorks.create(); + filmWorks.setStatus(Constants.COMMON_PUBLISH_STATUS.unpublished.name()); filmWorksMapper.insert(filmWorks); } @@ -46,16 +58,69 @@ @Override public void deleteFilmWorks(String id) { - + FilmWorks filmWork = filmWorksMapper.selectById(id); + if(filmWork==null){ + throw new ValidationException("找不到id为"+id+"的影视作品"); + } + filmWorksMapper.deleteById(id); } @Override - public Page<FilmWorksVO> queryPage(FilmWorksQueryDTO filmWorksQueryDTO, Page page) { - return null; + public Page<FilmWorksVO> queryPage(FilmWorksQueryDTO dto, Page page) { + if(StringUtils.isNotBlank(dto.getCreateDateBeginStr())){ + dto.setCreateDateBegin(DateUtils.dateToLocalDateTime(dto.getCreateDateBeginStr(),true)); + } + if(StringUtils.isNotBlank(dto.getCreateDateEndStr())){ + dto.setCreateDateEnd(DateUtils.dateToLocalDateTime(dto.getCreateDateEndStr(),false)); + } + List<FilmWorksVO> list = filmWorksMapper.queryPage(dto,page); + page.setRecords(list); + return page; } @Override public List<FilmWorksVO> getFilmWorksAll() { return filmWorksMapper.getFilmWorksAll(); } + + @Override + public void changeStatus(Long id) { + FilmWorks filmWork = filmWorksMapper.selectById(id); + if (filmWork == null) { + throw new ValidationException("找不到id为" + id + "的公告"); + } + if (Constants.COMMON_PUBLISH_STATUS.published.name().equals(filmWork.getStatus())) { + filmWork.setStatus(Constants.COMMON_PUBLISH_STATUS.unpublished.name()); + } else { + filmWork.setStatus(Constants.COMMON_PUBLISH_STATUS.published.name()); + filmWork.setPublishDate(LocalDate.now()); + } + filmWorksMapper.updateById(filmWork); + } + + @Override + public void batchDelete(BatchDTO dto) { + filmWorksMapper.deleteBatchIds(dto.getIds()); + } + + @Override + public void batchPublish(BatchDTO dto) { + List<FilmWorks> list = filmWorksMapper.selectList(new LambdaQueryWrapper<FilmWorks>().in(FilmWorks::getId, dto.getIds())); + for (FilmWorks filmWork : list) { + filmWork.setStatus(Constants.COMMON_PUBLISH_STATUS.published.name()); + filmWork.setPublishDate(LocalDate.now()); + filmWorksMapper.updateById(filmWork); + } + } + + @Override + public FilmWorksVO detail(Long id) { + FilmWorks filmWork = filmWorksMapper.selectById(id); + if(filmWork==null){ + return null; + } + FilmWorksVO filmWorksVO = new FilmWorksVO(); + BeanUtils.copyProperties(filmWork,filmWorksVO); + return filmWorksVO; + } } -- Gitblit v1.9.3