From 6aa6dc075078cca11be048a267911bd7f74dadcd Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期日, 16 三月 2025 03:48:00 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev-2.0' into dev-2.0 --- springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemUserServiceImpl.java | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 55 insertions(+), 1 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemUserServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemUserServiceImpl.java index 75fab8d..262694c 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemUserServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemUserServiceImpl.java @@ -3,25 +3,36 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.beust.jcommander.internal.Lists; +import com.panzhihua.common.model.vos.sangeshenbian.SystemUserVo; import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.sangeshenbian.dao.SystemUserMapper; +import com.panzhihua.sangeshenbian.model.entity.ComAct; import com.panzhihua.sangeshenbian.model.entity.SystemUser; import com.panzhihua.sangeshenbian.model.vo.RegionVO; +import com.panzhihua.sangeshenbian.service.IBcRegionService; +import com.panzhihua.sangeshenbian.service.IComActService; +import com.panzhihua.sangeshenbian.service.IComStreetService; import com.panzhihua.sangeshenbian.service.ISystemUserService; import com.panzhihua.sangeshenbian.warpper.SystemUserList; import com.panzhihua.sangeshenbian.warpper.SystemUserListVo; +import lombok.RequiredArgsConstructor; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; import java.util.Optional; +import java.util.stream.Collectors; /** * @author zhibing.pu * @Date 2025/2/18 22:30 */ @Service +@RequiredArgsConstructor(onConstructor_ = {@Lazy}) public class SystemUserServiceImpl extends ServiceImpl<SystemUserMapper, SystemUser> implements ISystemUserService { - + private final IComActService comActService; /** * 获取列表数据 * @param query @@ -94,4 +105,47 @@ public List<RegionVO> getCommunity(String streetId) { return this.baseMapper.getCommunity(streetId); } + + /** + * 获取区县-街道-社区树 + * @return + */ + @Override + public List<RegionVO> getRegionTree(SystemUserVo loginUserInfo) { + Integer accountLevel = loginUserInfo.getAccountLevel(); + List<RegionVO> regionTree = new ArrayList<>(); + switch (accountLevel) { + case 1: + regionTree = baseMapper.getRegion("510400"); + baseMapper.getStreet("510400"); + regionTree.forEach(district -> { + List<RegionVO> streets = baseMapper.getStreet(district.getId()); + district.setChildren(streets); + streets.forEach(street -> { + List<RegionVO> communities = baseMapper.getCommunity(street.getId()); + street.setChildren(communities); + }); + }); + break; + case 2: + regionTree = baseMapper.getStreet(loginUserInfo.getDistrictsCode()); + regionTree.forEach(regionVO->{ + List<RegionVO> communities = baseMapper.getCommunity(regionVO.getId()); + regionVO.setChildren(communities); + }); + break; + case 3: + regionTree = baseMapper.getCommunity(loginUserInfo.getStreetId()); + break; + case 4: + ComAct byId = comActService.getById(loginUserInfo.getCommunityId()); + RegionVO regionVO = new RegionVO(); + regionVO.setId(byId.getCommunityId().toString()); + regionVO.setName(byId.getName()); + regionTree = Lists.newArrayList(regionVO); + break; + } + + return regionTree; + } } -- Gitblit v1.7.1