package com.mzl.flower.web.system; import com.mzl.flower.base.BaseController; import com.mzl.flower.base.R; import com.mzl.flower.service.system.ProvinceService; import com.mzl.flower.utils.LocalUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; @Api(tags = "国内省市区") @RestController @RequestMapping("/api/pub/china") public class ProvinceController extends BaseController { @Autowired private ProvinceService provinceService; @ApiOperation(value = "获取省份") @GetMapping("/provinces") public ResponseEntity> provinces() { LocalUtil lu = LocalUtil.getInstance(); String c = "中国"; return returnData(R.SUCCESS.getCode(), lu.getProvinces(c)); } @ApiOperation(value = "根据省份获取城市列表") @GetMapping("/cities") @ApiImplicitParams({ @ApiImplicitParam(name = "province", value = "省", dataType = "String", paramType = "query"), }) public ResponseEntity> cities(String province) { LocalUtil lu = LocalUtil.getInstance(); String c = "中国"; return returnData(R.SUCCESS.getCode(), lu.getCities(c, province)); } @ApiOperation(value = "根据省份和城市获取县级列表") @GetMapping("/regions") @ApiImplicitParams({ @ApiImplicitParam(name = "province", value = "省名", dataType = "String", paramType = "query"), @ApiImplicitParam(name = "city", value = "市名", dataType = "String", paramType = "query"), }) public ResponseEntity> regions(String province, String city) { LocalUtil lu = LocalUtil.getInstance(); String c = "中国"; return returnData(R.SUCCESS.getCode(), lu.getDistrict(c, province, city)); } @ApiOperation(value = "获取中国省市区数据") @GetMapping("/area/json") public ResponseEntity getChineseArea() { return returnData(R.SUCCESS.getCode(), provinceService.getChineseArea()); } @ApiOperation(value = "刷新中国省市区数据缓存") @GetMapping("/area/json/refresh") public ResponseEntity refresh() { provinceService.refreshChineseData(); return returnData(R.SUCCESS.getCode(), null); } }