From c7b98e87e7535466e43d74f3bbc937314e71a0f9 Mon Sep 17 00:00:00 2001 From: wanggeng <450292408@qq.com> Date: Fri, 5 Nov 2021 17:27:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BA=86=E8=BF=9E=E7=BB=AD?= =?UTF-8?q?=E5=AD=97=E7=AC=A6=E4=B8=B2=E6=88=AA=E6=96=AD=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E5=92=8C=E7=BB=84=E7=BB=87=E9=83=A8=E9=97=A8=E7=BC=96=E7=A0=81?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../department/IDepartmentBaseService.java | 16 +++ .../ink/wgink/util/string/WStringUtil.java | 24 +++- .../impl/DepartmentServiceImpl.java | 15 +++ .../app/api/grid/GridAppController.java | 111 ++++++++++++++++++ .../service/impl/DepartmentServiceImpl.java | 15 +++ .../mybatis/mapper/department-mapper.xml | 8 ++ 6 files changed, 187 insertions(+), 2 deletions(-) create mode 100644 module-map/src/main/java/ink/wgink/module/map/controller/app/api/grid/GridAppController.java diff --git a/basic-interface/src/main/java/ink/wgink/interfaces/department/IDepartmentBaseService.java b/basic-interface/src/main/java/ink/wgink/interfaces/department/IDepartmentBaseService.java index 1f1a94e1..818e09f2 100644 --- a/basic-interface/src/main/java/ink/wgink/interfaces/department/IDepartmentBaseService.java +++ b/basic-interface/src/main/java/ink/wgink/interfaces/department/IDepartmentBaseService.java @@ -179,4 +179,20 @@ public interface IDepartmentBaseService { * @return */ List listPOByAreaCodeAndType(String departmentAreaCode, Integer departmentType); + + /** + * 统计地区全部组织 + * + * @param areaCode + * @return + */ + Integer countByAreaCode(String areaCode); + + /** + * 统计地区全部组织 + * + * @param areaCode + * @return + */ + Integer countAllByAreaCode(String areaCode); } diff --git a/basic-util/src/main/java/ink/wgink/util/string/WStringUtil.java b/basic-util/src/main/java/ink/wgink/util/string/WStringUtil.java index 48758b47..35bb6c42 100644 --- a/basic-util/src/main/java/ink/wgink/util/string/WStringUtil.java +++ b/basic-util/src/main/java/ink/wgink/util/string/WStringUtil.java @@ -7,6 +7,7 @@ import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType; import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination; +import org.apache.commons.lang3.StringUtils; import java.util.List; import java.util.Random; @@ -369,8 +370,8 @@ public class WStringUtil { return null; } StringBuilder sb = new StringBuilder(); - for(String str : strings) { - if(sb.length() > 0) { + for (String str : strings) { + if (sb.length() > 0) { sb.append(separator); } sb.append(str); @@ -378,4 +379,23 @@ public class WStringUtil { return sb.toString(); } + /** + * 倒序截断重复字符 + * + * @return + */ + public static String cutContinuityRepeatCharDesc(String str, char repeatChar) { + if (StringUtils.isBlank(str)) { + return str; + } + int unRepeatCharIndex = 0; + for (int i = str.length() - 1; i >= 0; i--) { + if (str.charAt(i) != repeatChar) { + unRepeatCharIndex = i; + break; + } + } + return str.substring(0, unRepeatCharIndex + 1); + } + } diff --git a/login-oauth2-client/src/main/java/ink/wgink/login/oauth2/client/service/department/impl/DepartmentServiceImpl.java b/login-oauth2-client/src/main/java/ink/wgink/login/oauth2/client/service/department/impl/DepartmentServiceImpl.java index 9493fc45..a0b79002 100644 --- a/login-oauth2-client/src/main/java/ink/wgink/login/oauth2/client/service/department/impl/DepartmentServiceImpl.java +++ b/login-oauth2-client/src/main/java/ink/wgink/login/oauth2/client/service/department/impl/DepartmentServiceImpl.java @@ -13,6 +13,7 @@ import ink.wgink.pojo.result.SuccessResultData; import ink.wgink.pojo.result.SuccessResultList; import ink.wgink.pojo.vos.IdsVO; import ink.wgink.properties.ApiPathProperties; +import ink.wgink.util.string.WStringUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -172,4 +173,18 @@ public class DepartmentServiceImpl extends DefaultBaseService implements IDepart public List listPOByAreaCodeAndType(String departmentAreaCode, Integer departmentType) { return departmentRemoteService.listPOByAreaCodeAndType(apiPathProperties.getUserCenter(), departmentAreaCode, departmentType, OAuth2ClientTokenManager.getInstance().getToken().getAccessToken()); } + + @Override + public Integer countByAreaCode(String areaCode) { + Map params = getHashMap(2); + params.put("departmentAreaCode", areaCode); + return count(params); + } + + @Override + public Integer countAllByAreaCode(String areaCode) { + Map params = getHashMap(2); + params.put("departmentAreaCodeLike", WStringUtil.cutContinuityRepeatCharDesc(areaCode, '0')); + return count(params); + } } 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 new file mode 100644 index 00000000..5f4343af --- /dev/null +++ b/module-map/src/main/java/ink/wgink/module/map/controller/app/api/grid/GridAppController.java @@ -0,0 +1,111 @@ +package ink.wgink.module.map.controller.app.api.grid; + +import ink.wgink.common.base.DefaultBaseController; +import ink.wgink.interfaces.consts.ISystemConstant; +import ink.wgink.module.map.pojo.dtos.grid.GridDTO; +import ink.wgink.module.map.service.grid.IGridService; +import ink.wgink.pojo.ListPage; +import ink.wgink.pojo.result.ErrorResult; +import ink.wgink.pojo.result.SuccessResultList; +import io.swagger.annotations.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +/** + * @ClassName: GridControler + * @Description: 网格管理 + * @Author: wanggeng + * @Date: 2021/10/19 10:21 下午 + * @Version: 1.0 + */ +@Api(tags = ISystemConstant.API_TAGS_APP_PREFIX + "网格接口") +@RestController +@RequestMapping(ISystemConstant.APP_PREFIX + "/grid") +public class GridAppController extends DefaultBaseController { + + @Autowired + private IGridService gridService; + + @ApiOperation(value = "网格详情", notes = "网格详情接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "token", value = "token", paramType = "header"), + @ApiImplicitParam(name = "gridIdId", value = "网格ID", paramType = "path") + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @GetMapping("get/{gridId}") + public GridDTO get(@RequestHeader("token") String token, @PathVariable("gridId") String gridId) { + return gridService.get(gridId, true, true); + } + + @ApiOperation(value = "网格列表", notes = "网格列表接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "token", value = "token", paramType = "header"), + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @GetMapping("list") + public List list(@RequestHeader("token") String token) { + Map params = requestParams(); + return gridService.list(params); + } + + @ApiOperation(value = "网格列表", notes = "网格列表接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "token", value = "token", paramType = "header"), + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @GetMapping("list/area-code/{areaCode}") + public List listByAreaCode(@PathVariable("areaCode") String areaCode) { + Map params = requestParams(); + return gridService.listByAreaCode(areaCode, params); + } + + @ApiOperation(value = "网格(排除查询网格)列表", notes = "网格(排除查询网格)列表接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "token", value = "token", paramType = "header"), + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @GetMapping("list/except/{gridId}") + public List listExcept(@RequestHeader("token") String token, + @PathVariable("gridId") String gridId) { + Map params = requestParams(); + return gridService.listExcept(gridId, params); + } + + @ApiOperation(value = "网格分页列表", notes = "网格分页列表接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "token", value = "token", paramType = "header"), + @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") + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @GetMapping("listpage") + public SuccessResultList> listPage(@RequestHeader("token") String token, ListPage page) { + Map params = requestParams(); + page.setParams(params); + return gridService.listPage(page); + } + + @ApiOperation(value = "网格分页列表", notes = "网格分页列表接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "token", value = "token", paramType = "header"), + @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") + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @GetMapping("listpage/area-code/{areaCode}") + public SuccessResultList> listPageByAreaCode(@RequestHeader("token") String token, @PathVariable("areaCode") String areaCode, ListPage page) { + Map params = requestParams(); + page.setParams(params); + return gridService.listPageByAreaCode(areaCode, page); + } + +} diff --git a/service-department/src/main/java/ink/wgink/service/department/service/impl/DepartmentServiceImpl.java b/service-department/src/main/java/ink/wgink/service/department/service/impl/DepartmentServiceImpl.java index fc26355a..e31fce5f 100644 --- a/service-department/src/main/java/ink/wgink/service/department/service/impl/DepartmentServiceImpl.java +++ b/service-department/src/main/java/ink/wgink/service/department/service/impl/DepartmentServiceImpl.java @@ -30,6 +30,7 @@ import ink.wgink.service.department.service.IDepartmentService; import ink.wgink.service.department.service.IDepartmentUserService; 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; @@ -367,6 +368,20 @@ public class DepartmentServiceImpl extends DefaultBaseService implements IDepart return listPO(params); } + @Override + public Integer countByAreaCode(String areaCode) { + Map params = getHashMap(2); + params.put("departmentAreaCode", areaCode); + return count(params); + } + + @Override + public Integer countAllByAreaCode(String areaCode) { + Map params = getHashMap(2); + params.put("departmentAreaCodeLike", WStringUtil.cutContinuityRepeatCharDesc(areaCode, '0')); + return count(params); + } + /** * 通过上级ID和新增或修改日期获取组织列表(简单模式) * diff --git a/service-department/src/main/resources/mybatis/mapper/department-mapper.xml b/service-department/src/main/resources/mybatis/mapper/department-mapper.xml index 2c1167bd..0f261411 100644 --- a/service-department/src/main/resources/mybatis/mapper/department-mapper.xml +++ b/service-department/src/main/resources/mybatis/mapper/department-mapper.xml @@ -711,6 +711,14 @@ AND department_state = #{departmentState} + + AND + department_area_code = #{departmentAreaCode} + + + AND + department_area_code LIKE CONCAT(#{departmentAreaCodeLike}, '%') +