Browse Source

2.0.0 修改新增接口bug

feature/v.2.0.0
peihao 4 years ago
parent
commit
d3f6dcadb3
  1. 2
      air/src/main/java/com/air/applets/serivce/impl/AppletsMapServiceImpl.java
  2. 13
      air/src/main/java/com/air/cityarea/controller/CityAreaLonLatController.java
  3. 2
      air/src/main/java/com/air/cityarea/entity/CityAreaLonLat.java
  4. 5
      air/src/main/java/com/air/cityarea/entity/Xingzhengqu.java
  5. 11
      air/src/main/java/com/air/cityarea/service/CityAreaLonLatService.java
  6. 73
      air/src/main/java/com/air/cityarea/service/impl/CityAreaLonLatServiceImpl.java
  7. 2
      air/src/main/java/com/air/cityarea/vo/CityAreaLonLatPageVo.java
  8. 57
      air/src/main/resources/config/cityAreaLonLat-config.json

2
air/src/main/java/com/air/applets/serivce/impl/AppletsMapServiceImpl.java

@ -82,7 +82,7 @@ public class AppletsMapServiceImpl implements AppletsMapService {
for(int i= 0 ;i<xingzhengqus.size();i++){
Xingzhengqu xingzhengqu = xingzhengqus.get(i);
String geom = WgsUtil.wgs84_To_Gcj02(xingzhengqu.getPos());
mapMapper.updateXingzhengqu(geom,xingzhengqu.getGid());
mapMapper.updateXingzhengqu(geom,xingzhengqu.getId());
}
break;
case "2":

13
air/src/main/java/com/air/cityarea/controller/CityAreaLonLatController.java

@ -13,6 +13,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@ -100,4 +101,16 @@ public class CityAreaLonLatController {
return R.ok(cityAreaLonLatService.removes(type, ids),"删除成功");
}
/**
* 导入城市区域经纬度信息
*
* @author peihao
* @date 2021/5/25
**/
@ApiOperation(value = "导入城市区域经纬度信息", notes = "导入城市区域经纬度信息")
@PostMapping(value = "/importExcel")
public R importExcel(@RequestParam(value = "uploadFile") MultipartFile file) {
return R.ok(cityAreaLonLatService.importExcel(file), "导入成功");
}
}

2
air/src/main/java/com/air/cityarea/entity/CityAreaLonLat.java

@ -40,5 +40,5 @@ public class CityAreaLonLat extends Model<CityAreaLonLat> {
@ApiModelProperty(value = "填充不透明")
private Integer fillOpaqueness;
@ApiModelProperty(value = "主键")
private Integer primaryId;
private Integer id;
}

5
air/src/main/java/com/air/cityarea/entity/Xingzhengqu.java

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import lombok.Data;
import lombok.EqualsAndHashCode;
@ -25,9 +26,7 @@ public class Xingzhengqu extends Model<Xingzhengqu> {
@TableId
@ApiModelProperty(value="")
private Integer gid;
@ApiModelProperty(value="")
private Double id;
private Integer id;
@ApiModelProperty(value="")
private String name;
@ApiModelProperty(value="")

11
air/src/main/java/com/air/cityarea/service/CityAreaLonLatService.java

@ -4,6 +4,7 @@ import com.air.cityarea.entity.CityAreaLonLat;
import com.air.cityarea.vo.CityAreaLonLatPageVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.cinderella.framework.common.data.mybatis.QueryPage;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@ -25,4 +26,14 @@ public interface CityAreaLonLatService {
boolean removes(String type, List<Integer> ids);
/**
* 导入城市区域信息
*
* @param file 文件
* @return
* @author peihao
* @date 2021/7/9
**/
boolean importExcel(MultipartFile file);
}

73
air/src/main/java/com/air/cityarea/service/impl/CityAreaLonLatServiceImpl.java

@ -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;
}
}

2
air/src/main/java/com/air/cityarea/vo/CityAreaLonLatPageVo.java

@ -19,7 +19,7 @@ public class CityAreaLonLatPageVo {
@ApiModelProperty(value = "城市")
private String city;
@ApiModelProperty(value = "区域名称")
private String cityArea;
private String name;
@ApiModelProperty(value = "区域类型")
private String type;
}

57
air/src/main/resources/config/cityAreaLonLat-config.json

@ -0,0 +1,57 @@
[
{
"titleName": "区域类型",
"fieldName": "type",
"valueType": "string",
"required": true
},{
"titleName": "城市",
"fieldName": "city",
"valueType": "string",
"required": true
},
{
"titleName": "区域名称",
"fieldName": "name",
"valueType": "string",
"required": true
},
{
"titleName": "经纬度",
"fieldName": "pos",
"valueType": "string",
"required": true
},
{
"titleName": "线条宽度",
"fieldName": "lineWidth",
"valueType": "Integer",
"required": false
},
{
"titleName": "线条颜色",
"fieldName": "lineColor",
"valueType": "string",
"required": false
},
{
"titleName": "线条不透明度",
"fieldName": "lineOpaqueness",
"valueType": "Integer",
"required": false
}
,
{
"titleName": "填充颜色",
"fieldName": "fillColor",
"valueType": "string",
"required": false
}
,
{
"titleName": "填充不透明度",
"fieldName": "fillOpaqueness",
"valueType": "Integer",
"required": false
}
]
Loading…
Cancel
Save