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; } 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; 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; } ycl-pojo/src/main/java/com/ycl/platform/domain/vo/RegionCascaderVO.java
New file @@ -0,0 +1,27 @@ package com.ycl.platform.domain.vo; import enumeration.general.RegionLevelEnum; import lombok.Data; import java.util.List; /** * 地域级联 * * @author:xp * @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; } 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(); 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(); } } ycl-server/src/main/java/com/ycl/platform/service/RegionService.java
@@ -68,4 +68,10 @@ * @return */ Result counties(); /** * 级联选择 * @return */ Result cascader(); } 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); } } 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());