新增地图网格模块
This commit is contained in:
parent
d0a9d76148
commit
731a8bd42c
23
module-map/pom.xml
Normal file
23
module-map/pom.xml
Normal file
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>wg-basic</artifactId>
|
||||
<groupId>ink.wgink</groupId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>module-map</artifactId>
|
||||
<description>地图模块</description>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>ink.wgink</groupId>
|
||||
<artifactId>common</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
@ -0,0 +1,59 @@
|
||||
package ink.wgink.module.map.dao.grid;
|
||||
|
||||
import ink.wgink.exceptions.RemoveException;
|
||||
import ink.wgink.exceptions.SaveException;
|
||||
import ink.wgink.exceptions.SearchException;
|
||||
import ink.wgink.interfaces.init.IInitBaseTable;
|
||||
import ink.wgink.module.map.pojo.dto.grid.GridDTO;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* When you feel like quitting. Think about why you started
|
||||
* 当你想要放弃的时候,想想当初你为何开始
|
||||
*
|
||||
* @ClassName: IGridDao
|
||||
* @Description: 网格业务
|
||||
* @Author: WangGeng
|
||||
* @Date: 2020/10/21 11:16
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Repository
|
||||
public interface IGridDao extends IInitBaseTable {
|
||||
/**
|
||||
* 保存网格
|
||||
*
|
||||
* @param params
|
||||
* @throws SaveException
|
||||
*/
|
||||
void save(Map<String, Object> params) throws SaveException;
|
||||
|
||||
/**
|
||||
* 删除网格
|
||||
*
|
||||
* @param params
|
||||
* @throws RemoveException
|
||||
*/
|
||||
void delete(Map<String, Object> params) throws RemoveException;
|
||||
|
||||
/**
|
||||
* 获取网格列表
|
||||
*
|
||||
* @param params
|
||||
* @return
|
||||
* @throws SearchException
|
||||
*/
|
||||
List<GridDTO> list(Map<String, Object> params) throws SearchException;
|
||||
|
||||
/**
|
||||
* 网格列表group
|
||||
*
|
||||
* @param params
|
||||
* @return
|
||||
* @throws SearchException
|
||||
*/
|
||||
List<GridDTO> listGroup(Map<String, Object> params) throws SearchException;
|
||||
|
||||
}
|
@ -0,0 +1,51 @@
|
||||
package ink.wgink.module.map.dao.grid;
|
||||
|
||||
import ink.wgink.exceptions.RemoveException;
|
||||
import ink.wgink.exceptions.SaveException;
|
||||
import ink.wgink.exceptions.SearchException;
|
||||
import ink.wgink.interfaces.init.IInitBaseTable;
|
||||
import ink.wgink.module.map.pojo.dto.grid.GridPointDTO;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* When you feel like quitting. Think about why you started
|
||||
* 当你想要放弃的时候,想想当初你为何开始
|
||||
*
|
||||
* @ClassName: IGridDao
|
||||
* @Description: 网格业务
|
||||
* @Author: WangGeng
|
||||
* @Date: 2020/10/21 11:16
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Repository
|
||||
public interface IGridPointDao extends IInitBaseTable {
|
||||
|
||||
/**
|
||||
* 保存网格点
|
||||
*
|
||||
* @param params
|
||||
* @throws SaveException
|
||||
*/
|
||||
void save(Map<String, Object> params) throws SaveException;
|
||||
|
||||
/**
|
||||
* 删除网格点
|
||||
*
|
||||
* @param params
|
||||
* @throws RemoveException
|
||||
*/
|
||||
void delete(Map<String, Object> params) throws RemoveException;
|
||||
|
||||
/**
|
||||
* 获取网格点列表
|
||||
*
|
||||
* @param params
|
||||
* @return
|
||||
* @throws SearchException
|
||||
*/
|
||||
List<GridPointDTO> list(Map<String, Object> params) throws SearchException;
|
||||
|
||||
}
|
@ -0,0 +1,51 @@
|
||||
package ink.wgink.module.map.dao.grid;
|
||||
|
||||
import ink.wgink.exceptions.RemoveException;
|
||||
import ink.wgink.exceptions.SaveException;
|
||||
import ink.wgink.exceptions.SearchException;
|
||||
import ink.wgink.interfaces.init.IInitBaseTable;
|
||||
import ink.wgink.module.map.pojo.dto.grid.GridRelationDTO;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* When you feel like quitting. Think about why you started
|
||||
* 当你想要放弃的时候,想想当初你为何开始
|
||||
*
|
||||
* @ClassName: IGridDao
|
||||
* @Description: 网格业务
|
||||
* @Author: WangGeng
|
||||
* @Date: 2020/10/21 11:16
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Repository
|
||||
public interface IGridRelationDao extends IInitBaseTable {
|
||||
|
||||
/**
|
||||
* 保存网格关联关系
|
||||
*
|
||||
* @param params
|
||||
* @throws SaveException
|
||||
*/
|
||||
void save(Map<String, Object> params) throws SaveException;
|
||||
|
||||
/**
|
||||
* 删除网格关联关系
|
||||
*
|
||||
* @param params
|
||||
* @throws RemoveException
|
||||
*/
|
||||
void delete(Map<String, Object> params) throws RemoveException;
|
||||
|
||||
/**
|
||||
* 网关关联列表
|
||||
*
|
||||
* @param params
|
||||
* @return
|
||||
* @throws SearchException
|
||||
*/
|
||||
List<GridRelationDTO> list(Map<String, Object> params) throws SearchException;
|
||||
|
||||
}
|
@ -0,0 +1,83 @@
|
||||
package ink.wgink.module.map.pojo.dto.grid;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* When you feel like quitting. Think about why you started
|
||||
* 当你想要放弃的时候,想想当初你为何开始
|
||||
*
|
||||
* @ClassName: GridDTO
|
||||
* @Description: 网格
|
||||
* @Author: WangGeng
|
||||
* @Date: 2020/10/21 17:01
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@ApiModel
|
||||
public class GridDTO extends GridRelationDTO {
|
||||
|
||||
@ApiModelProperty(name = "fillColor", value = "填充颜色")
|
||||
private String fillColor;
|
||||
@ApiModelProperty(name = "gridName", value = "网格名称")
|
||||
private String gridName;
|
||||
@ApiModelProperty(name = "relationIdArray", value = "关联ID列表")
|
||||
private List<String> relationIdArray;
|
||||
@ApiModelProperty(name = "pointArray", value = "网格点列表")
|
||||
private List<GridPointDTO> pointArray;
|
||||
|
||||
public String getFillColor() {
|
||||
return fillColor == null ? "" : fillColor.trim();
|
||||
}
|
||||
|
||||
public void setFillColor(String fillColor) {
|
||||
this.fillColor = fillColor;
|
||||
}
|
||||
|
||||
public String getGridName() {
|
||||
return gridName == null ? "" : gridName.trim();
|
||||
}
|
||||
|
||||
public void setGridName(String gridName) {
|
||||
this.gridName = gridName;
|
||||
}
|
||||
|
||||
public List<String> getRelationIdArray() {
|
||||
if (relationIdArray == null) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return relationIdArray;
|
||||
}
|
||||
|
||||
public void setRelationIdArray(List<String> relationIdArray) {
|
||||
this.relationIdArray = relationIdArray;
|
||||
}
|
||||
|
||||
public List<GridPointDTO> getPointArray() {
|
||||
if (pointArray == null) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return pointArray;
|
||||
}
|
||||
|
||||
public void setPointArray(List<GridPointDTO> pointArray) {
|
||||
this.pointArray = pointArray;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
final StringBuilder sb = new StringBuilder("{");
|
||||
sb.append("\"fillColor\":\"")
|
||||
.append(fillColor).append('\"');
|
||||
sb.append(",\"gridName\":\"")
|
||||
.append(gridName).append('\"');
|
||||
sb.append(",\"relationIdArray\":")
|
||||
.append(relationIdArray);
|
||||
sb.append(",\"pointArray\":")
|
||||
.append(pointArray);
|
||||
sb.append('}');
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
@ -0,0 +1,65 @@
|
||||
package ink.wgink.module.map.pojo.dto.grid;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* When you feel like quitting. Think about why you started
|
||||
* 当你想要放弃的时候,想想当初你为何开始
|
||||
*
|
||||
* @ClassName: BaiduGridPointVO
|
||||
* @Description: 百度地图网格点
|
||||
* @Author: WangGeng
|
||||
* @Date: 2020/10/21 11:02
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@ApiModel
|
||||
public class GridPointDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -2367199018377785048L;
|
||||
@ApiModelProperty(name = "gridId", value = "网格ID")
|
||||
private String gridId;
|
||||
@ApiModelProperty(name = "lng", value = "经度")
|
||||
private String lng;
|
||||
@ApiModelProperty(name = "lat", value = "纬度")
|
||||
private String lat;
|
||||
|
||||
public String getGridId() {
|
||||
return gridId == null ? "" : gridId.trim();
|
||||
}
|
||||
|
||||
public void setGridId(String gridId) {
|
||||
this.gridId = gridId;
|
||||
}
|
||||
|
||||
public String getLng() {
|
||||
return lng == null ? "" : lng.trim();
|
||||
}
|
||||
|
||||
public void setLng(String lng) {
|
||||
this.lng = lng;
|
||||
}
|
||||
|
||||
public String getLat() {
|
||||
return lat == null ? "" : lat.trim();
|
||||
}
|
||||
|
||||
public void setLat(String lat) {
|
||||
this.lat = lat;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
final StringBuilder sb = new StringBuilder("{");
|
||||
sb.append("\"gridId\":\"")
|
||||
.append(gridId).append('\"');
|
||||
sb.append(",\"lng\":\"")
|
||||
.append(lng).append('\"');
|
||||
sb.append(",\"lat\":\"")
|
||||
.append(lat).append('\"');
|
||||
sb.append('}');
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
@ -0,0 +1,53 @@
|
||||
package ink.wgink.module.map.pojo.dto.grid;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* When you feel like quitting. Think about why you started
|
||||
* 当你想要放弃的时候,想想当初你为何开始
|
||||
*
|
||||
* @ClassName: GridRelationDTO
|
||||
* @Description: 网格关联
|
||||
* @Author: WangGeng
|
||||
* @Date: 2020/10/21 12:11
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@ApiModel
|
||||
public class GridRelationDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 9159203095930603288L;
|
||||
@ApiModelProperty(name = "gridId", value = "网格ID")
|
||||
private String gridId;
|
||||
@ApiModelProperty(name = "relationId", value = "关联ID")
|
||||
private String relationId;
|
||||
|
||||
public String getGridId() {
|
||||
return gridId == null ? "" : gridId.trim();
|
||||
}
|
||||
|
||||
public void setGridId(String gridId) {
|
||||
this.gridId = gridId;
|
||||
}
|
||||
|
||||
public String getRelationId() {
|
||||
return relationId == null ? "" : relationId.trim();
|
||||
}
|
||||
|
||||
public void setRelationId(String relationId) {
|
||||
this.relationId = relationId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
final StringBuilder sb = new StringBuilder("{");
|
||||
sb.append("\"gridId\":\"")
|
||||
.append(gridId).append('\"');
|
||||
sb.append(",\"relationId\":\"")
|
||||
.append(relationId).append('\"');
|
||||
sb.append('}');
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
package ink.wgink.module.map.pojo.vo.grid;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
/**
|
||||
* When you feel like quitting. Think about why you started
|
||||
* 当你想要放弃的时候,想想当初你为何开始
|
||||
*
|
||||
* @ClassName: BaiduGridPointVO
|
||||
* @Description: 百度地图网格点
|
||||
* @Author: WangGeng
|
||||
* @Date: 2020/10/21 11:02
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@ApiModel
|
||||
public class GridPointVO {
|
||||
|
||||
@ApiModelProperty(name = "gridId", value = "网格ID")
|
||||
private String gridId;
|
||||
@ApiModelProperty(name = "lng", value = "经度")
|
||||
private String lng;
|
||||
@ApiModelProperty(name = "lat", value = "纬度")
|
||||
private String lat;
|
||||
|
||||
public String getGridId() {
|
||||
return gridId == null ? "" : gridId.trim();
|
||||
}
|
||||
|
||||
public void setGridId(String gridId) {
|
||||
this.gridId = gridId;
|
||||
}
|
||||
|
||||
public String getLng() {
|
||||
return lng == null ? "" : lng.trim();
|
||||
}
|
||||
|
||||
public void setLng(String lng) {
|
||||
this.lng = lng;
|
||||
}
|
||||
|
||||
public String getLat() {
|
||||
return lat == null ? "" : lat.trim();
|
||||
}
|
||||
|
||||
public void setLat(String lat) {
|
||||
this.lat = lat;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
final StringBuilder sb = new StringBuilder("{");
|
||||
sb.append("\"gridId\":\"")
|
||||
.append(gridId).append('\"');
|
||||
sb.append(",\"lng\":\"")
|
||||
.append(lng).append('\"');
|
||||
sb.append(",\"lat\":\"")
|
||||
.append(lat).append('\"');
|
||||
sb.append('}');
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
@ -0,0 +1,95 @@
|
||||
package ink.wgink.module.map.pojo.vo.grid;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* When you feel like quitting. Think about why you started
|
||||
* 当你想要放弃的时候,想想当初你为何开始
|
||||
*
|
||||
* @ClassName: BaiduGridVO
|
||||
* @Description: 百度地图网格
|
||||
* @Author: WangGeng
|
||||
* @Date: 2020/10/21 11:02
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@ApiModel
|
||||
public class GridVO {
|
||||
|
||||
@ApiModelProperty(name = "id", value = "网格ID")
|
||||
private String id;
|
||||
@ApiModelProperty(name = "fillColor", value = "填充颜色")
|
||||
private String fillColor;
|
||||
@ApiModelProperty(name = "gridName", value = "网格名称")
|
||||
private String gridName;
|
||||
@ApiModelProperty(name = "relationIdArray", value = "关联ID列表")
|
||||
private List<String> relationIdArray;
|
||||
@ApiModelProperty(name = "pointArray", value = "网格点列表")
|
||||
private List<GridPointVO> pointArray;
|
||||
|
||||
public String getId() {
|
||||
return id == null ? "" : id.trim();
|
||||
}
|
||||
|
||||
public void setId(String id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getFillColor() {
|
||||
return fillColor == null ? "" : fillColor.trim();
|
||||
}
|
||||
|
||||
public void setFillColor(String fillColor) {
|
||||
this.fillColor = fillColor;
|
||||
}
|
||||
|
||||
public String getGridName() {
|
||||
return gridName == null ? "" : gridName.trim();
|
||||
}
|
||||
|
||||
public void setGridName(String gridName) {
|
||||
this.gridName = gridName;
|
||||
}
|
||||
|
||||
public List<String> getRelationIdArray() {
|
||||
if (relationIdArray == null) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return relationIdArray;
|
||||
}
|
||||
|
||||
public void setRelationIdArray(List<String> relationIdArray) {
|
||||
this.relationIdArray = relationIdArray;
|
||||
}
|
||||
|
||||
public List<GridPointVO> getPointArray() {
|
||||
if (pointArray == null) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return pointArray;
|
||||
}
|
||||
|
||||
public void setPointArray(List<GridPointVO> pointArray) {
|
||||
this.pointArray = pointArray;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
final StringBuilder sb = new StringBuilder("{");
|
||||
sb.append("\"id\":\"")
|
||||
.append(id).append('\"');
|
||||
sb.append(",\"fillColor\":\"")
|
||||
.append(fillColor).append('\"');
|
||||
sb.append(",\"gridName\":\"")
|
||||
.append(gridName).append('\"');
|
||||
sb.append(",\"relationIdArray\":")
|
||||
.append(relationIdArray);
|
||||
sb.append(",\"pointArray\":")
|
||||
.append(pointArray);
|
||||
sb.append('}');
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
@ -0,0 +1,67 @@
|
||||
package ink.wgink.module.map.service.grid;
|
||||
|
||||
import ink.wgink.exceptions.RemoveException;
|
||||
import ink.wgink.module.map.pojo.dto.grid.GridPointDTO;
|
||||
import ink.wgink.module.map.pojo.vo.grid.GridPointVO;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @ClassName: IGridPointService
|
||||
* @Description: 网格点业务
|
||||
* @Author: wanggeng
|
||||
* @Date: 2021/8/30 10:06 下午
|
||||
* @Version: 1.0
|
||||
*/
|
||||
public interface IGridPointService {
|
||||
|
||||
/**
|
||||
* 保存网格点
|
||||
*
|
||||
* @param gridId
|
||||
* @param pointArray
|
||||
*/
|
||||
void save(String gridId, List<GridPointVO> pointArray);
|
||||
|
||||
/**
|
||||
* 删除网格点
|
||||
*
|
||||
* @param gridIds 网格ID列表
|
||||
* @throws RemoveException
|
||||
*/
|
||||
void deleteByGridIds(List<String> gridIds);
|
||||
|
||||
/**
|
||||
* 更新网格数组
|
||||
*
|
||||
* @param gridId 网格ID
|
||||
* @param pointArray 点数组
|
||||
* @throws Exception
|
||||
*/
|
||||
void updatePointArrayByGridId(String gridId, List<GridPointVO> pointArray) throws Exception;
|
||||
|
||||
/**
|
||||
* 网格点列表
|
||||
*
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
List<GridPointDTO> list(Map<String, Object> params);
|
||||
|
||||
/**
|
||||
* 网格点列表
|
||||
*
|
||||
* @param gridId 网格ID
|
||||
* @return
|
||||
*/
|
||||
List<GridPointDTO> list(String gridId);
|
||||
|
||||
/**
|
||||
* 网格点列表
|
||||
*
|
||||
* @param gridIds 网格ID列表
|
||||
* @return
|
||||
*/
|
||||
List<GridPointDTO> list(List<String> gridIds);
|
||||
}
|
@ -0,0 +1,102 @@
|
||||
package ink.wgink.module.map.service.grid;
|
||||
|
||||
import ink.wgink.module.map.pojo.dto.grid.GridRelationDTO;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @ClassName: IGridRelationService
|
||||
* @Description: 网格关联业务
|
||||
* @Author: wanggeng
|
||||
* @Date: 2021/8/30 10:07 下午
|
||||
* @Version: 1.0
|
||||
*/
|
||||
public interface IGridRelationService {
|
||||
|
||||
/**
|
||||
* 保存关联关系
|
||||
*
|
||||
* @param gridId
|
||||
* @param relationIdArray
|
||||
*/
|
||||
void save(String gridId, List<String> relationIdArray);
|
||||
|
||||
/**
|
||||
* 删除网格
|
||||
*
|
||||
* @param gridId 网格ID
|
||||
* @param relationId 关联ID
|
||||
*/
|
||||
void delete(String gridId, String relationId);
|
||||
|
||||
/**
|
||||
* 删除网格关联
|
||||
*
|
||||
* @param gridIds 网格ID列表
|
||||
*/
|
||||
void deleteByGridIds(List<String> gridIds);
|
||||
|
||||
/**
|
||||
* 删除网格关联
|
||||
*
|
||||
* @param relationId 关联ID
|
||||
*/
|
||||
void deleteByRelationId(String relationId);
|
||||
|
||||
/**
|
||||
* 获取网格关联列表
|
||||
*
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
List<GridRelationDTO> list(Map<String, Object> params);
|
||||
|
||||
/**
|
||||
* 获取网格关系列表
|
||||
*
|
||||
* @param relationId 关联ID
|
||||
* @return
|
||||
*/
|
||||
List<GridRelationDTO> listByRelationId(String relationId);
|
||||
|
||||
/**
|
||||
* 获取网格关系列表
|
||||
*
|
||||
* @param relationIds 关联ID列表
|
||||
* @return
|
||||
*/
|
||||
List<GridRelationDTO> listByRelationIds(List<String> relationIds);
|
||||
|
||||
/**
|
||||
* 获取网格关系列表
|
||||
*
|
||||
* @param gridId 网格ID
|
||||
* @return
|
||||
*/
|
||||
List<GridRelationDTO> listByGridId(String gridId);
|
||||
|
||||
/**
|
||||
* 获取网格关系列表
|
||||
*
|
||||
* @param gridIds 网格ID列表
|
||||
* @return
|
||||
*/
|
||||
List<GridRelationDTO> listByGridIds(List<String> gridIds);
|
||||
|
||||
/**
|
||||
* 获取网格ID列表
|
||||
*
|
||||
* @param relationId 关联ID
|
||||
* @return
|
||||
*/
|
||||
List<String> listGridId(String relationId);
|
||||
|
||||
/**
|
||||
* 获取网格ID列表
|
||||
*
|
||||
* @param relationIds 关联ID列表
|
||||
* @return
|
||||
*/
|
||||
List<String> listGridId(List<String> relationIds);
|
||||
}
|
@ -0,0 +1,105 @@
|
||||
package ink.wgink.module.map.service.grid;
|
||||
|
||||
import ink.wgink.exceptions.SearchException;
|
||||
import ink.wgink.module.map.pojo.dto.grid.GridDTO;
|
||||
import ink.wgink.module.map.pojo.vo.grid.GridVO;
|
||||
import ink.wgink.pojo.ListPage;
|
||||
import ink.wgink.pojo.result.SuccessResultList;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* When you feel like quitting. Think about why you started
|
||||
* 当你想要放弃的时候,想想当初你为何开始
|
||||
*
|
||||
* @ClassName: IGridService
|
||||
* @Description: 网格业务
|
||||
* @Author: WangGeng
|
||||
* @Date: 2020/10/21 11:14
|
||||
* @Version: 1.0
|
||||
**/
|
||||
public interface IGridService {
|
||||
|
||||
/**
|
||||
* 保存网格并返回ID
|
||||
*
|
||||
* @param gridVO
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
void save(GridVO gridVO) throws Exception;
|
||||
|
||||
|
||||
/**
|
||||
* 删除网格
|
||||
*
|
||||
* @param relationId 关联关系
|
||||
*/
|
||||
void deleteByRelationId(String relationId);
|
||||
|
||||
/**
|
||||
* 删除网格
|
||||
*
|
||||
* @param gridIds 网格ID列表
|
||||
*/
|
||||
void deleteByGridIds(List<String> gridIds);
|
||||
|
||||
/**
|
||||
* 删除空网格(没有节点的网格)
|
||||
*
|
||||
* @param gridIds
|
||||
*/
|
||||
void deleteEmpty(List<String> gridIds);
|
||||
|
||||
/**
|
||||
* 网格列表
|
||||
*
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
List<GridDTO> list(Map<String, Object> params);
|
||||
|
||||
/**
|
||||
* 网格列表
|
||||
*
|
||||
* @param gridIds 网格ID
|
||||
* @return
|
||||
*/
|
||||
List<GridDTO> list(List<String> gridIds);
|
||||
|
||||
/**
|
||||
* 获取网格列表
|
||||
*
|
||||
* @param relationId 关联ID
|
||||
* @return
|
||||
*/
|
||||
List<GridDTO> listByRelationId(String relationId);
|
||||
|
||||
/**
|
||||
* 获取网格列表
|
||||
*
|
||||
* @param relationIds 关联ID列表
|
||||
* @return
|
||||
*/
|
||||
List<GridDTO> listGroupByRelationIds(List<String> relationIds);
|
||||
|
||||
/**
|
||||
* 获取全部网格列表
|
||||
*
|
||||
* @param relationIds
|
||||
* @return
|
||||
* @throws SearchException
|
||||
*/
|
||||
List<GridDTO> listByRelationIds(List<String> relationIds);
|
||||
|
||||
/**
|
||||
* 获取网格分页列表
|
||||
*
|
||||
* @param relationIds
|
||||
* @return
|
||||
*/
|
||||
SuccessResultList<List<GridDTO>> listPageByRelationIds(ListPage page, List<String> relationIds);
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,82 @@
|
||||
package ink.wgink.module.map.service.grid.impl;
|
||||
|
||||
import ink.wgink.common.base.DefaultBaseService;
|
||||
import ink.wgink.exceptions.RemoveException;
|
||||
import ink.wgink.module.map.dao.grid.IGridPointDao;
|
||||
import ink.wgink.module.map.pojo.dto.grid.GridPointDTO;
|
||||
import ink.wgink.module.map.pojo.vo.grid.GridPointVO;
|
||||
import ink.wgink.module.map.service.grid.IGridPointService;
|
||||
import ink.wgink.util.map.HashMapUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @ClassName: GridPointServiceImpl
|
||||
* @Description: 网格点
|
||||
* @Author: wanggeng
|
||||
* @Date: 2021/8/30 10:07 下午
|
||||
* @Version: 1.0
|
||||
*/
|
||||
@Service
|
||||
public class GridPointServiceImpl extends DefaultBaseService implements IGridPointService {
|
||||
|
||||
@Autowired
|
||||
private IGridPointDao gridPointDao;
|
||||
|
||||
@Override
|
||||
public void save(String gridId, List<GridPointVO> pointArray) {
|
||||
if (pointArray == null || pointArray.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
Map<String, Object> params = getHashMap(4);
|
||||
params.put("gridId", gridId);
|
||||
for (GridPointVO gridPointVO : pointArray) {
|
||||
params.put("lng", gridPointVO.getLng());
|
||||
params.put("lat", gridPointVO.getLat());
|
||||
gridPointDao.save(params);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteByGridIds(List<String> gridIds) throws RemoveException {
|
||||
Map<String, Object> params = getHashMap(2);
|
||||
params.put("gridIds", gridIds);
|
||||
gridPointDao.delete(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updatePointArrayByGridId(String gridId, List<GridPointVO> pointArray) throws Exception {
|
||||
// 删除原有网格数组
|
||||
Map<String, Object> params = getHashMap(2);
|
||||
params.put("gridId", gridId);
|
||||
gridPointDao.delete(params);
|
||||
// 新增网格数组
|
||||
for (GridPointVO gridPointVO : pointArray) {
|
||||
params = HashMapUtil.beanToMap(gridPointVO);
|
||||
params.put("gridId", gridId);
|
||||
gridPointDao.save(params);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<GridPointDTO> list(Map<String, Object> params) {
|
||||
return gridPointDao.list(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<GridPointDTO> list(String gridId) {
|
||||
Map<String, Object> params = getHashMap(2);
|
||||
params.put("gridId", gridId);
|
||||
return list(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<GridPointDTO> list(List<String> gridIds) {
|
||||
Map<String, Object> params = getHashMap(2);
|
||||
params.put("gridIds", gridIds);
|
||||
return list(params);
|
||||
}
|
||||
}
|
@ -0,0 +1,123 @@
|
||||
package ink.wgink.module.map.service.grid.impl;
|
||||
|
||||
import ink.wgink.common.base.DefaultBaseService;
|
||||
import ink.wgink.exceptions.RemoveException;
|
||||
import ink.wgink.module.map.dao.grid.IGridRelationDao;
|
||||
import ink.wgink.module.map.pojo.dto.grid.GridRelationDTO;
|
||||
import ink.wgink.module.map.service.grid.IGridRelationService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @ClassName: GridRelationServiceImpl
|
||||
* @Description: 网格关联业务
|
||||
* @Author: wanggeng
|
||||
* @Date: 2021/8/30 10:08 下午
|
||||
* @Version: 1.0
|
||||
*/
|
||||
@Service
|
||||
public class GridRelationServiceImpl extends DefaultBaseService implements IGridRelationService {
|
||||
|
||||
@Autowired
|
||||
private IGridRelationDao gridRelationDao;
|
||||
|
||||
@Override
|
||||
public void save(String gridId, List<String> relationIdArray) {
|
||||
if (relationIdArray == null || relationIdArray.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
Map<String, Object> params = getHashMap(4);
|
||||
params.put("gridId", gridId);
|
||||
for (String relationId : relationIdArray) {
|
||||
params.put("relationId", relationId);
|
||||
gridRelationDao.save(params);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void delete(String gridId, String relationId) throws RemoveException {
|
||||
Map<String, Object> params = getHashMap(4);
|
||||
params.put("gridId", gridId);
|
||||
params.put("relationId", relationId);
|
||||
gridRelationDao.delete(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteByGridIds(List<String> gridIds) {
|
||||
Map<String, Object> params = getHashMap(2);
|
||||
params.put("gridIds", gridIds);
|
||||
gridRelationDao.delete(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteByRelationId(String relationId) {
|
||||
Map<String, Object> params = getHashMap(2);
|
||||
params.put("relationId", relationId);
|
||||
gridRelationDao.delete(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<GridRelationDTO> listByRelationId(String relationId) {
|
||||
Map<String, Object> params = getHashMap(2);
|
||||
params.put("relationId", relationId);
|
||||
return gridRelationDao.list(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<GridRelationDTO> list(Map<String, Object> params) {
|
||||
return gridRelationDao.list(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<GridRelationDTO> listByRelationIds(List<String> relationIds) {
|
||||
Map<String, Object> params = getHashMap(2);
|
||||
params.put("relationIds", relationIds);
|
||||
return list(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<GridRelationDTO> listByGridId(String gridId) {
|
||||
Map<String, Object> params = getHashMap(2);
|
||||
params.put("gridId", gridId);
|
||||
return list(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<GridRelationDTO> listByGridIds(List<String> gridIds) {
|
||||
Map<String, Object> params = getHashMap(2);
|
||||
params.put("gridIds", gridIds);
|
||||
return list(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> listGridId(String relationId) {
|
||||
List<GridRelationDTO> gridRelationDTOs = listByRelationId(relationId);
|
||||
return listGridIdByGridRelation(gridRelationDTOs);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> listGridId(List<String> relationIds) {
|
||||
List<GridRelationDTO> gridRelationDTOs = listByRelationIds(relationIds);
|
||||
return listGridIdByGridRelation(gridRelationDTOs);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取网格ID列表
|
||||
*
|
||||
* @param gridRelationDTOs
|
||||
* @return
|
||||
*/
|
||||
private List<String> listGridIdByGridRelation(List<GridRelationDTO> gridRelationDTOs) {
|
||||
if (gridRelationDTOs.isEmpty()) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
Set<String> gridIdSet = new HashSet<>();
|
||||
gridRelationDTOs.forEach(gridRelationDTO -> {
|
||||
gridIdSet.add(gridRelationDTO.getGridId());
|
||||
});
|
||||
return new ArrayList<>(gridIdSet);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,284 @@
|
||||
package ink.wgink.module.map.service.grid.impl;
|
||||
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import ink.wgink.common.base.DefaultBaseService;
|
||||
import ink.wgink.exceptions.SearchException;
|
||||
import ink.wgink.module.map.dao.grid.IGridDao;
|
||||
import ink.wgink.module.map.pojo.dto.grid.GridDTO;
|
||||
import ink.wgink.module.map.pojo.dto.grid.GridPointDTO;
|
||||
import ink.wgink.module.map.pojo.dto.grid.GridRelationDTO;
|
||||
import ink.wgink.module.map.pojo.vo.grid.GridPointVO;
|
||||
import ink.wgink.module.map.pojo.vo.grid.GridVO;
|
||||
import ink.wgink.module.map.service.grid.IGridPointService;
|
||||
import ink.wgink.module.map.service.grid.IGridRelationService;
|
||||
import ink.wgink.module.map.service.grid.IGridService;
|
||||
import ink.wgink.pojo.ListPage;
|
||||
import ink.wgink.pojo.result.SuccessResultList;
|
||||
import ink.wgink.util.UUIDUtil;
|
||||
import ink.wgink.util.map.HashMapUtil;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* When you feel like quitting. Think about why you started
|
||||
* 当你想要放弃的时候,想想当初你为何开始
|
||||
*
|
||||
* @ClassName: GridServiceImpl
|
||||
* @Description: 网格业务
|
||||
* @Author: WangGeng
|
||||
* @Date: 2020/10/21 11:14
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Service
|
||||
public class GridServiceImpl extends DefaultBaseService implements IGridService {
|
||||
|
||||
@Autowired
|
||||
private IGridDao gridDao;
|
||||
@Autowired
|
||||
private IGridRelationService gridRelationService;
|
||||
@Autowired
|
||||
private IGridPointService gridPointService;
|
||||
|
||||
@Override
|
||||
public void save(GridVO gridVO) throws Exception {
|
||||
String gridId = UUIDUtil.getUUID();
|
||||
List<String> relationIdArray = gridVO.getRelationIdArray();
|
||||
List<GridPointVO> pointArray = gridVO.getPointArray();
|
||||
// 保存网格
|
||||
Map<String, Object> params = HashMapUtil.beanToMap(gridVO);
|
||||
params.put("gridId", gridId);
|
||||
params.remove("relationIdArray");
|
||||
params.remove("pointArray");
|
||||
setSaveInfo(params);
|
||||
gridDao.save(params);
|
||||
// 保存拓展属性
|
||||
gridRelationService.save(gridId, relationIdArray);
|
||||
gridPointService.save(gridId, pointArray);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteByRelationId(String relationId) {
|
||||
List<String> gridIds = gridRelationService.listGridId(relationId);
|
||||
if (gridIds.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
Map<String, Object> params = getHashMap(2);
|
||||
params.put("gridIds", gridIds);
|
||||
// 删除网格
|
||||
gridDao.delete(params);
|
||||
// 删除网格点
|
||||
gridPointService.deleteByGridIds(gridIds);
|
||||
// 删除关联关系
|
||||
gridRelationService.deleteByRelationId(relationId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteByGridIds(List<String> gridIds) {
|
||||
if (gridIds == null || gridIds.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
// 删除网格
|
||||
Map<String, Object> params = getHashMap(2);
|
||||
params.put("gridIds", gridIds);
|
||||
gridDao.delete(params);
|
||||
// 删除点数组
|
||||
gridPointService.deleteByGridIds(gridIds);
|
||||
// 删除关联
|
||||
gridRelationService.deleteByGridIds(gridIds);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteEmpty(List<String> gridIds) {
|
||||
if (gridIds == null || gridIds.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
// 所有的网格和人员关联关系列表
|
||||
List<GridRelationDTO> gridRelationDTOs = gridRelationService.listByGridIds(gridIds);
|
||||
// 得到为空的网格
|
||||
List<String> emptyGridIds = new ArrayList<>();
|
||||
for (String gridId : gridIds) {
|
||||
boolean isEmpty = true;
|
||||
for (GridRelationDTO gridRelationDTO : gridRelationDTOs) {
|
||||
if (StringUtils.equals(gridId, gridRelationDTO.getGridId())) {
|
||||
isEmpty = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (isEmpty) {
|
||||
emptyGridIds.add(gridId);
|
||||
}
|
||||
}
|
||||
// 删除空网格
|
||||
deleteByGridIds(emptyGridIds);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<GridDTO> list(Map<String, Object> params) {
|
||||
return gridDao.list(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<GridDTO> list(List<String> gridIds) {
|
||||
Map<String, Object> params = getHashMap(2);
|
||||
params.put("gridIds", gridIds);
|
||||
return list(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<GridDTO> listByRelationId(String relationId) throws SearchException {
|
||||
if (StringUtils.isBlank(relationId)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
List<String> gridIds = gridRelationService.listGridId(relationId);
|
||||
if (gridIds.isEmpty()) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
List<GridDTO> gridDTOs = list(gridIds);
|
||||
for (GridDTO gridDTO : gridDTOs) {
|
||||
List<GridPointDTO> gridPointDTOs = gridPointService.list(gridDTO.getGridId());
|
||||
gridDTO.setPointArray(gridPointDTOs);
|
||||
}
|
||||
return gridDTOs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<GridDTO> listGroupByRelationIds(List<String> relationIds) throws SearchException {
|
||||
if (relationIds == null || relationIds.size() == 0) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
List<String> gridIds = gridRelationService.listGridId(relationIds);
|
||||
if (gridIds.isEmpty()) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
List<GridDTO> gridDTOs = list(gridIds);
|
||||
if (gridDTOs.isEmpty()) {
|
||||
return gridDTOs;
|
||||
}
|
||||
// 聚合后的网格
|
||||
List<GridDTO> gridGroupDTOs = listGridGroup(gridDTOs);
|
||||
// 只能展示包含关联人员列表的网格,比如:查询AB,那么可以展示的应该是AB...而不能是A
|
||||
for (int i = 0; i < gridGroupDTOs.size(); i++) {
|
||||
GridDTO gridDTO = gridGroupDTOs.get(i);
|
||||
// 关联人数多于片区人数,排除
|
||||
if (relationIds.size() > gridDTO.getRelationIdArray().size()) {
|
||||
gridGroupDTOs.remove(i);
|
||||
i--;
|
||||
continue;
|
||||
}
|
||||
// 判断关联人是否全部被片区包含
|
||||
boolean isAllExist = true;
|
||||
for (String relationId : relationIds) {
|
||||
if (!gridDTO.getRelationId().contains(relationId)) {
|
||||
isAllExist = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
// 不是全部包含,就删除
|
||||
if (!isAllExist) {
|
||||
gridGroupDTOs.remove(i);
|
||||
i--;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
setGridPoints(gridGroupDTOs);
|
||||
return gridGroupDTOs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<GridDTO> listByRelationIds(List<String> relationIds) throws SearchException {
|
||||
if (relationIds == null || relationIds.size() == 0) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
List<String> gridIds = gridRelationService.listGridId(relationIds);
|
||||
if (gridIds.isEmpty()) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
List<GridDTO> gridDTOs = list(gridIds);
|
||||
if (gridDTOs.isEmpty()) {
|
||||
return gridDTOs;
|
||||
}
|
||||
setGridPoints(gridDTOs);
|
||||
return gridDTOs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SuccessResultList<List<GridDTO>> listPageByRelationIds(ListPage page, List<String> relationIds) {
|
||||
if (relationIds == null || relationIds.size() == 0) {
|
||||
return new SuccessResultList<>(new ArrayList<>(), 1, 0L);
|
||||
}
|
||||
List<String> gridIds = gridRelationService.listGridId(relationIds);
|
||||
if (gridIds.isEmpty()) {
|
||||
return new SuccessResultList<>(new ArrayList<>(), 1, 0L);
|
||||
}
|
||||
PageHelper.startPage(page.getPage(), page.getRows());
|
||||
List<GridDTO> gridDTOs = list(relationIds);
|
||||
PageInfo<GridDTO> pageInfo = new PageInfo<>(gridDTOs);
|
||||
return new SuccessResultList<>(gridDTOs, pageInfo.getPageNum(), pageInfo.getTotal());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 设置网格点
|
||||
*
|
||||
* @param gridDTOs
|
||||
*/
|
||||
private void setGridPoints(List<GridDTO> gridDTOs) {
|
||||
if (gridDTOs.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
List<String> gridIds = new ArrayList<>();
|
||||
for (GridDTO gridDTO : gridDTOs) {
|
||||
gridIds.add(gridDTO.getGridId());
|
||||
}
|
||||
// 获取所有点
|
||||
List<GridPointDTO> gridPointDTOs = gridPointService.list(gridIds);
|
||||
if (gridPointDTOs.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
// 构建所有点
|
||||
for (GridDTO gridDTO : gridDTOs) {
|
||||
List<GridPointDTO> pointArray = new ArrayList<>();
|
||||
for (GridPointDTO gridPointDTO : gridPointDTOs) {
|
||||
if (StringUtils.equals(gridDTO.getGridId(), gridPointDTO.getGridId())) {
|
||||
pointArray.add(gridPointDTO);
|
||||
}
|
||||
}
|
||||
gridDTO.setPointArray(pointArray);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 得到聚合后的列表
|
||||
*
|
||||
* @param gridDTOs
|
||||
* @return
|
||||
*/
|
||||
private List<GridDTO> listGridGroup(List<GridDTO> gridDTOs) {
|
||||
Map<String, GridDTO> gridMap = new HashMap<>(16);
|
||||
for (GridDTO gridDTO : gridDTOs) {
|
||||
GridDTO grid = gridMap.get(gridDTO.getGridId());
|
||||
if (grid == null) {
|
||||
grid = gridDTO;
|
||||
List<String> getRelationIdArray = new ArrayList<>();
|
||||
getRelationIdArray.add(gridDTO.getRelationId());
|
||||
gridDTO.setRelationIdArray(getRelationIdArray);
|
||||
gridMap.put(gridDTO.getGridId(), gridDTO);
|
||||
}
|
||||
// 合并relationId
|
||||
grid.getRelationIdArray().add(gridDTO.getRelationId());
|
||||
}
|
||||
List<GridDTO> gridGroups = new ArrayList<>();
|
||||
for (Map.Entry<String, GridDTO> kv : gridMap.entrySet()) {
|
||||
GridDTO gridDTO = kv.getValue();
|
||||
Collections.sort(gridDTO.getRelationIdArray());
|
||||
gridDTO.setRelationId(gridDTO.getRelationIdArray().toString());
|
||||
gridGroups.add(gridDTO);
|
||||
}
|
||||
return gridGroups;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,131 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="ink.wgink.module.map.dao.grid.IGridDao">
|
||||
|
||||
<cache/>
|
||||
|
||||
<resultMap id="gridDTO" type="ink.wgink.module.map.pojo.dto.grid.GridDTO">
|
||||
<id column="grid_id" property="gridId"/>
|
||||
<result column="fill_color" property="fillColor"/>
|
||||
<result column="grid_name" property="gridName"/>
|
||||
<result column="relation_id" property="relationId"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 建表 -->
|
||||
<update id="createTable">
|
||||
CREATE TABLE `map_grid` (
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`grid_id` char(36) NOT NULL,
|
||||
`grid_name` varchar(255) NOT NULL,
|
||||
`fill_color` varchar(7) NOT NULL DEFAULT '#000000' COMMENT '颜色',
|
||||
`gmt_create` datetime DEFAULT NULL,
|
||||
`creator` char(36) DEFAULT NULL,
|
||||
`gmt_modified` datetime DEFAULT NULL,
|
||||
`modifier` char(36) DEFAULT NULL,
|
||||
`is_delete` int(1) DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `grid_id` (`grid_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='网格';
|
||||
</update>
|
||||
|
||||
<!-- 保存网格 -->
|
||||
<insert id="save" parameterType="map" flushCache="true">
|
||||
INSERT INTO map_grid(
|
||||
grid_id,
|
||||
grid_name,
|
||||
fill_color,
|
||||
gmt_create,
|
||||
creator,
|
||||
gmt_modified,
|
||||
modifier,
|
||||
is_delete
|
||||
) VALUES(
|
||||
#{gridId},
|
||||
#{gridName},
|
||||
#{fillColor},
|
||||
#{gmtCreate},
|
||||
#{creator},
|
||||
#{gmtModified},
|
||||
#{modifier},
|
||||
#{isDelete}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 删除网格 -->
|
||||
<delete id="delete" parameterType="map" flushCache="true">
|
||||
DELETE FROM
|
||||
map_grid
|
||||
WHERE
|
||||
<if test="gridId != null and gridId != ''">
|
||||
grid_id = #{gridId}
|
||||
</if>
|
||||
<if test="gridIds != null and gridIds.size > 0">
|
||||
grid_id IN
|
||||
<foreach collection="gridIds" index="index" open="(" separator="," close=")">
|
||||
#{gridIds[${index}]}
|
||||
</foreach>
|
||||
</if>
|
||||
</delete>
|
||||
|
||||
<!-- 获取网格列表(通过关联ID) -->
|
||||
<select id="listGridByRelationId" parameterType="java.lang.String" resultMap="gridDTO" useCache="true">
|
||||
SELECT
|
||||
t1.grid_id,
|
||||
t1.fill_color,
|
||||
t1.grid_name,
|
||||
t2.relation_id
|
||||
FROM
|
||||
map_grid t1
|
||||
LEFT JOIN
|
||||
map_grid_relation t2
|
||||
ON
|
||||
t1.grid_id = t2.grid_id
|
||||
WHERE
|
||||
t1.is_delete = 0
|
||||
AND
|
||||
t2.relation_id = #{_parameter}
|
||||
</select>
|
||||
|
||||
<!-- 网格列表 -->
|
||||
<select id="list" parameterType="map" resultMap="gridDTO" useCache="true">
|
||||
SELECT
|
||||
t1.grid_id,
|
||||
t1.fill_color,
|
||||
t1.grid_name
|
||||
FROM
|
||||
map_grid t1
|
||||
WHERE
|
||||
t1.is_delete = 0
|
||||
<if test="gridIds != null and gridIds.size > 0">
|
||||
AND
|
||||
t1.grid_id IN
|
||||
<foreach collection="gridIds" index="index" open="(" separator="," close=")">
|
||||
#{gridIds[${index}]}
|
||||
</foreach>
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<!-- 网格列表(group) -->
|
||||
<select id="listGroup" parameterType="map" resultMap="gridDTO" useCache="true">
|
||||
SELECT
|
||||
t1.grid_id,
|
||||
t1.fill_color,
|
||||
t1.grid_name
|
||||
FROM
|
||||
map_grid t1
|
||||
WHERE
|
||||
t1.is_delete = 0
|
||||
<if test="gridIds != null and gridIds.size > 0">
|
||||
AND
|
||||
t1.grid_id IN
|
||||
<foreach collection="gridIds" index="index" open="(" separator="," close=")">
|
||||
#{gridIds[${index}]}
|
||||
</foreach>
|
||||
</if>
|
||||
GROUP BY
|
||||
t1.grid_id,
|
||||
t1.fill_color,
|
||||
t1.grid_name
|
||||
</select>
|
||||
|
||||
</mapper>
|
@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="ink.wgink.module.map.dao.grid.IGridPointDao">
|
||||
|
||||
<cache/>
|
||||
|
||||
<resultMap id="gridPointDTO" type="ink.wgink.module.map.pojo.dto.grid.GridPointDTO">
|
||||
<id column="grid_id" property="gridId"/>
|
||||
<result column="lng" property="lng"/>
|
||||
<result column="lat" property="lat"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 建表 -->
|
||||
<update id="createTable">
|
||||
CREATE TABLE `map_grid_point` (
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`grid_id` char(36) NOT NULL,
|
||||
`lng` varchar(255) DEFAULT NULL COMMENT '点经度',
|
||||
`lat` varchar(255) DEFAULT NULL COMMENT '点纬度',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `grid_id` (`grid_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='网格点';
|
||||
</update>
|
||||
|
||||
<!-- 保存网格点 -->
|
||||
<insert id="save" parameterType="map" flushCache="true">
|
||||
INSERT INTO map_grid_point(
|
||||
grid_id,
|
||||
lng,
|
||||
lat
|
||||
) VALUES(
|
||||
#{gridId},
|
||||
#{lng},
|
||||
#{lat}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 删除网格点 -->
|
||||
<delete id="delete" parameterType="map" flushCache="true">
|
||||
DELETE FROM
|
||||
map_grid_point
|
||||
WHERE
|
||||
<if test="gridId != null and gridId != ''">
|
||||
grid_id = #{gridId}
|
||||
</if>
|
||||
<if test="gridIds != null and gridIds.size > 0">
|
||||
grid_id IN
|
||||
<foreach collection="gridIds" index="index" open="(" separator="," close=")">
|
||||
#{gridIds[${index}]}
|
||||
</foreach>
|
||||
</if>
|
||||
</delete>
|
||||
|
||||
<!-- 获取网格点列表(通过网格ID) -->
|
||||
<select id="list" parameterType="map" resultMap="gridPointDTO" useCache="true">
|
||||
SELECT
|
||||
grid_id,
|
||||
lng,
|
||||
lat
|
||||
FROM
|
||||
map_grid_point
|
||||
<where>
|
||||
<if test="gridId != null and gridId != ''">
|
||||
grid_id = #{gridId}
|
||||
</if>
|
||||
<if test="gridIds != null and gridIds.size > 0">
|
||||
AND
|
||||
grid_id IN
|
||||
<foreach collection="gridIds" index="index" open="(" separator="," close=")">
|
||||
#{gridIds[${index}]}
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
</mapper>
|
@ -0,0 +1,89 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="ink.wgink.module.map.dao.grid.IGridRelationDao">
|
||||
|
||||
<cache/>
|
||||
|
||||
<resultMap id="gridRelationDTO" type="ink.wgink.module.map.pojo.dto.grid.GridRelationDTO">
|
||||
<id column="relation_id" property="relationId"/>
|
||||
<result column="grid_id" property="gridId"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 建表 -->
|
||||
<update id="createTable">
|
||||
CREATE TABLE `map_grid_relation` (
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`relation_id` char(36) NOT NULL COMMENT '关联ID',
|
||||
`grid_id` char(36) NOT NULL COMMENT '网格ID',
|
||||
PRIMARY KEY (`id`,`relation_id`),
|
||||
KEY `relation_id` (`relation_id`) USING BTREE,
|
||||
KEY `grid_id` (`grid_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='网格与关联';
|
||||
</update>
|
||||
|
||||
<!-- 保存网格关联关系 -->
|
||||
<insert id="save" parameterType="map" flushCache="true">
|
||||
INSERT INTO map_grid_relation(
|
||||
grid_id,
|
||||
relation_id
|
||||
) VALUES(
|
||||
#{gridId},
|
||||
#{relationId}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 删除网格关联关系 -->
|
||||
<delete id="delete" parameterType="map" flushCache="true">
|
||||
DELETE FROM
|
||||
map_grid_relation
|
||||
<where>
|
||||
<if test="gridId != null and gridId != ''">
|
||||
grid_id = #{gridId}
|
||||
</if>
|
||||
<if test="gridIds != null and gridIds.size > 0">
|
||||
AND
|
||||
grid_id IN
|
||||
<foreach collection="gridIds" index="index" open="(" separator="," close=")">
|
||||
#{gridIds[${index}]}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="relationId != null and relationId != ''">
|
||||
AND
|
||||
relation_id = #{relationId}
|
||||
</if>
|
||||
</where>
|
||||
</delete>
|
||||
|
||||
<!-- 获取关联关系列表 -->
|
||||
<select id="list" parameterType="map" resultMap="gridRelationDTO" useCache="true">
|
||||
SELECT
|
||||
relation_id,
|
||||
grid_id
|
||||
FROM
|
||||
map_grid_relation
|
||||
<where>
|
||||
<if test="relationId != null">
|
||||
relation_id = #{relationId}
|
||||
</if>
|
||||
<if test="relationIds != null and relationIds.size > 0">
|
||||
AND
|
||||
relation_id IN
|
||||
<foreach collection="relationIds" index="index" open="(" separator="," close=")">
|
||||
#{relationIds[${index}]}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="gridId != null and gridId != ''">
|
||||
AND
|
||||
grid_id = #{gridId}
|
||||
</if>
|
||||
<if test="gridIds != null and gridIds.size > 0">
|
||||
AND
|
||||
grid_id IN
|
||||
<foreach collection="gridIds" index="index" open="(" separator="," close=")">
|
||||
#{gridIds[${index}]}
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
</mapper>
|
Loading…
Reference in New Issue
Block a user