79 lines
2.9 KiB
Java
79 lines
2.9 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.City;
|
|
import com.peanut.modules.book.entity.County;
|
|
import com.peanut.modules.book.entity.Province;
|
|
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<Province> provinceList = provinceService.getCity();
|
|
redisTemplate.opsForValue().set("Province", JSON.toJSONString(provinceList));
|
|
return R.ok().put("provinceEntity", provinceList);
|
|
}
|
|
|
|
//获取省列表
|
|
@RequestMapping("/getProvinceList")
|
|
public R getProvinceList() {
|
|
List<Province> provinceList = provinceService.getBaseMapper().selectList(new QueryWrapper<Province>());
|
|
|
|
return R.ok().put("provinceList", provinceList);
|
|
}
|
|
|
|
//获取市列表
|
|
@RequestMapping("/getCityList")
|
|
public R getCityList(@RequestParam("provId") Integer provId) {
|
|
List<City> prov = cityService.getBaseMapper().selectList(new QueryWrapper<City>()
|
|
.eq("prov_id", provId));
|
|
return R.ok().put("prov", prov);
|
|
}
|
|
|
|
//获取区列表
|
|
@RequestMapping("/getCountyList")
|
|
public R getCountyList(@RequestParam("cityId") Integer cityId) {
|
|
List<County> countyList = countyService.getBaseMapper().selectList(new QueryWrapper<County>().eq("city_id", cityId));
|
|
return R.ok().put("countyList", countyList);
|
|
}
|
|
}
|