From 1ca53fbfcb76c9f7371a129d25a0778d6230eef6 Mon Sep 17 00:00:00 2001 From: wanggeng <450292408@qq.com> Date: Mon, 27 Dec 2021 15:50:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=BD=91=E6=A0=BC=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E5=90=8E=E7=9A=84=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/api/grid/GridAppController.java | 16 ++++++- .../service/grid/IGridRelationService.java | 8 ++++ .../module/map/service/grid/IGridService.java | 7 +++ .../grid/impl/GridRelationServiceImpl.java | 48 +++++++++++++++++++ .../service/grid/impl/GridServiceImpl.java | 9 ++++ 5 files changed, 87 insertions(+), 1 deletion(-) diff --git a/module-map/src/main/java/ink/wgink/module/map/controller/app/api/grid/GridAppController.java b/module-map/src/main/java/ink/wgink/module/map/controller/app/api/grid/GridAppController.java index 5f4343af..37032951 100644 --- a/module-map/src/main/java/ink/wgink/module/map/controller/app/api/grid/GridAppController.java +++ b/module-map/src/main/java/ink/wgink/module/map/controller/app/api/grid/GridAppController.java @@ -32,7 +32,7 @@ public class GridAppController extends DefaultBaseController { @ApiOperation(value = "网格详情", notes = "网格详情接口") @ApiImplicitParams({ @ApiImplicitParam(name = "token", value = "token", paramType = "header"), - @ApiImplicitParam(name = "gridIdId", value = "网格ID", paramType = "path") + @ApiImplicitParam(name = "gridId", value = "网格ID", paramType = "path") }) @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) @GetMapping("get/{gridId}") @@ -54,6 +54,7 @@ public class GridAppController extends DefaultBaseController { @ApiOperation(value = "网格列表", notes = "网格列表接口") @ApiImplicitParams({ @ApiImplicitParam(name = "token", value = "token", paramType = "header"), + @ApiImplicitParam(name = "areaCode", value = "地区编码", paramType = "path"), }) @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) @GetMapping("list/area-code/{areaCode}") @@ -65,6 +66,7 @@ public class GridAppController extends DefaultBaseController { @ApiOperation(value = "网格(排除查询网格)列表", notes = "网格(排除查询网格)列表接口") @ApiImplicitParams({ @ApiImplicitParam(name = "token", value = "token", paramType = "header"), + @ApiImplicitParam(name = "gridId", value = "网格ID", paramType = "path"), }) @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) @GetMapping("list/except/{gridId}") @@ -94,6 +96,7 @@ public class GridAppController extends DefaultBaseController { @ApiOperation(value = "网格分页列表", notes = "网格分页列表接口") @ApiImplicitParams({ @ApiImplicitParam(name = "token", value = "token", paramType = "header"), + @ApiImplicitParam(name = "areaCode", value = "地区编码", paramType = "path", dataType = "String"), @ApiImplicitParam(name = "page", value = "当前页码", paramType = "query", dataType = "int", defaultValue = "1"), @ApiImplicitParam(name = "rows", value = "显示数量", paramType = "query", dataType = "int", defaultValue = "20"), @ApiImplicitParam(name = "keywords", value = "关键字", paramType = "query", dataType = "String"), @@ -108,4 +111,15 @@ public class GridAppController extends DefaultBaseController { return gridService.listPageByAreaCode(areaCode, page); } + @ApiOperation(value = "关联网格列表", notes = "关联网格列表接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "token", value = "token", paramType = "header"), + @ApiImplicitParam(name = "relationId", value = "关联ID,如用户时为userId", paramType = "path"), + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @GetMapping("list-with-point/relation-id/{relationId}") + public List listWithPointByRelationId(@RequestHeader("token") String token, @PathVariable("relationId") String relationId) { + return gridService.listWithPointByRelationId(relationId); + } + } diff --git a/module-map/src/main/java/ink/wgink/module/map/service/grid/IGridRelationService.java b/module-map/src/main/java/ink/wgink/module/map/service/grid/IGridRelationService.java index 37bbf78a..206b3539 100644 --- a/module-map/src/main/java/ink/wgink/module/map/service/grid/IGridRelationService.java +++ b/module-map/src/main/java/ink/wgink/module/map/service/grid/IGridRelationService.java @@ -123,4 +123,12 @@ public interface IGridRelationService { */ List listRelationId(String gridId); + /** + * 网格关联ID列表 + * + * @param gridIds + * @return + */ + List listRelationId(List gridIds); + } diff --git a/module-map/src/main/java/ink/wgink/module/map/service/grid/IGridService.java b/module-map/src/main/java/ink/wgink/module/map/service/grid/IGridService.java index fc7ec0bc..a1bcbb99 100644 --- a/module-map/src/main/java/ink/wgink/module/map/service/grid/IGridService.java +++ b/module-map/src/main/java/ink/wgink/module/map/service/grid/IGridService.java @@ -261,4 +261,11 @@ public interface IGridService { */ SuccessResultList> listPageByAreaCode(String areaCode, ListPage page); + /** + * 关系网格列表 + * + * @param relationId + * @return + */ + List listWithPointByRelationId(String relationId); } diff --git a/module-map/src/main/java/ink/wgink/module/map/service/grid/impl/GridRelationServiceImpl.java b/module-map/src/main/java/ink/wgink/module/map/service/grid/impl/GridRelationServiceImpl.java index f2255cf1..1012480a 100644 --- a/module-map/src/main/java/ink/wgink/module/map/service/grid/impl/GridRelationServiceImpl.java +++ b/module-map/src/main/java/ink/wgink/module/map/service/grid/impl/GridRelationServiceImpl.java @@ -2,6 +2,8 @@ package ink.wgink.module.map.service.grid.impl; import ink.wgink.common.base.DefaultBaseService; import ink.wgink.exceptions.RemoveException; +import ink.wgink.interfaces.map.IGridRelationDeleteAfterHandler; +import ink.wgink.interfaces.map.IGridRelationSaveAfterHandler; import ink.wgink.module.map.dao.grid.IGridRelationDao; import ink.wgink.module.map.pojo.dtos.grid.GridRelationDTO; import ink.wgink.module.map.service.grid.IGridRelationService; @@ -22,6 +24,10 @@ public class GridRelationServiceImpl extends DefaultBaseService implements IGrid @Autowired private IGridRelationDao gridRelationDao; + @Autowired(required = false) + private IGridRelationSaveAfterHandler gridRelationSaveAfterHandler; + @Autowired(required = false) + private IGridRelationDeleteAfterHandler gridRelationDeleteAfterHandler; @Override public void save(String gridId, List relationIdArray) { @@ -35,36 +41,54 @@ public class GridRelationServiceImpl extends DefaultBaseService implements IGrid params.put("relationId", relationId); gridRelationDao.save(params); } + gridRelationSaveAfterHandler.handle(relationIdArray); } @Override public void delete(String gridId) { + List relationIds = listRelationId(gridId); Map params = getHashMap(2); params.put("gridId", gridId); gridRelationDao.delete(params); + if (gridRelationDeleteAfterHandler != null) { + gridRelationDeleteAfterHandler.handle(relationIds); + } } @Override public void delete(String gridId, String relationId) throws RemoveException { + List existRelationIds = listRelationIdByGridIdAndRelationIds(gridId, Arrays.asList(relationId)); Map params = getHashMap(4); params.put("gridId", gridId); params.put("relationId", relationId); gridRelationDao.delete(params); + if (gridRelationDeleteAfterHandler != null) { + gridRelationDeleteAfterHandler.handle(existRelationIds); + } } + @Override public void delete(String gridId, List relationIds) { + List existRelationIds = listRelationIdByGridIdAndRelationIds(gridId, relationIds); Map params = getHashMap(4); params.put("gridId", gridId); params.put("relationIds", relationIds); gridRelationDao.delete(params); + if (gridRelationDeleteAfterHandler != null) { + gridRelationDeleteAfterHandler.handle(existRelationIds); + } } @Override public void deleteByGridIds(List gridIds) { + List existRelationIds = listRelationId(gridIds); Map params = getHashMap(2); params.put("gridIds", gridIds); gridRelationDao.delete(params); + if (gridRelationDeleteAfterHandler != null) { + gridRelationDeleteAfterHandler.handle(existRelationIds); + } } @Override @@ -72,6 +96,9 @@ public class GridRelationServiceImpl extends DefaultBaseService implements IGrid Map params = getHashMap(2); params.put("relationId", relationId); gridRelationDao.delete(params); + if (gridRelationDeleteAfterHandler != null) { + gridRelationDeleteAfterHandler.handle(Arrays.asList(relationId)); + } } @Override @@ -125,6 +152,12 @@ public class GridRelationServiceImpl extends DefaultBaseService implements IGrid return listRelationIdByGridRelation(gridRelationDTOs); } + @Override + public List listRelationId(List gridIds) { + List gridRelationDTOs = listByGridIds(gridIds); + return listRelationIdByGridRelation(gridRelationDTOs); + } + /** * 获取网格ID列表 * @@ -142,6 +175,21 @@ public class GridRelationServiceImpl extends DefaultBaseService implements IGrid return new ArrayList<>(gridIdSet); } + /** + * 获取网格ID列表 + * + * @param gridId + * @param relationIds + * @return + */ + private List listRelationIdByGridIdAndRelationIds(String gridId, List relationIds) { + Map params = getHashMap(2); + params.put("gridId", gridId); + params.put("relationIds", relationIds); + List gridRelationDTOs = list(params); + return listGridIdByGridRelation(gridRelationDTOs); + } + /** * 获取网格ID列表 * diff --git a/module-map/src/main/java/ink/wgink/module/map/service/grid/impl/GridServiceImpl.java b/module-map/src/main/java/ink/wgink/module/map/service/grid/impl/GridServiceImpl.java index b0b762ff..623a0115 100644 --- a/module-map/src/main/java/ink/wgink/module/map/service/grid/impl/GridServiceImpl.java +++ b/module-map/src/main/java/ink/wgink/module/map/service/grid/impl/GridServiceImpl.java @@ -394,6 +394,15 @@ public class GridServiceImpl extends DefaultBaseService implements IGridService return listPage(page); } + @Override + public List listWithPointByRelationId(String relationId) { + List gridDTOs = listByRelationId(relationId); + gridDTOs.forEach(gridDTO -> { + gridDTO.setPointArray(gridPointService.list(gridDTO.getGridId())); + }); + return gridDTOs; + } + /** * 设置网格点 *