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