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