From 0646f4a967fccc8ab9c74666424f5dc2d755fd55 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期四, 23 四月 2026 22:32:51 +0800
Subject: [PATCH] [feat] 巡游打卡详情

---
 xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpCruiseCheckInRecordServiceImpl.java |   27 ++++++++++++---------------
 1 files changed, 12 insertions(+), 15 deletions(-)

diff --git a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpCruiseCheckInRecordServiceImpl.java b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpCruiseCheckInRecordServiceImpl.java
index 48128ed..964598e 100644
--- a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpCruiseCheckInRecordServiceImpl.java
+++ b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpCruiseCheckInRecordServiceImpl.java
@@ -1,15 +1,19 @@
 package com.xiaopeng.maintenance.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xiaopeng.api.feignClient.account.XpOperationsUserClient;
 import com.xiaopeng.api.model.account.XpOperationsUser;
 import com.xiaopeng.api.model.maintenance.XpCheckLocation;
 import com.xiaopeng.api.model.maintenance.XpCruiseCheckInRecord;
+import com.xiaopeng.api.model.maintenance.XpCruiseCheckInRuleLocation;
 import com.xiaopeng.api.vo.account.XpOperationsUserProfileVO;
 import com.xiaopeng.common.core.web.page.PageInfo;
 import com.xiaopeng.maintenance.mapper.XpCruiseCheckInRecordMapper;
+import com.xiaopeng.maintenance.model.vo.AppXpCruiseCheckInLocationVo;
 import com.xiaopeng.maintenance.service.IXpCheckLocationService;
 import com.xiaopeng.maintenance.service.IXpCruiseCheckInRecordService;
+import com.xiaopeng.maintenance.service.IXpCruiseCheckInRuleLocationService;
 import com.xiaopeng.maintenance.vo.XpCruiseCheckInRecordQuery;
 import com.xiaopeng.maintenance.vo.XpCruiseCheckInRecordVO;
 import com.xiaopeng.maintenance.vo.XpCruiseCheckInStatisticsQuery;
@@ -20,10 +24,7 @@
 
 import javax.annotation.Resource;
 import java.time.LocalDate;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
@@ -65,21 +66,18 @@
         return pageInfo;
     }
 
-    IXpCheckLocationService checkLocationService;
+    @Resource
+    IXpCruiseCheckInRuleLocationService xpCruiseCheckInRuleLocationService;
 
     @Override
     public XpCruiseCheckInRecordVO detail(Long id) {
+
         XpCruiseCheckInRecordVO vo = xpCruiseCheckInRecordMapper.detail(id);
-
-//        Xp
-
-        XpCheckLocation location = checkLocationService.getById(vo.getCheckLocationId());
-        vo.setLocationRange(location.getLocationRange());
-        vo.setDetailAddr(location.getLocationAddress());
+        List<XpCruiseCheckInRuleLocation> list = xpCruiseCheckInRuleLocationService.list(new LambdaQueryWrapper<XpCruiseCheckInRuleLocation>()
+                .eq(XpCruiseCheckInRuleLocation::getCruiseCheckInRuleId,vo.getRuleId()).orderByAsc(XpCruiseCheckInRuleLocation::getSort));
+        vo.setPointCount(list.size());
         List<Long> ids = Collections.singletonList(vo.getOperationsUserId());
-        List<XpOperationsUser> xpOperationsUsers = xpOperationsUserClient.listByIds(ids).getData();
-        Map<Long, XpOperationsUser> userMap = xpOperationsUsers.stream().collect(Collectors.toMap(XpOperationsUser::getId, Function.identity()));
-        XpOperationsUser user = userMap.get(vo.getOperationsUserId());
+        XpOperationsUser user = xpOperationsUserClient.listByIds(ids).getData().get(0);
         if (user != null) {
             XpOperationsUserProfileVO profile = xpOperationsUserClient.getProfile(user.getId()).getData();
             vo.setOperationsUserId(user.getId());
@@ -88,7 +86,6 @@
             vo.setFleetName(profile.getFleet().getFleetName());
             vo.setRole(profile.getRoles().stream().map(XpOperationsUserProfileVO.RoleInfoVO::getRoleName).collect(Collectors.joining(",")));
         }
-
         return vo;
     }
 

--
Gitblit v1.7.1