puzhibing
2026-05-18 f33eaf279fdae3a5cae7775dc2a67e2d080dd5e0
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpRegionController.java
@@ -12,6 +12,7 @@
import com.xiaopeng.operation.service.XpOpenCityService;
import com.xiaopeng.operation.service.XpRegionService;
import com.xiaopeng.operation.vo.RegionCascaderVO;
import com.xiaopeng.unifiedverification.interceptor.XpClientCheck;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@@ -53,6 +54,7 @@
     */
    @ApiOperation(value = "查询省市管理",tags = {"小程序-省市管理"},response = XpRegion.class)
    @GetMapping(value = "/base/v1/mini-program/open/t-region/getRegion")
    @XpClientCheck(checkToken = false, checkOtpToken = true)
    public R<List<List<XpRegion>>> geXpRegion() {
        return R.ok(regionService.getXpRegion());
    }
@@ -74,15 +76,12 @@
                        .map(item -> (XpRegion) item)
                        .collect(Collectors.toList());
                if(query.getCityName()!=null){
                    list = list.stream().filter(item -> item.getName().contains(query.getCityName()) || item.getInitial().contains(query.getCityName())).collect(Collectors.toList());
                }
            } catch (ClassCastException e) {
                // 缓存数据结构异常,重新加载
                redisService.deleteObject(CacheConstants.XP_REGION);
            }
        }else {
            list = regionService.list(Wrappers.lambdaQuery(XpRegion.class).ne(XpRegion::getParentId, 0).and(w->w.like(query.getCityName()!=null , XpRegion::getInitial, query.getCityName()).or().like(query.getCityName()!=null , XpRegion::getInitial, query.getCityName())).like(query.getCityName()!=null , XpRegion::getName, query.getCityName()).isNotNull(XpRegion::getInitial).orderByAsc(XpRegion::getInitial));
            list = regionService.list(Wrappers.lambdaQuery(XpRegion.class).ne(XpRegion::getParentId, 0).isNotNull(XpRegion::getInitial).orderByAsc(XpRegion::getInitial));
            redisService.setCacheList(CacheConstants.XP_REGION_CITY, list);
        }
        List<XpOpenCity> openCities = openCityService.list(new LambdaQueryWrapper<XpOpenCity>().eq(XpOpenCity::getStatus,1));
@@ -96,7 +95,7 @@
        }
        if (query.getCityName() != null) {
            list = list.stream().filter(item -> item.getName().contains(query.getCityName())).collect(Collectors.toList());
            list = list.stream().filter(item -> item.getName().contains(query.getCityName()) || item.getInitial().equals(query.getCityName()) || item.getChina().contains(query.getCityName().toLowerCase())).collect(Collectors.toList());
        }
        if (query.getIsOpen() != null) {
            list = list.stream().filter(item -> item.getIsOpen().equals(query.getIsOpen())).collect(Collectors.toList());
@@ -113,4 +112,16 @@
    public R<List<RegionCascaderVO>> getRegionCascader() {
        return R.ok(regionService.getRegionCascader());
    }
    /**
     * 管理后台-省市区三级级联查询
     */
    @ApiOperation(value = "管理后台-省市区三级级联查询", tags = {"管理后台-省市区管理无区域"})
    @GetMapping("/api/v1/region/cascaderNoArea")
    public R<List<RegionCascaderVO>> getRegionCascaderNoArea() {
        return R.ok(regionService.getRegionCascaderNoArea());
    }
}