cloudroam
16 小时以前 e7e0a1b534c9ac0ab76102a0ffc0939ba1d447ee
src/main/java/com/mzl/flower/service/film/impl/FilmLocationServiceImpl.java
@@ -66,6 +66,13 @@
        BeanUtils.copyProperties(filmLocationDTO, filmLocation);
        filmLocation.create();
        filmLocationMapper.insert(filmLocation);
        //此处传入参数是否有影视作品ID,如果不等于空,则需要保存关联关系
        if (!StringUtils.isEmpty(filmLocationDTO.getFilmId())) {
            FilmLocationWork filmLocationWork = new FilmLocationWork();
            filmLocationWork.setFilmId(filmLocationDTO.getFilmId());
            filmLocationWork.setLocationId(filmLocation.getId());
            filmLocationWorkMapper.insert(filmLocationWork);
        }
    }
    @Override
@@ -103,10 +110,10 @@
    @Override
    public Page<FilmLocationVO> queryPage(FilmLocationQueryDTO dto, Page page) {
        List<FilmLocationVO> list = filmLocationMapper.queryPage(dto, page);
        page.setRecords(list);
        return page;
    }
    @Override
@@ -238,6 +245,52 @@
        }
    }
    @Override
    public List<FilmWorksVO> city(String name) {
        if(!StringUtils.isEmpty(name)){
            List<FilmLocationVO> filmLocationVOS = filmLocationMapper.getFilmLocationByCity(name);
            List<Long> ids = new ArrayList<>();
            if(!CollectionUtils.isEmpty(filmLocationVOS)){
                filmLocationVOS.forEach(f->ids.add(f.getId()));
            }
            Set<Long> filmIds = filmLocationWorkMapper.findFilmIdsWithWorks(ids);
            if (!filmIds.isEmpty()) {
                List<FilmWorksVO> filmWorksVOS = filmWorksMapper.getFilmWorksByIds(new ArrayList<>(filmIds));
                return filmWorksVOS;
            } else {
                return null;
            }
        }else{
            return null;
        }
    }
    @Override
    public List<FilmLocationVO> location(String name) {
        if (!StringUtils.isEmpty(name)) {
            List<FilmLocationVO> filmLocationVOS = filmLocationMapper.getFilmLocationByCity(name);
            List<Long> ids = new ArrayList<>();
            if (!CollectionUtils.isEmpty(filmLocationVOS)) {
                filmLocationVOS.forEach(f -> ids.add(f.getId()));
            }
            List<FilmLocationVO> filmIds = filmLocationMapper.findLocationIdByids(ids);
            return filmIds;
        } else {
            return null;
        }
    }
    @Override
    public List<FilmLocationVO> getFilmLocationListTop3() {
        return filmLocationMapper.getFilmLocationListTop3();
    }
    @Override
    public List<FilmLocationVO> getFilmLocationLifo(FilmLocationQueryDTO dto) {
        return filmLocationMapper.getFilmLocationLifo(dto.getContinent());
    }
    private void updateLocationRelations(Long targetId, List<Long> mergeIds) {
        // 查询所有待更新的工作记录
        LambdaQueryWrapper<FilmLocationWork> query = new LambdaQueryWrapper<>();