cloudroam
12 小时以前 e7e0a1b534c9ac0ab76102a0ffc0939ba1d447ee
add:热门城市
已修改8个文件
96 ■■■■■ 文件已修改
src/main/java/com/mzl/flower/dto/request/film/FilmLocationQueryDTO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mzl/flower/dto/response/film/FilmLocationVO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mzl/flower/entity/film/FilmLocation.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mzl/flower/mapper/film/FilmLocationMapper.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mzl/flower/service/film/FilmLocationService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mzl/flower/service/film/impl/FilmLocationServiceImpl.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mzl/flower/web/film/FilmLocationController.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/film/FilmLocationMapper.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mzl/flower/dto/request/film/FilmLocationQueryDTO.java
@@ -20,4 +20,6 @@
    @ApiModelProperty("启用/禁用(USER_ENABLED_OR_DISABLED)")
    private Integer isEnabled;
    private String continent;
}
src/main/java/com/mzl/flower/dto/response/film/FilmLocationVO.java
@@ -144,5 +144,7 @@
    private Integer operationWeight;
    private String continent;
    private String pinyin;
    private String country;
}
src/main/java/com/mzl/flower/entity/film/FilmLocation.java
@@ -152,4 +152,7 @@
    private String continent;
    private String pinyin;
    private String country;
}
src/main/java/com/mzl/flower/mapper/film/FilmLocationMapper.java
@@ -13,6 +13,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
 * <p>
@@ -46,4 +47,22 @@
    @Select("select * from film_location where  is_enabled = '1' and deleted = '0' order by location_weight desc  limit 3")
    List<FilmLocationVO> getFilmLocationListTop3();
    @Select("select id,city,pinyin,country,continent from film_location WHERE continent = #{continent} and deleted = '0' and city is not NULL GROUP BY city,pinyin")
    List<FilmLocationVO> getFilmLocationLifo(String continent);
    @Select("select * from film_location WHERE city = #{city} and deleted = '0'")
    List<FilmLocationVO> getFilmLocationByCity(String city);
    @Select("<script>" +
            "SELECT *  FROM film_location " +
            "WHERE id IN " +
            "<foreach item='id' collection='list' open='(' separator=',' close=')'>" +
            "#{id}" +
            "</foreach>" +
            "</script>")
    List<FilmLocationVO> findLocationIdByids(@Param("list") List<Long> ids);
}
src/main/java/com/mzl/flower/service/film/FilmLocationService.java
@@ -42,4 +42,10 @@
    List<FilmWorksVO> related(Long locationId);
    List<FilmLocationVO> getFilmLocationListTop3();
    List<FilmLocationVO> getFilmLocationLifo(FilmLocationQueryDTO dto);
    List<FilmWorksVO> city(String name);
    List<FilmLocationVO> location(String name);
}
src/main/java/com/mzl/flower/service/film/impl/FilmLocationServiceImpl.java
@@ -245,11 +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<>();
src/main/java/com/mzl/flower/web/film/FilmLocationController.java
@@ -42,6 +42,13 @@
        return returnData(R.SUCCESS.getCode(), filmLocationService.queryPage(dto, page));
    }
    @GetMapping("/filmLocation/info")
    @ApiOperation(value = "城市列表", httpMethod = "GET")
    public ResponseEntity<ReturnDataDTO<List<FilmLocationVO>>> getFilmLocationLifo(FilmLocationQueryDTO dto) {
        return returnData(R.SUCCESS.getCode(), filmLocationService.getFilmLocationLifo(dto));
    }
    @GetMapping("/filmLocation/getTop3")
    @ApiOperation(value = "影视拍摄场地前三", httpMethod = "GET")
    public ResponseEntity<ReturnDataDTO<List<FilmLocationVO>>> getFilmLocationListTop3() {
@@ -110,4 +117,17 @@
        return returnData(R.SUCCESS.getCode(), filmLocationService.related(locationId));
    }
    @GetMapping("/filmLocation/city")
    @ApiOperation(value = "城市对应的影视作品", notes = "城市对应的影视作品")
    public ResponseEntity<ReturnDataDTO<List<FilmWorksVO>>> city(@NotNull(message = "name不能为空") String name) {
        return returnData(R.SUCCESS.getCode(), filmLocationService.city(name));
    }
    @GetMapping("/filmLocation/location")
    @ApiOperation(value = "城市对应的影视作品", notes = "城市对应的影视作品")
    public ResponseEntity<ReturnDataDTO<List<FilmLocationVO>>> location(@NotNull(message = "name不能为空") String name) {
        return returnData(R.SUCCESS.getCode(), filmLocationService.location(name));
    }
}
src/main/resources/mapper/film/FilmLocationMapper.xml
@@ -21,6 +21,9 @@
        <if test="dto.region != null and dto.region != ''">
            AND t.region LIKE concat('%', #{dto.region},'%')
        </if>
        <if test="dto.continent != null and dto.continent != ''">
            AND t.continent LIKE concat('%', #{dto.continent},'%')
        </if>
        <if test="dto.isEnabled!=null">
            AND t.is_enabled = #{dto.isEnabled}
        </if>