package com.nova.sankuai.controller.v1; import com.baomidou.mybatisplus.core.metadata.IPage; import com.nova.sankuai.domain.api.aliyunIP.AliyunUtil; import com.nova.sankuai.domain.entity.HotCity; import com.nova.sankuai.domain.vo.common.CityVo; import com.nova.sankuai.infra.utils.PageRequest; import com.nova.sankuai.infra.utils.ResultJson; import com.nova.sankuai.service.ICityService; import com.nova.sankuai.service.IHotCityService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.List; /** * @author weikangdi */ @Api(tags = "城市管理") @RestController @RequestMapping(value = "/api/v1/city") @AllArgsConstructor public class CityController { private final ICityService cityService; private final IHotCityService hotCityService; @GetMapping(value = "/getCityList") @ApiOperation(value = "获取城市列表") public ResultJson> calculateMechanism() { List cityList = cityService.getCityList(); return ResultJson.ok(cityList); } @GetMapping(value = "/getHotCities") @ApiOperation(value = "获取热门城市列表") public ResultJson> getHotCities() { List cityList = hotCityService.getHotCities(); return ResultJson.ok(cityList); } @GetMapping(value = "/pageHotCities") @ApiOperation(value = "分页获取热门城市列表") @PreAuthorize("hasAuthority('city.pageHotCities')") public ResultJson> pageHotCities(PageRequest pageRequest) { IPage cityList = hotCityService.pageHotCities(pageRequest); return ResultJson.ok(cityList); } @PostMapping(value = "/saveHotCity") @ApiOperation(value = "保存热门城市") @PreAuthorize("hasAuthority('city.saveHotCity')") public ResultJson saveHotCity(@RequestBody HotCity hotCity) { hotCityService.saveHotCity(hotCity); return ResultJson.success(); } @DeleteMapping(value = "/deleteHotCity/{id}") @ApiOperation(value = "删除热门城市") @PreAuthorize("hasAuthority('city.deleteHotCity')") public ResultJson deleteHotCity(@PathVariable("id") Long id) { hotCityService.removeById(id); return ResultJson.success(); } @GetMapping(value = "/invalidHotCity/{id}") @ApiOperation(value = "启用/禁用热门城市") @PreAuthorize("hasAuthority('city.invalidHotCity')") public ResultJson invalidHotCity(@PathVariable("id") Long id, Integer status) { hotCityService.invalidHotCity(id, status); return ResultJson.success(); } private final HttpServletRequest request; @GetMapping(value = "/test") @ApiOperation(value = "测试") public ResultJson test() { AliyunUtil.test(request); return ResultJson.success(); } }