From 3896cbb9ed6fa03d90a4032238dad7b2f39c607c Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期二, 24 三月 2026 20:23:55 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpOpenCityServiceImpl.java |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpOpenCityServiceImpl.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpOpenCityServiceImpl.java
index 9a09742..ae5f333 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpOpenCityServiceImpl.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpOpenCityServiceImpl.java
@@ -158,4 +158,29 @@
         }
         return cityName;
     }
+
+
+    /**
+     * 根据省、市、区县编码查询开通城市
+     * @param provinceCode
+     * @param cityCode
+     * @param districtCode
+     * @return
+     */
+    @Override
+    public XpOpenCity getXpOpenCity(String provinceCode, String cityCode, String districtCode) {
+        //先根据区编码获取,没有再根据市编码获取,没有再根据省编码获取
+        XpOpenCity xpOpenCity = this.baseMapper.selectOne(new LambdaQueryWrapper<XpOpenCity>()
+                .eq(XpOpenCity::getDistrictCode, districtCode));
+        if (Objects.isNull(xpOpenCity)) {
+            xpOpenCity = this.baseMapper.selectOne(new LambdaQueryWrapper<XpOpenCity>()
+                    .eq(XpOpenCity::getCityCode, cityCode).isNull(XpOpenCity::getDistrictCode));
+        }
+        if (Objects.isNull(xpOpenCity)) {
+            xpOpenCity = this.baseMapper.selectOne(new LambdaQueryWrapper<XpOpenCity>()
+                    .eq(XpOpenCity::getProvinceCode, provinceCode)
+                    .isNull(XpOpenCity::getCityCode).isNull(XpOpenCity::getDistrictCode));
+        }
+        return xpOpenCity;
+    }
 }

--
Gitblit v1.7.1