From 8b02c916fec8819f4f1b27b21a26cca6c41b5f5d Mon Sep 17 00:00:00 2001 From: cloudroam <cloudroam> Date: 星期一, 14 七月 2025 09:54:05 +0800 Subject: [PATCH] add:定时任务配置,热门城市 --- src/main/java/com/mzl/flower/service/film/impl/FilmHotCityServiceImpl.java | 132 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 132 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/mzl/flower/service/film/impl/FilmHotCityServiceImpl.java b/src/main/java/com/mzl/flower/service/film/impl/FilmHotCityServiceImpl.java new file mode 100644 index 0000000..da0f4ec --- /dev/null +++ b/src/main/java/com/mzl/flower/service/film/impl/FilmHotCityServiceImpl.java @@ -0,0 +1,132 @@ +package com.mzl.flower.service.film.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.mzl.flower.config.exception.ValidationException; +import com.mzl.flower.config.security.SecurityUtils; +import com.mzl.flower.dto.BatchDTO; +import com.mzl.flower.dto.request.film.FilmHotCityDTO; +import com.mzl.flower.dto.request.film.FilmHotCityQueryDTO; +import com.mzl.flower.dto.response.film.FilmHotCityVO; +import com.mzl.flower.entity.film.FilmHotCity; +import com.mzl.flower.mapper.film.FilmHotCityMapper; +import com.mzl.flower.mapper.film.FilmWorksMapper; +import com.mzl.flower.service.film.FilmHotCityService; +import com.mzl.flower.service.system.RoleService; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; +import org.springframework.util.ObjectUtils; +import org.springframework.util.StringUtils; + +import java.util.*; + +/** + * <p> + * FilmHotCity热门城市表 服务实现类 + * </p> + * + * @author generator@Fang + * @since 2025-05-20 + */ +@Service +@Transactional +@RequiredArgsConstructor +public class FilmHotCityServiceImpl extends ServiceImpl<FilmHotCityMapper, FilmHotCity> implements FilmHotCityService { + + private final FilmHotCityMapper filmHotCityMapper; + private final RoleService roleService; + private final FilmWorksMapper filmWorksMapper; + + @Override + public void saveFilmHotCity(FilmHotCityDTO filmHotCityDTO) { + // 转换 + //增加保存时判断是否有城市名称 + if (StringUtils.isEmpty(filmHotCityDTO.getName())) { + throw new ValidationException("城市名称不能为空"); + } + FilmHotCity filmHotCity1 = filmHotCityMapper.selectByName(filmHotCityDTO.getName()); + if (!ObjectUtils.isEmpty(filmHotCity1)) { + throw new ValidationException("城市名称重复"); + } + FilmHotCity filmHotCity = new FilmHotCity(); + BeanUtils.copyProperties(filmHotCityDTO, filmHotCity); + filmHotCity.setIsEnabled(false); + filmHotCity.create(); + filmHotCityMapper.insert(filmHotCity); + } + + @Override + public void updateFilmHotCity(FilmHotCityDTO filmHotCityDTO) { + if (StringUtils.isEmpty(filmHotCityDTO.getName())) { + throw new ValidationException("城市名称不能为空"); + } + + //增加修改时保存得城市名称是否有重复,排除当前这条 + FilmHotCity filmHotCity1 = filmHotCityMapper.selectByName(filmHotCityDTO.getName()); + + FilmHotCity filmHotCity = filmHotCityMapper.selectById(filmHotCityDTO.getId()); + if (!filmHotCity1.getId().equals(filmHotCity.getId())) { + throw new ValidationException("城市名称重复"); + } + BeanUtils.copyProperties(filmHotCityDTO, filmHotCity, "isEnabled"); + filmHotCity.update(SecurityUtils.getUserId()); + filmHotCityMapper.updateById(filmHotCity); + } + + @Override + public void deleteFilmHotCity(String id) { + FilmHotCity filmHotCity = filmHotCityMapper.selectById(id); + if (filmHotCity == null) { + throw new ValidationException("找不到id为" + id + "的城市"); + } + filmHotCityMapper.deleteById(id); + } + + @Override + public Page<FilmHotCityVO> queryPage(FilmHotCityQueryDTO dto, Page page) { + + List<FilmHotCityVO> list = filmHotCityMapper.queryPage(dto, page); + page.setRecords(list); + return page; + } + + @Override + public FilmHotCityVO detail(Long id) { + FilmHotCityVO filmHotCityVO = filmHotCityMapper.selectByIdInfo(id); + if (filmHotCityVO == null) { + return null; + } + return filmHotCityVO; + } + + + @Override + public void isEnable(Long id) { + FilmHotCity filmHotCity = filmHotCityMapper.selectById(id); + if (filmHotCity == null) { + throw new ValidationException("找不到id为" + id + "的城市"); + } + if (filmHotCity.getIsEnabled()) { + filmHotCity.setIsEnabled(false); + } else { + filmHotCity.setIsEnabled(true); + } + filmHotCity.update(SecurityUtils.getUserId()); + filmHotCityMapper.updateById(filmHotCity); + } + + + @Override + @Transactional + public void batchDelete(BatchDTO dto) { + if (CollectionUtils.isEmpty(dto.getIds())) { + throw new ValidationException("删除ID列表不能为空"); + } + filmHotCityMapper.deleteBatchIds(dto.getIds()); + } + + +} -- Gitblit v1.9.3