From 0aea8bd18daaaf91e622fdcfdd81dbb2e1b4860c Mon Sep 17 00:00:00 2001
From: swb <jpy123456>
Date: Mon, 21 Oct 2024 09:01:18 +0800
Subject: [PATCH] fix:立行立改责任主体修改提交

---
 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