From bdaab68df16cb59903dfc296bfab00b65f5695b8 Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期二, 26 十一月 2024 17:23:54 +0800
Subject: [PATCH] 添加区域对应用户信息

---
 src/main/java/com/whyc/service/AreaInfService.java |   87 +++++++++++++++++++++++++++++++++++++++----
 1 files changed, 78 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/whyc/service/AreaInfService.java b/src/main/java/com/whyc/service/AreaInfService.java
index 28465ae..218c256 100644
--- a/src/main/java/com/whyc/service/AreaInfService.java
+++ b/src/main/java/com/whyc/service/AreaInfService.java
@@ -4,17 +4,29 @@
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.whyc.dto.Response;
 import com.whyc.mapper.AreaInfMapper;
+import com.whyc.mapper.LockInfMapper;
+import com.whyc.mapper.UserInfMapper;
 import com.whyc.pojo.db_area.AreaInf;
+import com.whyc.pojo.db_area.LockInf;
+import com.whyc.pojo.db_user.UserInf;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.List;
 
 @Service
 public class AreaInfService {
+
     @Autowired(required = false)
     private AreaInfMapper mapper;
+
+    @Autowired(required = false)
+    private LockInfMapper linfMapper;
+
+    @Autowired(required = false)
+    private UserInfMapper uInfMapper;
 
 
     //鏌ヨ鎵�鏈夊尯鍩熶俊鎭�
@@ -61,10 +73,11 @@
         //鑾峰彇涓婁竴绾т俊鎭�
         QueryWrapper wrapper=new QueryWrapper();
         wrapper.eq("parent_id",id);
-        wrapper.last("limit 1");
-        AreaInf painf=mapper.selectOne(wrapper);
-        if(painf!=null){
-            delAll(painf.getId());
+        List<AreaInf> list=mapper.selectList(wrapper);
+        if(list!=null){
+            for (AreaInf painf:list) {
+                delAll(painf.getId());
+            }
         }
         UpdateWrapper wrapper1=new UpdateWrapper();
         wrapper1.eq("id",id);
@@ -90,15 +103,71 @@
     public void updateAll(Integer id, String newPath) {
         QueryWrapper wrapper=new QueryWrapper();
         wrapper.eq("parent_id",id);
-        wrapper.last("limit 1");
-        AreaInf painf=mapper.selectOne(wrapper);
-        if(painf!=null){
-            String path=newPath+"_"+painf.getAreaName();
-            updateAll(painf.getId(),path);
+        List<AreaInf> list=mapper.selectList(wrapper);
+        if(list!=null){
+            for (AreaInf painf:list) {
+                String path=newPath+"_"+painf.getAreaName();
+                updateAll(painf.getId(),path);
+            }
         }
         UpdateWrapper wrapper2=new UpdateWrapper();
         wrapper2.set("area_path",newPath);
         wrapper2.eq("id",id);
         mapper.update(null,wrapper2);
     }
+    //鏌ヨ鎵�鏈夊尯鍩熶笅鎵�鏈夐攣淇℃伅
+    public Response getLinfById(Integer id) {
+        //鑾峰彇鑾峰彇id涓嬫墍鏈夌殑鍖哄煙id
+        List areaList=new ArrayList();
+        areaList.add(id);
+        getAllAreaId(id,areaList);
+        QueryWrapper wrapper=new QueryWrapper();
+        wrapper.in("area_id",areaList);
+        List<LockInf> list=linfMapper.selectList(wrapper);
+        return new Response().setII(1,list!=null,list,"鏌ヨ鎵�鏈夊尯鍩熶笅鎵�鏈夐攣淇℃伅");
+    }
+    //鑾峰彇鑾峰彇id涓嬫墍鏈夌殑鍖哄煙id
+    private void getAllAreaId(Integer id,List areaList) {
+        QueryWrapper wrapper=new QueryWrapper();
+        wrapper.eq("parent_id",id);
+        List<AreaInf> list=mapper.selectList(wrapper);
+        if(list!=null){
+            for (AreaInf painf:list) {
+                areaList.add(painf.getId());
+                getAllAreaId(painf.getId(),areaList);
+            }
+        }
+    }
+
+    //鏌ヨ鎵�鏈夊尯鍩熶笅鎵�鏈夌敤鎴蜂俊鎭�
+    public Response getUinfById(Integer id) {
+        //鑾峰彇鑾峰彇id涓嬫墍鏈夌殑鍖哄煙id
+        List uinfList=new ArrayList();
+        QueryWrapper wrapper=new QueryWrapper();
+        wrapper.eq("id",id);
+        wrapper.last("limit 1");
+        AreaInf ainf=mapper.selectOne(wrapper);
+        if(ainf!=null){
+            uinfList.add(ainf.getAreaUname());
+        }
+        getAllUinfId(id,uinfList);
+        QueryWrapper wrapper1=new QueryWrapper();
+        wrapper1.select("uid","uname","CREATE_TIME");
+        wrapper1.in("uname",uinfList);
+        List<UserInf> list=uInfMapper.selectList(wrapper1);
+        return new Response().setII(1,list!=null,list,"鏌ヨ鎵�鏈夊尯鍩熶笅鎵�鏈夌敤鎴蜂俊鎭�");
+    }
+
+    //鑾峰彇鑾峰彇id涓嬫墍鏈夌殑鍖哄煙鐢ㄦ埛鍚�
+    private void getAllUinfId(Integer id,List uinfList) {
+        QueryWrapper wrapper=new QueryWrapper();
+        wrapper.eq("parent_id",id);
+        List<AreaInf> list=mapper.selectList(wrapper);
+        if(list!=null){
+            for (AreaInf painf:list) {
+                uinfList.add(painf.getAreaUname());
+                getAllUinfId(painf.getId(),uinfList);
+            }
+        }
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.1