|
|
@@ -18,10 +18,13 @@ package org.springblade.system.controller;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
|
|
import io.swagger.annotations.*;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
+import org.springblade.common.utils.AddressUtil;
|
|
|
import org.springblade.core.boot.ctrl.BladeController;
|
|
|
import org.springblade.core.excel.util.ExcelUtil;
|
|
|
import org.springblade.core.mp.support.Condition;
|
|
|
@@ -41,6 +44,7 @@ import springfox.documentation.annotations.ApiIgnore;
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import javax.validation.Valid;
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
@@ -154,6 +158,35 @@ public class RegionController extends BladeController {
|
|
|
@ApiOperationSupport(order = 7)
|
|
|
@ApiOperation(value = "新增或修改", notes = "传入region")
|
|
|
public R submit(@Valid @RequestBody Region region) {
|
|
|
+ //获取地址经纬度
|
|
|
+ String address = "";
|
|
|
+ //省
|
|
|
+ if (StringUtils.isNotBlank(region.getProvinceName())){
|
|
|
+ address = address + region.getProvinceName();
|
|
|
+ }
|
|
|
+ //市
|
|
|
+ if (StringUtils.isNotBlank(region.getCityName())){
|
|
|
+ address = address + region.getCityName();
|
|
|
+ }
|
|
|
+ //区
|
|
|
+ if (StringUtils.isNotBlank(region.getDistrictName())){
|
|
|
+ address = address + region.getDistrictName();
|
|
|
+ }
|
|
|
+ //镇
|
|
|
+ if (StringUtils.isNotBlank(region.getTownName())){
|
|
|
+ address = address + region.getTownName();
|
|
|
+ }
|
|
|
+ //村
|
|
|
+ if (StringUtils.isNotBlank(region.getVillageName())){
|
|
|
+ address = address + region.getVillageName();
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(address)){
|
|
|
+ Map<String, BigDecimal> map = AddressUtil.getLnglat(address);
|
|
|
+ if (map != null){
|
|
|
+ region.setLat(map.get("lat"));
|
|
|
+ region.setLng(map.get("lng"));
|
|
|
+ }
|
|
|
+ }
|
|
|
return R.status(regionService.submit(region));
|
|
|
}
|
|
|
|
|
|
@@ -213,6 +246,59 @@ public class RegionController extends BladeController {
|
|
|
List<RegionExcel> list = new ArrayList<>();
|
|
|
ExcelUtil.export(response, "行政区划模板", "行政区划表", list, RegionExcel.class);
|
|
|
}
|
|
|
+ /**
|
|
|
+ * 批量获取经纬度
|
|
|
+ */
|
|
|
+ @GetMapping("getAddress")
|
|
|
+ @ApiOperationSupport(order = 13)
|
|
|
+ @ApiOperation(value = "批量获取经纬度")
|
|
|
+ public R getAddress() {
|
|
|
+ List<Region> list = regionService.list();
|
|
|
+ if (CollectionUtils.isNotEmpty(list)){
|
|
|
+ for (Region region : list) {
|
|
|
+ //获取地址经纬度
|
|
|
+ String address = "";
|
|
|
+ //省
|
|
|
+ if (StringUtils.isNotBlank(region.getProvinceName())){
|
|
|
+ address = address + region.getProvinceName();
|
|
|
+ }
|
|
|
+ //市
|
|
|
+ if (StringUtils.isNotBlank(region.getCityName())){
|
|
|
+ address = address + region.getCityName();
|
|
|
+ }
|
|
|
+ //区
|
|
|
+ if (StringUtils.isNotBlank(region.getDistrictName())){
|
|
|
+ address = address + region.getDistrictName();
|
|
|
+ }
|
|
|
+ //镇
|
|
|
+ if (StringUtils.isNotBlank(region.getTownName())){
|
|
|
+ address = address + region.getTownName();
|
|
|
+ }
|
|
|
+ //村
|
|
|
+ if (StringUtils.isNotBlank(region.getVillageName())){
|
|
|
+ address = address + region.getVillageName();
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(address)){
|
|
|
+ Map<String, BigDecimal> map = AddressUtil.getLnglat(address);
|
|
|
+ if (map != null){
|
|
|
+ region.setLat(map.get("lat"));
|
|
|
+ region.setLng(map.get("lng"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ regionService.updateById(region);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
+ return R.success("操作成功");
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 获取经纬度
|
|
|
+ */
|
|
|
+ @GetMapping("getAddressMessage")
|
|
|
+ @ApiOperationSupport(order = 14)
|
|
|
+ @ApiOperation(value = "获取经纬度")
|
|
|
+ public R getAddressMessage(@RequestParam("address") String address) {
|
|
|
+ return R.data(AddressUtil.getLnglat(address));
|
|
|
+ }
|
|
|
|
|
|
}
|