86 lines
3.0 KiB
Java
86 lines
3.0 KiB
Java
package com.peanut.modules.book.controller;
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.peanut.common.utils.R;
|
|
import com.peanut.modules.book.entity.CityEntity;
|
|
import com.peanut.modules.book.entity.CountyEntity;
|
|
import com.peanut.modules.book.entity.ProvinceEntity;
|
|
import com.peanut.modules.book.service.CityService;
|
|
import com.peanut.modules.book.service.CountyService;
|
|
import com.peanut.modules.book.service.ProvinceService;
|
|
import org.apache.commons.lang.StringUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
@RestController
|
|
@RequestMapping("api/province")
|
|
public class ProvinceController {
|
|
|
|
|
|
@Autowired
|
|
private ProvinceService provinceService;
|
|
@Autowired
|
|
private CityService cityService;
|
|
@Autowired
|
|
private CountyService countyService;
|
|
@Autowired
|
|
private StringRedisTemplate redisTemplate;
|
|
|
|
//获取地址
|
|
@RequestMapping("/getProvince")
|
|
public R getProvince(){
|
|
|
|
|
|
//优化查询速度 目录放入redis中
|
|
String s = redisTemplate.opsForValue().get("Province");
|
|
List<Map<String, Object>> listData = new ArrayList<>();
|
|
if (StringUtils.isNotBlank(s)) {
|
|
List<Object> redisData = JSONArray.parseArray(s);
|
|
for (Object object : redisData) {
|
|
Map <String,Object> ret = (Map<String, Object>) object;//取出list里面的值转为map
|
|
listData.add(ret);
|
|
}
|
|
return R.ok().put("provinceEntity",listData);
|
|
}
|
|
List<ProvinceEntity> provinceEntityList = provinceService.getCity();
|
|
redisTemplate.opsForValue().set("Province", JSON.toJSONString(provinceEntityList));
|
|
return R.ok().put("provinceEntity",provinceEntityList);
|
|
}
|
|
|
|
//获取省列表
|
|
@RequestMapping("/getProvinceList")
|
|
public R getProvinceList(){
|
|
List<ProvinceEntity> provinceList = provinceService.getBaseMapper().selectList(new QueryWrapper<ProvinceEntity>());
|
|
|
|
return R.ok().put("provinceList",provinceList);
|
|
}
|
|
|
|
//获取市列表
|
|
@RequestMapping("/getCityList")
|
|
public R getCityList(@RequestParam("provId") Integer provId){
|
|
List<CityEntity> prov = cityService.getBaseMapper().selectList(new QueryWrapper<CityEntity>()
|
|
.eq("prov_id", provId));
|
|
return R.ok().put("prov",prov);
|
|
}
|
|
|
|
//获取区列表
|
|
@RequestMapping("/getCountyList")
|
|
public R getCountyList(@RequestParam("cityId") Integer cityId){
|
|
List<CountyEntity> countyList = countyService.getBaseMapper().selectList(new QueryWrapper<CountyEntity>().eq("city_id", cityId));
|
|
|
|
|
|
return R.ok().put("countyList",countyList);
|
|
}
|
|
|
|
|
|
}
|