From 199b087e97231bc602cd5ed8668f37d6f336dff4 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期五, 03 四月 2026 16:38:56 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi
---
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpOpenCityServiceImpl.java | 29 +++++++++++++++++++++++++----
1 files changed, 25 insertions(+), 4 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 07a4bd8..337c053 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
@@ -2,23 +2,28 @@
import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xiaopeng.api.model.operation.XpOpenCity;
+import com.xiaopeng.api.model.operation.XpPricing;
+import com.xiaopeng.api.model.operation.XpRoutePlan;
import com.xiaopeng.common.core.exception.ServiceException;
import com.xiaopeng.common.core.web.page.PageInfo;
-import com.xiaopeng.common.security.utils.SecurityUtils;
import com.xiaopeng.operation.constant.I18nKeyConstant;
import com.xiaopeng.operation.dto.OpenCityAddDTO;
import com.xiaopeng.operation.dto.OpenCityEditDTO;
import com.xiaopeng.operation.mapper.XpOpenCityMapper;
import com.xiaopeng.operation.query.OpenCityPageQuery;
+import com.xiaopeng.operation.service.IXpPricingItemService;
+import com.xiaopeng.operation.service.IXpRoutePlanService;
import com.xiaopeng.operation.service.XpOpenCityService;
+import com.xiaopeng.operation.service.XpPricingService;
import com.xiaopeng.operation.vo.OpenCityListVO;
import com.xiaopeng.operation.vo.XpOpenCityNextVo;
import com.xiaopeng.operation.vo.XpOpenCityVo;
import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
@@ -36,7 +41,11 @@
*/
@Service
public class XpOpenCityServiceImpl extends ServiceImpl<XpOpenCityMapper, XpOpenCity> implements XpOpenCityService {
+ @Autowired
+ private IXpRoutePlanService xpRoutePlanService;
+ @Autowired
+ private XpPricingService xpPricingService;
@Override
@@ -59,14 +68,26 @@
}
@Override
- public List<OpenCityListVO> getOpenCityListForAdmin() {
+ public List<OpenCityListVO> getOpenCityListForAdmin(Integer type) {
// 1. 查询所有启用状态的开通城市
List<XpOpenCity> xpOpenCities = this.baseMapper.selectList(
new LambdaQueryWrapper<XpOpenCity>()
.eq(XpOpenCity::getStatus, 1)
.orderByAsc(XpOpenCity::getId)
);
-
+ List<Long> existsOpenCityIds = new ArrayList<>();
+ //2.根据type过滤已配置的开通城市
+ if (Integer.valueOf(1).equals(type)) {
+ //路径规划
+ existsOpenCityIds = xpRoutePlanService.list().stream().map(XpRoutePlan::getOpenCityId).collect(Collectors.toList());
+ } else {
+ //定价管理
+ existsOpenCityIds = xpPricingService.list().stream().map(XpPricing::getCityId).collect(Collectors.toList());
+ }
+ if (CollUtil.isNotEmpty(existsOpenCityIds)) {
+ List<Long> finalExistsOpenCityIds = existsOpenCityIds;
+ xpOpenCities = xpOpenCities.stream().filter(item -> !finalExistsOpenCityIds.contains(item.getId())).collect(Collectors.toList());
+ }
// 2. 转换为VO,处理区/县级拼接逻辑
return xpOpenCities.stream()
.map(city -> {
--
Gitblit v1.7.1