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