From c7dd4a195d8d893d92c49963447cdf6486844584 Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Fri, 20 Oct 2023 09:45:53 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wb' into cjl
---
screen-manage/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java | 74 ++++++++++++++++++++++++++++++++++++
1 files changed, 73 insertions(+), 1 deletions(-)
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java
index 9e2c03a..434226e 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java
@@ -2,10 +2,13 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.moral.api.entity.SysArea;
import com.moral.api.mapper.SysAreaMapper;
import com.moral.api.service.SysAreaService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
@@ -26,6 +29,7 @@
* @since 2021-04-07
*/
@Service
+@Slf4j
public class SysAreaServiceImpl extends ServiceImpl<SysAreaMapper, SysArea> implements SysAreaService {
@Autowired
@@ -43,6 +47,68 @@
return sysAreas;
}
+ @Override
+ public SysArea select(Integer code) {
+ QueryWrapper<SysArea> wrapper = new QueryWrapper<>();
+ wrapper.eq("area_code",code);
+ SysArea sysArea = sysAreaMapper.selectOne(wrapper);
+ return sysArea;
+ }
+
+ /**
+ * ���������������������������������
+ *
+ * @return
+ */
+ @Override
+ public List<SysArea> queryCity() {
+ //������������������
+ List<SysArea> sysAreas = sysAreaMapper.selectList(null);
+ //������Map key������������ value��������������� ���������������
+ Map<Integer, SysArea> areaMap = new HashMap<>();
+ for (SysArea sysArea : sysAreas) {
+ areaMap.put(sysArea.getAreaCode(), sysArea);
+ sysArea.setChildren(new ArrayList<>());//���������children������
+ }
+ //������������������������������������������������������������������������������������
+ int i=0;
+ for (SysArea sysArea : sysAreas) {
+ Integer parentCode = sysArea.getParentCode();
+ String s = sysArea.getAreaCode().toString();
+ if (!parentCode.equals(0)) {
+ if (s.length()>7){
+ continue;
+ }
+ SysArea parentArea = areaMap.get(parentCode);
+ if (ObjectUtils.isEmpty(parentArea)){
+ continue;
+ }
+ List<SysArea> children = parentArea.getChildren();
+ children.add(sysArea);
+// parentArea.getChildren().add(sysArea);
+ }
+ }
+ //���������������������������������
+ sysAreas.removeIf(new Predicate<SysArea>() {
+ @Override
+ public boolean test(SysArea sysArea) {
+ if (sysArea.getParentCode().equals(0))
+ return false;
+ return true;
+ }
+ });
+ return sysAreas;
+ }
+
+ @Override
+ public List<SysArea> selectCode(Integer code) {
+ QueryWrapper<SysArea> wrapper = new QueryWrapper<>();
+ wrapper.eq("parent_code",code);
+ List<SysArea> sysAreas = sysAreaMapper.selectList(wrapper);
+ return sysAreas;
+
+ }
+
private List<SysArea> querySysAreaFromDB() {
//������������������
@@ -58,7 +124,13 @@
Integer parentCode = sysArea.getParentCode();
if (!parentCode.equals(0)) {
SysArea parentArea = areaMap.get(parentCode);
- parentArea.getChildren().add(sysArea);
+ if (ObjectUtils.isEmpty(parentArea)){
+ continue;
+ }
+ List<SysArea> children = parentArea.getChildren();
+ children.add(sysArea);
+// parentArea.getChildren().add(sysArea);
+
}
}
//���������������������������������
--
Gitblit v1.8.0