|
|
|
@ -1,6 +1,7 @@
|
|
|
|
|
package com.air.cityarea.service.impl; |
|
|
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
|
|
import cn.hutool.core.collection.CollectionUtil; |
|
|
|
|
import cn.hutool.core.util.StrUtil; |
|
|
|
|
import com.air.cityarea.entity.*; |
|
|
|
|
import com.air.cityarea.mapper.*; |
|
|
|
@ -15,9 +16,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
|
import com.cinderella.framework.common.core.exception.BusinessException; |
|
|
|
|
import com.cinderella.framework.common.data.mybatis.QueryPage; |
|
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
import org.springframework.web.multipart.MultipartFile; |
|
|
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -28,6 +31,7 @@ import java.util.List;
|
|
|
|
|
*/ |
|
|
|
|
@Service |
|
|
|
|
@AllArgsConstructor |
|
|
|
|
@Slf4j |
|
|
|
|
public class CityAreaLonLatServiceImpl implements CityAreaLonLatService { |
|
|
|
|
|
|
|
|
|
private DazutuanService dazutuanService; |
|
|
|
@ -44,26 +48,26 @@ public class CityAreaLonLatServiceImpl implements CityAreaLonLatService {
|
|
|
|
|
switch (pageVo.getType()){ |
|
|
|
|
case "area": |
|
|
|
|
IPage<Xingzhengqu> xingzhengquPage = xingzhengquService.page(page.toPage(), Wrappers.<Xingzhengqu>query().lambda() |
|
|
|
|
.eq(Xingzhengqu::getCity,pageVo.getCity()).eq(StrUtil.isNotEmpty(pageVo.getCityArea()), Xingzhengqu::getName, pageVo.getCityArea())); |
|
|
|
|
.eq(Xingzhengqu::getCity,pageVo.getCity()).like(StrUtil.isNotEmpty(pageVo.getName()), Xingzhengqu::getName, pageVo.getName())); |
|
|
|
|
xingzhengquPage.getRecords().stream().forEach(item ->item.setType("area")); |
|
|
|
|
BeanUtil.copyProperties(xingzhengquPage,resultPage); |
|
|
|
|
break; |
|
|
|
|
case "bigGroup": |
|
|
|
|
IPage<Dazutuan> dazutuanPage = dazutuanService.page(page.toPage(), Wrappers.<Dazutuan>query().lambda() |
|
|
|
|
.eq(Dazutuan::getCity,pageVo.getCity()).eq(StrUtil.isNotEmpty(pageVo.getCityArea()), Dazutuan::getName, pageVo.getCityArea())); |
|
|
|
|
.eq(Dazutuan::getCity,pageVo.getCity()).like(StrUtil.isNotEmpty(pageVo.getName()), Dazutuan::getName, pageVo.getName())); |
|
|
|
|
dazutuanPage.getRecords().stream().forEach(item ->item.setType("bigGroup")); |
|
|
|
|
BeanUtil.copyProperties(dazutuanPage,resultPage); |
|
|
|
|
break; |
|
|
|
|
case "smallGroup": |
|
|
|
|
IPage<Xiaozutuan> xiaozutuanPage = xiaozutuanService.page(page.toPage(), Wrappers.<Xiaozutuan>query().lambda() |
|
|
|
|
.eq(Xiaozutuan::getCity,pageVo.getCity()).eq(StrUtil.isNotEmpty(pageVo.getCityArea()), Xiaozutuan::getName, pageVo.getCityArea())); |
|
|
|
|
.eq(Xiaozutuan::getCity,pageVo.getCity()).like(StrUtil.isNotEmpty(pageVo.getName()), Xiaozutuan::getName, pageVo.getName())); |
|
|
|
|
xiaozutuanPage.getRecords().stream().forEach(item ->item.setType("smallGroup")); |
|
|
|
|
BeanUtil.copyProperties(xiaozutuanPage,resultPage); |
|
|
|
|
|
|
|
|
|
break; |
|
|
|
|
case "loop": |
|
|
|
|
IPage<Huanxian> huanxianPage = huanxianService.page(page.toPage(), Wrappers.<Huanxian>query().lambda() |
|
|
|
|
.eq(Huanxian::getCity,pageVo.getCity()).eq(StrUtil.isNotEmpty(pageVo.getCityArea()), Huanxian::getName, pageVo.getCityArea())); |
|
|
|
|
.eq(Huanxian::getCity,pageVo.getCity()).like(StrUtil.isNotEmpty(pageVo.getName()), Huanxian::getName, pageVo.getName())); |
|
|
|
|
huanxianPage.getRecords().stream().forEach(item ->item.setType("loop")); |
|
|
|
|
BeanUtil.copyProperties(huanxianPage,resultPage); |
|
|
|
|
break; |
|
|
|
@ -101,25 +105,25 @@ public class CityAreaLonLatServiceImpl implements CityAreaLonLatService {
|
|
|
|
|
case "area": |
|
|
|
|
Xingzhengqu xingzhengqu = new Xingzhengqu(); |
|
|
|
|
BeanUtil.copyProperties(cityAreaLonLat,xingzhengqu); |
|
|
|
|
xingzhengqu.setGid(cityAreaLonLat.getPrimaryId()); |
|
|
|
|
xingzhengqu.setId(cityAreaLonLat.getId()); |
|
|
|
|
xingzhengquService.saveOrUpdate(xingzhengqu); |
|
|
|
|
break; |
|
|
|
|
case "bigGroup": |
|
|
|
|
Dazutuan dazutuan = new Dazutuan(); |
|
|
|
|
BeanUtil.copyProperties(cityAreaLonLat,dazutuan); |
|
|
|
|
dazutuan.setId(cityAreaLonLat.getPrimaryId()); |
|
|
|
|
dazutuan.setId(cityAreaLonLat.getId()); |
|
|
|
|
dazutuanService.saveOrUpdate(dazutuan); |
|
|
|
|
break; |
|
|
|
|
case "smallGroup": |
|
|
|
|
Xiaozutuan xiaozutuan = new Xiaozutuan(); |
|
|
|
|
BeanUtil.copyProperties(cityAreaLonLat,xiaozutuan); |
|
|
|
|
xiaozutuan.setId(cityAreaLonLat.getPrimaryId()); |
|
|
|
|
xiaozutuan.setId(cityAreaLonLat.getId()); |
|
|
|
|
xiaozutuanService.saveOrUpdate(xiaozutuan); |
|
|
|
|
break; |
|
|
|
|
case "loop": |
|
|
|
|
Huanxian huanxian = new Huanxian(); |
|
|
|
|
BeanUtil.copyProperties(cityAreaLonLat,huanxian); |
|
|
|
|
huanxian.setId(cityAreaLonLat.getPrimaryId()); |
|
|
|
|
huanxian.setId(cityAreaLonLat.getId()); |
|
|
|
|
huanxianService.saveOrUpdate(huanxian); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
@ -149,4 +153,57 @@ public class CityAreaLonLatServiceImpl implements CityAreaLonLatService {
|
|
|
|
|
} |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public boolean importExcel(MultipartFile file) { |
|
|
|
|
List<CityAreaLonLat> dataList; |
|
|
|
|
try { |
|
|
|
|
dataList = ExcelUtil.importExcel(file.getInputStream(), 0, 0, 0, CityAreaLonLat.class, "config/cityAreaLonLat-config.json"); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
log.error("导入城市区域经纬度出错", e); |
|
|
|
|
throw new BusinessException("导入城市区域经纬度出错"); |
|
|
|
|
} |
|
|
|
|
if (CollectionUtil.isNotEmpty(dataList)){ |
|
|
|
|
switch (dataList.get(0).getType()){ |
|
|
|
|
case "行政区": |
|
|
|
|
List<Xingzhengqu> xingzhengqus = new ArrayList<>(); |
|
|
|
|
dataList.stream().forEach(item ->{ |
|
|
|
|
Xingzhengqu xingzhengqu = new Xingzhengqu(); |
|
|
|
|
BeanUtil.copyProperties(item,xingzhengqu); |
|
|
|
|
xingzhengqus.add(xingzhengqu); |
|
|
|
|
}); |
|
|
|
|
xingzhengquService.saveBatch(xingzhengqus); |
|
|
|
|
break; |
|
|
|
|
case "大组团": |
|
|
|
|
List<Dazutuan> dazutuans = new ArrayList<>(); |
|
|
|
|
dataList.stream().forEach(item ->{ |
|
|
|
|
Dazutuan dazutuan = new Dazutuan(); |
|
|
|
|
BeanUtil.copyProperties(item,dazutuan); |
|
|
|
|
dazutuans.add(dazutuan); |
|
|
|
|
}); |
|
|
|
|
dazutuanService.saveBatch(dazutuans); |
|
|
|
|
break; |
|
|
|
|
case "小组团": |
|
|
|
|
List<Xiaozutuan> xiaozutuans = new ArrayList<>(); |
|
|
|
|
dataList.stream().forEach(item ->{ |
|
|
|
|
Xiaozutuan xiaozutuan = new Xiaozutuan(); |
|
|
|
|
BeanUtil.copyProperties(item,xiaozutuan); |
|
|
|
|
xiaozutuans.add(xiaozutuan); |
|
|
|
|
}); |
|
|
|
|
xiaozutuanService.saveBatch(xiaozutuans); |
|
|
|
|
break; |
|
|
|
|
case "环线": |
|
|
|
|
List<Huanxian> huanxians = new ArrayList<>(); |
|
|
|
|
dataList.stream().forEach(item ->{ |
|
|
|
|
Huanxian huanxian = new Huanxian(); |
|
|
|
|
BeanUtil.copyProperties(item,huanxian); |
|
|
|
|
huanxians.add(huanxian); |
|
|
|
|
}); |
|
|
|
|
huanxianService.saveBatch(huanxians); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|