完善地图模块功能
This commit is contained in:
parent
fc75b13e78
commit
d93cd3042c
@ -3,6 +3,7 @@ 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.exceptions.UpdateException;
|
||||
import ink.wgink.interfaces.init.IInitBaseTable;
|
||||
import ink.wgink.module.map.pojo.dto.grid.GridDTO;
|
||||
import org.springframework.stereotype.Repository;
|
||||
@ -38,6 +39,14 @@ public interface IGridDao extends IInitBaseTable {
|
||||
*/
|
||||
void delete(Map<String, Object> params) throws RemoveException;
|
||||
|
||||
/**
|
||||
* 更新网格
|
||||
*
|
||||
* @param params
|
||||
* @throws UpdateException
|
||||
*/
|
||||
void update(Map<String, Object> params) throws UpdateException;
|
||||
|
||||
/**
|
||||
* 获取网格列表
|
||||
*
|
||||
|
@ -24,6 +24,13 @@ public interface IGridPointService {
|
||||
*/
|
||||
void save(String gridId, List<GridPointVO> pointArray);
|
||||
|
||||
/**
|
||||
* 删除网格点
|
||||
*
|
||||
* @param gridId
|
||||
*/
|
||||
void deleteByGridId(String gridId);
|
||||
|
||||
/**
|
||||
* 删除网格点
|
||||
*
|
||||
|
@ -61,6 +61,15 @@ public interface IGridService {
|
||||
*/
|
||||
void deleteEmpty(List<String> gridIds);
|
||||
|
||||
/**
|
||||
* 更新网格
|
||||
*
|
||||
* @param gridId 网格ID
|
||||
* @param gridVO 更新内容
|
||||
* @throws Exception
|
||||
*/
|
||||
void update(String gridId, GridVO gridVO) throws Exception;
|
||||
|
||||
/**
|
||||
* 网格列表
|
||||
*
|
||||
|
@ -10,6 +10,7 @@ import ink.wgink.util.map.HashMapUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@ -40,6 +41,13 @@ public class GridPointServiceImpl extends DefaultBaseService implements IGridPoi
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteByGridId(String gridId) {
|
||||
List<String> gridIds = new ArrayList<>();
|
||||
gridIds.add(gridId);
|
||||
deleteByGridIds(gridIds);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteByGridIds(List<String> gridIds) throws RemoveException {
|
||||
Map<String, Object> params = getHashMap(2);
|
||||
|
@ -17,6 +17,7 @@ import ink.wgink.pojo.ListPage;
|
||||
import ink.wgink.pojo.result.SuccessResultList;
|
||||
import ink.wgink.util.UUIDUtil;
|
||||
import ink.wgink.util.map.HashMapUtil;
|
||||
import ink.wgink.util.string.WStringUtil;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -122,9 +123,19 @@ public class GridServiceImpl extends DefaultBaseService implements IGridService
|
||||
deleteByGridIds(emptyGridIds);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(String gridId, GridVO gridVO) throws Exception {
|
||||
Map<String, Object> params = HashMapUtil.beanToMap(gridVO);
|
||||
setUpdateInfo(params);
|
||||
gridDao.update(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<GridDTO> list(Map<String, Object> params) {
|
||||
return gridDao.list(params);
|
||||
List<GridDTO> gridDTOs = gridDao.list(params);
|
||||
setGridPoints(gridDTOs);
|
||||
setGridRelation(gridDTOs);
|
||||
return gridDTOs;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -143,12 +154,7 @@ public class GridServiceImpl extends DefaultBaseService implements IGridService
|
||||
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;
|
||||
return list(gridIds);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -190,7 +196,6 @@ public class GridServiceImpl extends DefaultBaseService implements IGridService
|
||||
continue;
|
||||
}
|
||||
}
|
||||
setGridPoints(gridGroupDTOs);
|
||||
return gridGroupDTOs;
|
||||
}
|
||||
|
||||
@ -207,7 +212,6 @@ public class GridServiceImpl extends DefaultBaseService implements IGridService
|
||||
if (gridDTOs.isEmpty()) {
|
||||
return gridDTOs;
|
||||
}
|
||||
setGridPoints(gridDTOs);
|
||||
return gridDTOs;
|
||||
}
|
||||
|
||||
@ -258,7 +262,39 @@ public class GridServiceImpl extends DefaultBaseService implements IGridService
|
||||
}
|
||||
|
||||
/**
|
||||
* 得到聚合后的列表
|
||||
* 设置关联
|
||||
*
|
||||
* @param gridDTOs 网格点
|
||||
*/
|
||||
private void setGridRelation(List<GridDTO> gridDTOs) {
|
||||
if (gridDTOs.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
List<String> gridIds = new ArrayList<>();
|
||||
for (GridDTO gridDTO : gridDTOs) {
|
||||
gridIds.add(gridDTO.getGridId());
|
||||
}
|
||||
List<GridRelationDTO> gridRelationDTOs = gridRelationService.listByGridIds(gridIds);
|
||||
if (gridRelationDTOs.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
for (GridDTO gridDTO : gridDTOs) {
|
||||
for (GridRelationDTO gridRelationDTO : gridRelationDTOs) {
|
||||
if (StringUtils.equals(gridDTO.getGridId(), gridRelationDTO.getGridId())) {
|
||||
List<String> gridRelationIds = gridDTO.getRelationIdArray();
|
||||
if (gridRelationIds == null || gridRelationIds.isEmpty()) {
|
||||
gridRelationIds = new ArrayList<>();
|
||||
gridDTO.setRelationIdArray(gridRelationIds);
|
||||
}
|
||||
gridRelationIds.add(gridRelationDTO.getRelationId());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 得到聚合后的列表(共有的
|
||||
*
|
||||
* @param gridDTOs
|
||||
* @return
|
||||
@ -266,22 +302,15 @@ public class GridServiceImpl extends DefaultBaseService implements IGridService
|
||||
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);
|
||||
if (gridMap.get(gridDTO.getGridId()) == null) {
|
||||
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());
|
||||
gridDTO.setRelationId(WStringUtil.listToStr(gridDTO.getRelationIdArray(), ","));
|
||||
gridGroups.add(gridDTO);
|
||||
}
|
||||
return gridGroups;
|
||||
|
@ -67,6 +67,23 @@
|
||||
</if>
|
||||
</delete>
|
||||
|
||||
<!-- 更新网格 -->
|
||||
<delete id="update" parameterType="map" flushCache="true">
|
||||
UPDATE
|
||||
map_grid
|
||||
SET
|
||||
<if test="gridName != null and gridName != ''">
|
||||
grid_name = #{gridName},
|
||||
</if>
|
||||
<if test="fillColor != null and fillColor != ''">
|
||||
fill_color = #{fillColor},
|
||||
</if>
|
||||
gmt_modified = #{gmtModified},
|
||||
modifier = #{modifier}
|
||||
WHERE
|
||||
grid_id = #{gridId}
|
||||
</delete>
|
||||
|
||||
<!-- 网格列表 -->
|
||||
<select id="list" parameterType="map" resultMap="gridDTO" useCache="true">
|
||||
SELECT
|
||||
|
@ -48,7 +48,7 @@ function BaiduMap(mapId, mapConfig) {
|
||||
STROKE_BACKGROUND_COLOR: '#000000',
|
||||
STROKE_WEIGHT: 1,
|
||||
STROKE_BACKGROUND_WEIGHT: 1,
|
||||
STROKE_WEIGHT_FOCUS: 2,
|
||||
STROKE_WEIGHT_FOCUS: 5,
|
||||
STROKE_OPACITY: 0.5,
|
||||
STROKE_BACKGROUND_OPACITY: 0.5,
|
||||
FILL_COLOR: '#000000',
|
||||
|
Loading…
Reference in New Issue
Block a user