package com.panzhihua.sangeshenbian.service.impl;
|
|
import com.panzhihua.sangeshenbian.dao.SystemUserMapper;
|
import com.panzhihua.sangeshenbian.model.entity.BcRegion;
|
import com.panzhihua.sangeshenbian.dao.BcRegionMapper;
|
import com.panzhihua.sangeshenbian.model.vo.RegionVO;
|
import com.panzhihua.sangeshenbian.service.IBcRegionService;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.context.annotation.Lazy;
|
import org.springframework.stereotype.Service;
|
|
import java.util.List;
|
|
/**
|
* <p>
|
* 行政区划表 服务实现类
|
* </p>
|
*
|
* @author
|
* @since 2025-02-23
|
*/
|
@Service
|
@RequiredArgsConstructor(onConstructor_ = {@Lazy})
|
public class BcRegionServiceImpl extends ServiceImpl<BcRegionMapper, BcRegion> implements IBcRegionService {
|
private final SystemUserMapper systemUserMapper;
|
/**
|
* 判断区县是否存在
|
* @param districtName
|
* @return
|
*/
|
@Override
|
public BcRegion getDistrictByName(String districtName) {
|
return this.lambdaQuery()
|
.eq(BcRegion::getRegionName, districtName)
|
.eq(BcRegion::getDeleteFlag, 0)
|
.eq(BcRegion::getHierarchyOrder, 3).last("LIMIT 1").one();
|
}
|
|
@Override
|
public BcRegion getDistrictByCode(String districtCode) {
|
return this.lambdaQuery().eq(BcRegion::getRegionCode, districtCode).last("LIMIT 1").one();
|
}
|
/**
|
* 获取区县-街道-社区树
|
* @return
|
*/
|
@Override
|
public List<RegionVO> regionTree() {
|
List<RegionVO> regionTree = systemUserMapper.getRegion("510400");
|
systemUserMapper.getStreet("510400");
|
regionTree.forEach(district -> {
|
List<RegionVO> streets = systemUserMapper.getStreet(district.getId());
|
district.setChildren(streets);
|
streets.forEach(street -> {
|
List<RegionVO> communities = systemUserMapper.getCommunity(street.getId());
|
street.setChildren(communities);
|
});
|
});
|
return regionTree;
|
}
|
}
|