package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.system.mapper.TRegionMapper;
import com.ruoyi.system.model.TRegion;
import com.ruoyi.system.service.TRegionService;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
*
* 省市管理 服务实现类
*
*
* @author xiaochen
* @since 2024-02-29
*/
@Service
public class TRegionServiceImpl extends ServiceImpl implements TRegionService {
@Override
public List> getRegion() {
String[] initials = {"A", "B", "C", "D", "E", "F",
"G", "H", "I", "J", "K", "L",
"M", "N", "O", "P", "Q", "R",
"S", "T", "U", "V", "W", "X", "Y", "Z"};
List tRegions = this.baseMapper.selectList(Wrappers.lambdaQuery(TRegion.class));
List> result = new ArrayList<>();
for (String initial : initials) {
List init = tRegions.stream().filter(e -> e.getInitial().equals(initial) && !e.getCode().contains("0000")).collect(Collectors.toList());
result.add(init);
}
return result;
}
@Override
public List getProvinceAndCity() {
List tRegions = this.baseMapper.selectList(Wrappers.lambdaQuery(TRegion.class));
List parent = this.baseMapper.selectList(Wrappers.lambdaQuery(TRegion.class)
.eq(TRegion::getParentId, 0));
for (TRegion tRegion : parent) {
tRegion.setChildren(tRegions.stream().filter(e -> e.getParentId().equals(tRegion.getId())).collect(Collectors.toList()));
}
return parent;
}
}