package com.mzl.flower.web.system; import com.mzl.flower.base.BaseController; import com.mzl.flower.base.R; import com.mzl.flower.service.district.DistrictService; import com.mzl.flower.service.district.DistrictTengxunService; 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; /** * 腾讯地图获取中国省市区数据 */ @Autowired private DistrictTengxunService districtTengxunService; /** * 高德地图获取中国省市区数据 */ @Autowired private DistrictService districtService; @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(), districtService.getChineseArea()); // 腾讯地图 return returnData(R.SUCCESS.getCode(), districtTengxunService.getChineseArea()); // return returnData(R.SUCCESS.getCode(), provinceService.getChineseArea()); } @ApiOperation(value = "刷新中国省市区数据缓存") @GetMapping("/area/json/refresh") public ResponseEntity refresh() { // provinceService.refreshChineseData(); // districtService.clearChineseDataCache(); districtTengxunService.clearChineseDataCache(); return returnData(R.SUCCESS.getCode(), null); } @ApiOperation(value = "获取中国省市区数据") @GetMapping("/web/area/json") public ResponseEntity getChineseAreaForWeb() { // 高德地图 // return returnData(R.SUCCESS.getCode(), districtService.getChineseArea()); // 腾讯地图 return returnData(R.SUCCESS.getCode(), districtTengxunService.getChineseAreaForWeb()); // return returnData(R.SUCCESS.getCode(), provinceService.getChineseArea()); } }