package com.mzl.flower.web.film; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.mzl.flower.base.BaseController; import com.mzl.flower.base.R; import com.mzl.flower.base.ReturnDataDTO; import com.mzl.flower.dto.BatchDTO; import com.mzl.flower.dto.request.film.FilmLocationDTO; import com.mzl.flower.dto.request.film.FilmLocationQueryDTO; import com.mzl.flower.dto.response.film.FilmLocationVO; import com.mzl.flower.dto.response.film.FilmWorksVO; import com.mzl.flower.service.film.FilmLocationService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.validation.constraints.NotNull; import java.util.List; /** * 影视拍摄场地信息表前端控制器 * * @author generator@Fang * @since 2025-05-20 */ @Api(value = "影视拍摄场地信息管理", tags = "影视拍摄场地信息管理") @RestController @RequestMapping("/api") @RequiredArgsConstructor public class FilmLocationController extends BaseController { private final FilmLocationService filmLocationService; @GetMapping("/filmLocation/list") @ApiOperation(value = "影视拍摄场地列表", httpMethod = "GET") public ResponseEntity>> getFilmLocationList(Page page, FilmLocationQueryDTO dto) { return returnData(R.SUCCESS.getCode(), filmLocationService.queryPage(dto, page)); } @GetMapping("/filmLocation/getTop3") @ApiOperation(value = "影视拍摄场地前三", httpMethod = "GET") public ResponseEntity>> getFilmLocationListTop3() { return returnData(R.SUCCESS.getCode(), filmLocationService.getFilmLocationListTop3()); } @GetMapping(value = "/filmLocation/delete") @ApiOperation(value = "删除影视拍摄场地 ", httpMethod = "GET", notes = "ID") public ResponseEntity delete(@NotNull(message = "id不能为空") Long id) { filmLocationService.deleteFilmLocation(String.valueOf(id)); return returnData(R.SUCCESS.getCode(), null); } @PostMapping(value = "/filmLocation/new") @ApiOperation(value = "保存影视拍摄场地", httpMethod = "POST") public ResponseEntity insert(@RequestBody FilmLocationDTO filmLocationDTO) { filmLocationService.saveFilmLocation(filmLocationDTO); return returnData(R.SUCCESS.getCode(), null); } @PostMapping(value = "/filmLocation/edit") @ApiOperation(value = "更新影视拍摄场地", httpMethod = "POST") public ResponseEntity update(@RequestBody FilmLocationDTO filmLocationDTO) { filmLocationService.updateFilmLocation(filmLocationDTO); return returnData(R.SUCCESS.getCode(), null); } @GetMapping("/filmLocation/list/view") @ApiOperation(value = "详情", notes = "详情") public ResponseEntity> detail(@NotNull(message = "id不能为空") Long id) { return returnData(R.SUCCESS.getCode(),filmLocationService.detail(id)); } @GetMapping("/filmLocation/setDown") @ApiOperation(value = "清除权重", notes = "清除权重") public ResponseEntity setDown(@NotNull(message = "id不能为空") Long id) { filmLocationService.changeDownState(id); return returnData(R.SUCCESS.getCode(), null); } @GetMapping("/filmLocation/isEnable") @ApiOperation(value = "启用/禁用", notes = "启用/禁用景点") public ResponseEntity> isEnable(@NotNull(message = "id不能为空") Long id) { filmLocationService.isEnable(id); return returnData(R.SUCCESS.getCode(),null); } @PostMapping("/filmLocation/merge/batch") @ApiOperation(value = "批量发布", notes = "批量发布") public ResponseEntity batchMerge(@Validated @RequestBody BatchDTO dto) { filmLocationService.batchMerge(dto); return returnData(R.SUCCESS.getCode(), null); } @PostMapping("/filmLocation/delete/batch") @ApiOperation(value = "批量删除", notes = "批量删除") public ResponseEntity batchDelete(@Validated @RequestBody BatchDTO dto) { filmLocationService.batchDelete(dto); return returnData(R.SUCCESS.getCode(),null); } @GetMapping("/filmLocation/related") @ApiOperation(value = "景点对应的影视作品", notes = "景点对应的影视作品") public ResponseEntity>> related(@NotNull(message = "id不能为空") Long locationId) { return returnData(R.SUCCESS.getCode(), filmLocationService.related(locationId)); } }