From 328f0a06ebe1377c83a32bb1a73d15e4df98a1ee Mon Sep 17 00:00:00 2001 From: wanggeng <450292408@qq.com> Date: Mon, 21 Mar 2022 14:33:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=BD=91=E6=A0=BC=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E5=85=B3=E8=81=94=E8=A7=A3=E9=99=A4=E7=BB=91=E5=AE=9A?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/api/grid/GridAppController.java | 66 +++++++++++++++++++ .../app/api/grid/GridUserAppController.java | 51 ++++++++++++++ .../module/map/dao/grid/IGridRelationDao.java | 8 +++ .../service/grid/IGridRelationService.java | 8 +++ .../module/map/service/grid/IGridService.java | 36 ++++++++++ .../map/service/grid/IGridUserService.java | 16 +++++ .../grid/impl/GridRelationServiceImpl.java | 12 +++- .../service/grid/impl/GridServiceImpl.java | 28 ++++++++ .../grid/impl/GridUserServiceImpl.java | 17 +++++ .../mybatis/mapper/grid/grid-mapper.xml | 22 +++++++ .../mapper/grid/grid-relation-mapper.xml | 14 ++++ 11 files changed, 277 insertions(+), 1 deletion(-) create mode 100644 module-map/src/main/java/ink/wgink/module/map/controller/app/api/grid/GridUserAppController.java 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 13993e3c..0bceb8b2 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 @@ -129,4 +129,70 @@ public class GridAppController extends DefaultBaseController { return gridService.listWithPointByRelationId(relationId); } + @ApiOperation(value = "我的网格列表", notes = "我的网格列表接口") + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @GetMapping("list-of-mine") + public List listOfMine(@RequestHeader("token") String token, @RequestParam(name = "areaCodeLike", required = false) String areaCodeLike) { + if (!StringUtils.isBlank(areaCodeLike)) { + areaCodeLike = WStringUtil.cutContinuityRepeatCharDesc(areaCodeLike, '0', 3); + } + Map params = requestParams(); + params.put("areaCodeLike", areaCodeLike); + return gridService.listOfMine(token, params); + } + + @ApiOperation(value = "我的网格分页列表", notes = "我的网格分页列表接口") + @ApiImplicitParams({ + @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"), + @ApiImplicitParam(name = "startTime", value = "开始时间", paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "endTime", value = "结束时间", paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "areaCodeLike", value = "地区编码", paramType = "query", dataType = "String") + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @GetMapping("listpage-of-mine") + public SuccessResultList> listPageOfMine(@RequestHeader("token") String token, @RequestParam(name = "areaCodeLike", required = false) String areaCodeLike, ListPage page) { + if (!StringUtils.isBlank(areaCodeLike)) { + areaCodeLike = WStringUtil.cutContinuityRepeatCharDesc(areaCodeLike, '0', 3); + } + Map params = requestParams(); + params.put("areaCodeLike", areaCodeLike); + page.setParams(params); + return gridService.listPageOfMine(token, page); + } + + @ApiOperation(value = "不是我的网格列表", notes = "不是我的网格列表接口") + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @GetMapping("list-not-mine") + public List listNotMine(@RequestHeader("token") String token, @RequestParam(name = "areaCodeLike", required = false) String areaCodeLike) { + if (!StringUtils.isBlank(areaCodeLike)) { + areaCodeLike = WStringUtil.cutContinuityRepeatCharDesc(areaCodeLike, '0', 3); + } + Map params = requestParams(); + params.put("areaCodeLike", areaCodeLike); + return gridService.listNotMine(token, params); + } + + @ApiOperation(value = "不是我的网格分页列表", notes = "不是我的网格分页列表接口") + @ApiImplicitParams({ + @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"), + @ApiImplicitParam(name = "startTime", value = "开始时间", paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "endTime", value = "结束时间", paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "areaCodeLike", value = "地区编码", paramType = "query", dataType = "String") + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @GetMapping("listpage-not-mine") + public SuccessResultList> listPageNotMine(@RequestHeader("token") String token, @RequestParam(name = "areaCodeLike", required = false) String areaCodeLike, ListPage page) { + if (!StringUtils.isBlank(areaCodeLike)) { + areaCodeLike = WStringUtil.cutContinuityRepeatCharDesc(areaCodeLike, '0', 3); + } + Map params = requestParams(); + params.put("areaCodeLike", areaCodeLike); + page.setParams(params); + return gridService.listPageNotMine(token, page); + } + } diff --git a/module-map/src/main/java/ink/wgink/module/map/controller/app/api/grid/GridUserAppController.java b/module-map/src/main/java/ink/wgink/module/map/controller/app/api/grid/GridUserAppController.java new file mode 100644 index 00000000..f3997cf8 --- /dev/null +++ b/module-map/src/main/java/ink/wgink/module/map/controller/app/api/grid/GridUserAppController.java @@ -0,0 +1,51 @@ +package ink.wgink.module.map.controller.app.api.grid; + +import ink.wgink.annotation.CheckRequestBodyAnnotation; +import ink.wgink.common.base.DefaultBaseController; +import ink.wgink.interfaces.consts.ISystemConstant; +import ink.wgink.module.map.service.grid.IGridUserService; +import ink.wgink.pojo.result.ErrorResult; +import ink.wgink.pojo.result.SuccessResult; +import io.swagger.annotations.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @ClassName: GridUserController + * @Description: 网格用户 + * @Author: wanggeng + * @Date: 2021/10/20 5:42 下午 + * @Version: 1.0 + */ +@Api(tags = ISystemConstant.API_TAGS_SYSTEM_PREFIX + "网格用户接口") +@RestController +@RequestMapping(ISystemConstant.API_PREFIX + "/grid/user") +public class GridUserAppController extends DefaultBaseController { + + @Autowired + private IGridUserService gridUserService; + + @ApiOperation(value = "新增我的网格", notes = "新增我的网格接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "gridIdId", value = "网格ID", paramType = "path") + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @PutMapping("save-of-mine/{gridId}") + @CheckRequestBodyAnnotation + public SuccessResult saveOfMine(@RequestHeader() String token, @PathVariable("gridId") String gridId) throws Exception { + gridUserService.saveOfMine(token, gridId); + return new SuccessResult(); + } + + @ApiOperation(value = "删除我的网格", notes = "删除我的网格接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "gridId", value = "网格ID", paramType = "path") + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @DeleteMapping("delete-of-mine/{gridId}") + public SuccessResult deleteOfMine(@RequestHeader("token") String token, @PathVariable("gridId") String gridId) { + gridUserService.deleteOfMine(token, gridId); + return new SuccessResult(); + } + +} diff --git a/module-map/src/main/java/ink/wgink/module/map/dao/grid/IGridRelationDao.java b/module-map/src/main/java/ink/wgink/module/map/dao/grid/IGridRelationDao.java index 0d816317..83af215a 100644 --- a/module-map/src/main/java/ink/wgink/module/map/dao/grid/IGridRelationDao.java +++ b/module-map/src/main/java/ink/wgink/module/map/dao/grid/IGridRelationDao.java @@ -39,6 +39,14 @@ public interface IGridRelationDao extends IInitBaseTable { */ void delete(Map params) throws RemoveException; + /** + * 网格关联详情 + * @param params + * @return + * @throws SearchException + */ + GridRelationDTO get(Map params) throws SearchException; + /** * 网关关联列表 * 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 206b3539..380f4140 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 @@ -131,4 +131,12 @@ public interface IGridRelationService { */ List listRelationId(List gridIds); + /** + * 网格关联详情 + * + * @param gridId 网格ID + * @param relationId 关联ID + * @return + */ + GridRelationDTO getByGridIdAndRelationId(String gridId, String relationId); } 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 8777889f..a1cea71a 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 @@ -277,4 +277,40 @@ public interface IGridService { * @return */ List listAllWithPointByAreaCode(String areaCode, Map params); + + /** + * 我的网格列表 + * + * @param token + * @param params + * @return + */ + List listOfMine(String token, Map params); + + /** + * 我的网格分页列表 + * + * @param token + * @param page + * @return + */ + SuccessResultList> listPageOfMine(String token, ListPage page); + + /** + * 不是我的网格列表 + * + * @param token + * @param params + * @return + */ + List listNotMine(String token, Map params); + + /** + * 不是我的网格分页列表 + * + * @param token + * @param page + * @return + */ + SuccessResultList> listPageNotMine(String token, ListPage page); } diff --git a/module-map/src/main/java/ink/wgink/module/map/service/grid/IGridUserService.java b/module-map/src/main/java/ink/wgink/module/map/service/grid/IGridUserService.java index 80af5755..74508baa 100644 --- a/module-map/src/main/java/ink/wgink/module/map/service/grid/IGridUserService.java +++ b/module-map/src/main/java/ink/wgink/module/map/service/grid/IGridUserService.java @@ -17,6 +17,14 @@ import java.util.Map; */ public interface IGridUserService { + /** + * 新增我的网格 + * + * @param token + * @param gridId + */ + void saveOfMine(String token, String gridId); + /** * 删除网格用户 * @@ -25,6 +33,14 @@ public interface IGridUserService { */ void delete(String gridId, List userIds); + /** + * 删除我的网格 + * + * @param token + * @param gridId + */ + void deleteOfMine(String token, String gridId); + /** * 修改网格用户 * 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 1012480a..09402e9e 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 @@ -41,7 +41,9 @@ public class GridRelationServiceImpl extends DefaultBaseService implements IGrid params.put("relationId", relationId); gridRelationDao.save(params); } - gridRelationSaveAfterHandler.handle(relationIdArray); + if (gridRelationSaveAfterHandler != null) { + gridRelationSaveAfterHandler.handle(relationIdArray); + } } @Override @@ -158,6 +160,14 @@ public class GridRelationServiceImpl extends DefaultBaseService implements IGrid return listRelationIdByGridRelation(gridRelationDTOs); } + @Override + public GridRelationDTO getByGridIdAndRelationId(String gridId, String relationId) { + Map params = getHashMap(4); + params.put("gridId", gridId); + params.put("relationId", relationId); + return gridRelationDao.get(params); + } + /** * 获取网格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 2a7c6d34..289427a1 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 @@ -416,6 +416,34 @@ public class GridServiceImpl extends DefaultBaseService implements IGridService return list(params, false, true); } + @Override + public List listOfMine(String token, Map params) { + String userId = getAppTokenUser(token).getId(); + params.put("relationId", userId); + return list(params); + } + + @Override + public SuccessResultList> listPageOfMine(String token, ListPage page) { + String userId = getAppTokenUser(token).getId(); + page.getParams().put("relationId", userId); + return listPage(page); + } + + @Override + public List listNotMine(String token, Map params) { + String userId = getAppTokenUser(token).getId(); + params.put("excludeRelationId", userId); + return list(params); + } + + @Override + public SuccessResultList> listPageNotMine(String token, ListPage page) { + String userId = getAppTokenUser(token).getId(); + page.getParams().put("excludeRelationId", userId); + return listPage(page); + } + /** * 设置网格点 * diff --git a/module-map/src/main/java/ink/wgink/module/map/service/grid/impl/GridUserServiceImpl.java b/module-map/src/main/java/ink/wgink/module/map/service/grid/impl/GridUserServiceImpl.java index 7178a340..e36a5eb6 100644 --- a/module-map/src/main/java/ink/wgink/module/map/service/grid/impl/GridUserServiceImpl.java +++ b/module-map/src/main/java/ink/wgink/module/map/service/grid/impl/GridUserServiceImpl.java @@ -3,6 +3,7 @@ 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.interfaces.user.IUserBaseService; import ink.wgink.module.map.pojo.dtos.grid.GridRelationDTO; import ink.wgink.module.map.pojo.dtos.grid.GridUserDTO; @@ -34,11 +35,27 @@ public class GridUserServiceImpl extends DefaultBaseService implements IGridUser @Autowired private IGridRelationService gridRelationService; + @Override + public void saveOfMine(String token, String gridId) { + String userId = getAppTokenUser(token).getId(); + GridRelationDTO gridRelationDTO = gridRelationService.getByGridIdAndRelationId(gridId, userId); + if (gridRelationDTO != null) { + throw new SearchException("已经添加网格"); + } + gridRelationService.save(gridId, Arrays.asList(userId)); + } + @Override public void delete(String gridId, List userIds) { gridRelationService.delete(gridId, userIds); } + @Override + public void deleteOfMine(String token, String gridId) { + String userId = getAppTokenUser(token).getId(); + gridRelationService.delete(gridId, userId); + } + @Override public void update(String gridId, IdsVO idsVO) { // 删除全部关联关系 diff --git a/module-map/src/main/resources/mybatis/mapper/grid/grid-mapper.xml b/module-map/src/main/resources/mybatis/mapper/grid/grid-mapper.xml index 06ba278b..25950f2a 100644 --- a/module-map/src/main/resources/mybatis/mapper/grid/grid-mapper.xml +++ b/module-map/src/main/resources/mybatis/mapper/grid/grid-mapper.xml @@ -266,6 +266,28 @@ AND t1.area_code != #{excludeAreaCode} + + AND + t1.grid_id IN ( + SELECT + st1.grid_id + FROM + map_grid_relation st1 + WHERE + relation_id = #{relationId} + ) + + + AND + t1.grid_id NOT IN ( + SELECT + st1.grid_id + FROM + map_grid_relation st1 + WHERE + relation_id = #{relationId} + ) + diff --git a/module-map/src/main/resources/mybatis/mapper/grid/grid-relation-mapper.xml b/module-map/src/main/resources/mybatis/mapper/grid/grid-relation-mapper.xml index c6ff8389..82957a64 100644 --- a/module-map/src/main/resources/mybatis/mapper/grid/grid-relation-mapper.xml +++ b/module-map/src/main/resources/mybatis/mapper/grid/grid-relation-mapper.xml @@ -63,6 +63,20 @@ + + +