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<List<CityVo>> calculateMechanism() {
|
List<CityVo> cityList = cityService.getCityList();
|
return ResultJson.ok(cityList);
|
}
|
|
@GetMapping(value = "/getHotCities")
|
@ApiOperation(value = "获取热门城市列表")
|
public ResultJson<List<HotCity>> getHotCities() {
|
List<HotCity> cityList = hotCityService.getHotCities();
|
return ResultJson.ok(cityList);
|
}
|
|
@GetMapping(value = "/pageHotCities")
|
@ApiOperation(value = "分页获取热门城市列表")
|
@PreAuthorize("hasAuthority('city.pageHotCities')")
|
public ResultJson<IPage<HotCity>> pageHotCities(PageRequest pageRequest) {
|
IPage<HotCity> cityList = hotCityService.pageHotCities(pageRequest);
|
return ResultJson.ok(cityList);
|
}
|
|
|
@PostMapping(value = "/saveHotCity")
|
@ApiOperation(value = "保存热门城市")
|
@PreAuthorize("hasAuthority('city.saveHotCity')")
|
public ResultJson<Void> saveHotCity(@RequestBody HotCity hotCity) {
|
hotCityService.saveHotCity(hotCity);
|
return ResultJson.success();
|
}
|
|
@DeleteMapping(value = "/deleteHotCity/{id}")
|
@ApiOperation(value = "删除热门城市")
|
@PreAuthorize("hasAuthority('city.deleteHotCity')")
|
public ResultJson<Void> deleteHotCity(@PathVariable("id") Long id) {
|
hotCityService.removeById(id);
|
return ResultJson.success();
|
}
|
|
@GetMapping(value = "/invalidHotCity/{id}")
|
@ApiOperation(value = "启用/禁用热门城市")
|
@PreAuthorize("hasAuthority('city.invalidHotCity')")
|
public ResultJson<Void> 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<Void> test() {
|
AliyunUtil.test(request);
|
return ResultJson.success();
|
}
|
|
}
|