From 152687d40f879e2e2e8f672b818929b748b9666a Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期二, 12 三月 2024 18:16:21 +0800 Subject: [PATCH] 地域、点位优化 --- ycl-server/src/main/java/com/ycl/platform/controller/RegionController.java | 6 +++ ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java | 3 + ycl-pojo/src/main/java/com/ycl/platform/domain/vo/RegionCascaderVO.java | 27 +++++++++++++ ycl-server/src/main/java/com/ycl/platform/service/RegionService.java | 6 +++ ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java | 3 + ycl-pojo/src/main/java/com/ycl/platform/domain/query/YwPointQuery.java | 3 + ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java | 3 + ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java | 14 ++++++- ycl-server/src/main/java/com/ycl/platform/service/impl/RegionServiceImpl.java | 31 +++++++++++++++ 9 files changed, 94 insertions(+), 2 deletions(-) diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java index 1e33e8d..39f9865 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java @@ -48,5 +48,8 @@ @TableField("remark") private String remark; + @TableField("point_detail") + private String pointDetail; + } diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java index e5fd435..7b8274d 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java @@ -46,6 +46,9 @@ @ApiModelProperty("杩愮淮鐘舵��") private String status; + + private String pointDetail; + // @NotBlank(message = "澶囨敞涓嶈兘涓虹┖", groups = {Add.class, Update.class}) // @ApiModelProperty("澶囨敞") // private String remark; diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/YwPointQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/YwPointQuery.java index ca880b0..a27e1f5 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/YwPointQuery.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/YwPointQuery.java @@ -20,5 +20,8 @@ @Accessors(chain = true) @ApiModel(value = "YwPoint鏌ヨ", description = "杩愮淮鐐逛綅鏌ヨ") public class YwPointQuery extends AbsQuery { + + private String pointName; + } diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/RegionCascaderVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/RegionCascaderVO.java new file mode 100644 index 0000000..2c4b97f --- /dev/null +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/RegionCascaderVO.java @@ -0,0 +1,27 @@ +package com.ycl.platform.domain.vo; + +import enumeration.general.RegionLevelEnum; +import lombok.Data; + +import java.util.List; + +/** + * 鍦板煙绾ц仈 + * + * @author锛歺p + * @date锛�2024/3/12 16:21 + */ +@Data +public class RegionCascaderVO { + + private Integer value; + + private String label; + + private Integer parentId; + + private RegionLevelEnum regionLevel; + + private List<RegionCascaderVO> children; + +} diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java index 9b41fcf..c7aa164 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java @@ -33,6 +33,7 @@ /** 杩愮淮鍗曚綅 */ private Integer unitId; + private String unitName; /** 杩愮淮鐘舵�� */ private String status; @@ -40,6 +41,8 @@ /** 澶囨敞 */ private String remark; + private String pointDetail; + public static YwPointVO getVoByEntity(@NonNull YwPoint entity, YwPointVO vo) { if(vo == null) { vo = new YwPointVO(); diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/RegionController.java b/ycl-server/src/main/java/com/ycl/platform/controller/RegionController.java index d00f065..21ccbe0 100644 --- a/ycl-server/src/main/java/com/ycl/platform/controller/RegionController.java +++ b/ycl-server/src/main/java/com/ycl/platform/controller/RegionController.java @@ -78,4 +78,10 @@ public Result counties() { return regionService.counties(); } + + @GetMapping("/cascader") + @ApiOperation(value = "绾ц仈閫夋嫨", notes = "绾ц仈閫夋嫨") + public Result cascader() { + return regionService.cascader(); + } } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/RegionService.java b/ycl-server/src/main/java/com/ycl/platform/service/RegionService.java index ea891e4..49a1f1f 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/RegionService.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/RegionService.java @@ -68,4 +68,10 @@ * @return */ Result counties(); + + /** + * 绾ц仈閫夋嫨 + * @return + */ + Result cascader(); } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/RegionServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/RegionServiceImpl.java index 713130a..045e50c 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/RegionServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/RegionServiceImpl.java @@ -3,6 +3,7 @@ import com.ycl.platform.base.BaseSelect; import com.ycl.platform.domain.entity.Region; import com.ycl.platform.domain.entity.YwUnit; +import com.ycl.platform.domain.vo.RegionCascaderVO; import com.ycl.platform.mapper.RegionMapper; import com.ycl.platform.service.RegionService; import com.ycl.system.Result; @@ -171,4 +172,34 @@ }).collect(Collectors.toList()); return Result.ok().data(vos); } + + @Override + public Result cascader() { + List<Region> regionList = new LambdaQueryChainWrapper<>(baseMapper) + .ne(Region::getRegionLevel, RegionLevelEnum.CITY) + .list(); + List<RegionCascaderVO> vos = regionList.stream().map(entity -> { + RegionCascaderVO vo = new RegionCascaderVO(); + vo.setValue(entity.getId()); + vo.setLabel(entity.getSimpleName()); + vo.setRegionLevel(entity.getRegionLevel()); + vo.setParentId(entity.getParentId()); + return vo; + }).collect(Collectors.toList()); + List<RegionCascaderVO> removeList = new ArrayList<>(12); + for (RegionCascaderVO region : vos) { + if (region.getRegionLevel() == RegionLevelEnum.COUNTY) { + List<RegionCascaderVO> childList = new ArrayList<>(12); + for (RegionCascaderVO region1 : vos) { + if (region1.getParentId() == region.getValue()) { + childList.add(region1); + removeList.add(region1); + } + } + region.setChildren(childList); + } + } + vos.removeAll(removeList); + return Result.ok().data(vos); + } } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java index 1941582..811d071 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java @@ -1,7 +1,9 @@ package com.ycl.platform.service.impl; import com.ycl.platform.domain.entity.YwPoint; +import com.ycl.platform.domain.entity.YwUnit; import com.ycl.platform.mapper.YwPointMapper; +import com.ycl.platform.mapper.YwUnitMapper; import com.ycl.platform.service.YwPointService; import com.ycl.system.Result; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -9,7 +11,7 @@ import com.ycl.platform.domain.vo.YwPointVO; import com.ycl.platform.domain.query.YwPointQuery; import java.util.List; -import org.apache.commons.lang3.StringUtils; + import com.baomidou.mybatisplus.core.metadata.IPage; import com.ycl.system.page.PageUtil; import org.springframework.stereotype.Service; @@ -22,6 +24,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import lombok.RequiredArgsConstructor; +import org.springframework.util.StringUtils; /** * 杩愮淮鐐逛綅 鏈嶅姟瀹炵幇绫� @@ -34,6 +37,7 @@ public class YwPointServiceImpl extends ServiceImpl<YwPointMapper, YwPoint> implements YwPointService { private final YwPointMapper ywPointMapper; + private final YwUnitMapper ywUnitMapper; /** * 娣诲姞 @@ -115,12 +119,18 @@ public Result page(YwPointQuery query) { IPage<YwPoint> page = new LambdaQueryChainWrapper<>(baseMapper) + .like(StringUtils.hasText(query.getPointName()), YwPoint::getPointName, query.getPointName()) .orderByDesc(YwPoint::getCreateTime) .page(PageUtil.getPage(query, YwPoint.class)); List<YwPointVO> vos = page.getRecords().stream() .map( - entity -> YwPointVO.getVoByEntity(entity, null) + entity -> { + YwPointVO vo = YwPointVO.getVoByEntity(entity, null); + YwUnit unit = ywUnitMapper.selectById(vo.getUnitId()); + vo.setUnitName(unit.getUnitName()); + return vo; + } ) .collect(Collectors.toList()); return Result.ok().data(vos).total(page.getTotal()); -- Gitblit v1.8.0