From ea0bb2911ae4a1671be87bf41349c1e5a516beb3 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 27 二月 2026 17:34:59 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpPointManagementController.java |    1 
 xp-robotaxi-operation-boot/src/main/resources/mapper/operation/XpPointMapper.xml                            |    1 
 xp-robotaxi-account-boot/src/main/resources/mapper/account/XpOperationsUserMapper.xml                       |    4 +-
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/model/vo/XpOrderHistoryListVO.java                  |    4 ++
 xp-robotaxi-order-boot/src/main/resources/mapper/order/XpOrderMapper.xml                                    |    2 
 xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/maintenance/XpTask.java                                |    3 -
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java                |   32 ++++++++--------
 xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java     |   62 ++++++++++++++++++++++++++++++-
 8 files changed, 86 insertions(+), 23 deletions(-)

diff --git a/xp-robotaxi-account-boot/src/main/resources/mapper/account/XpOperationsUserMapper.xml b/xp-robotaxi-account-boot/src/main/resources/mapper/account/XpOperationsUserMapper.xml
index b105732..6a3963c 100644
--- a/xp-robotaxi-account-boot/src/main/resources/mapper/account/XpOperationsUserMapper.xml
+++ b/xp-robotaxi-account-boot/src/main/resources/mapper/account/XpOperationsUserMapper.xml
@@ -32,7 +32,7 @@
         xou.id_card_front, xou.id_card_back, xou.driver_license, xou.certificate_of_no_criminal_record,
         xou.training_graduation_certificate, xou.is_deleted, xou.create_time, xou.update_time, xou.create_by
             from xp_operations_user xou
-        left join xp_operations_role xor on xou.id = xor.operations_user_id
+        left join xp_operations_role xore on xou.id = xore.operations_user_id
         where xou.is_deleted = 0
             <if test="query.nickName != null and query.nickName != ''">
                 and xou.nick_name like concat('%',#{query.nickName},'%')
@@ -41,7 +41,7 @@
                 and xou.phone_number like concat('%',#{query.phoneNumber},'%')
             </if>
             <if test="query.roleId != null">
-                and xor.role_id = #{query.roleId}
+                and xore.role_id = #{query.roleId}
             </if>
             <if test="query.status != null">
                 and xou.status = #{query.status}
diff --git a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/maintenance/XpTask.java b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/maintenance/XpTask.java
index c2531c8..d99b82b 100644
--- a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/maintenance/XpTask.java
+++ b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/maintenance/XpTask.java
@@ -51,8 +51,7 @@
 
     @ApiModelProperty(value = "任务描述图片")
     private String taskImage;
-    @ApiModelProperty(value = "任务描述图片")
-    private String belongUserIds;
+
 
 
     @ApiModelProperty(value = "车辆id")
diff --git a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java
index 5d3bfe2..d91c63f 100644
--- a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java
+++ b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java
@@ -55,6 +55,8 @@
 public class XpTaskServiceImpl extends ServiceImpl<XpTaskMapper, XpTask> implements XpTaskService {
     @Autowired
     private RedissonClient redissonClient;
+    @Autowired
+    private XpErrorTypeMapper errorTypeMapper;
     /**
      * 常规任务类型映射
      */
@@ -82,8 +84,7 @@
     private XpVehiclePreparationMapper vehiclePreparationMapper;
     @Autowired
     private XpVehicleDetectionMapper vehicleDetectionMapper;
-    @Autowired
-    private XpErrorTypeMapper errorTypeMapper;
+
     @Autowired
     private XpVehicleCleanMapper vehicleCleanMapper;
     @Autowired
@@ -774,6 +775,62 @@
     public PageInfo<TaskManagementPageListVO> pageListManagement(TaskManagementPageListQuery query) {
         PageInfo<TaskManagementPageListVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
         List<TaskManagementPageListVO> list = this.baseMapper.pageListManagement(pageInfo, query);
+        for (TaskManagementPageListVO taskManagementPageListVO : list) {
+            if (taskManagementPageListVO.getTaskCategory() == 1) {
+                switch (taskManagementPageListVO.getTaskTypeId()) {
+                    case "1":
+                        taskManagementPageListVO.setTaskTypeName("车辆检查");
+                        break;
+                    case "2":
+                        taskManagementPageListVO.setTaskTypeName("车辆充电");
+                        break;
+                    case "3":
+                        taskManagementPageListVO.setTaskTypeName("车辆整备");
+                        break;
+                    case "4":
+                        taskManagementPageListVO.setTaskTypeName("整备洗车");
+                        break;
+                    case "5":
+                        taskManagementPageListVO.setTaskTypeName("车辆维修");
+                        break;
+                    case "6":
+                        taskManagementPageListVO.setTaskTypeName("车辆保养");
+                        break;
+                    case "7":
+                        taskManagementPageListVO.setTaskTypeName("车辆保险到期");
+                        break;
+                    case "8":
+                        taskManagementPageListVO.setTaskTypeName("车辆年检到期");
+                        break;
+                    case "9":
+                        taskManagementPageListVO.setTaskTypeName("车辆运营资质到期");
+                        break;
+                    default:
+                        taskManagementPageListVO.setTaskTypeName("");
+                        break;
+                }
+            }else{
+                StringBuilder taskTypeName = new StringBuilder();
+                String[] typeIds = taskManagementPageListVO.getTaskTypeId().split(",");
+                List<XpErrorType> xpErrorTypes = errorTypeMapper.selectList(new LambdaQueryWrapper<XpErrorType>()
+                        .in(XpErrorType::getId, Arrays.asList(typeIds)).orderByAsc(XpErrorType::getParentId));
+                List<XpErrorType> parents = new ArrayList<>();
+                for (XpErrorType xpErrorType : xpErrorTypes) {
+                    if (xpErrorType.getParentId() == 0) {
+                        parents.add(xpErrorType);
+                    }
+                }
+                for (XpErrorType parent : parents) {
+                    List<XpErrorType> children = xpErrorTypes.stream().filter(e -> e.getParentId().equals(parent.getId())).collect(Collectors.toList());
+                    taskTypeName.append(parent.getErrorName()).append(">");
+                    for (XpErrorType child : children) {
+                        taskTypeName.append(child.getErrorName()).append(";");
+                    }
+                }
+
+                taskManagementPageListVO.setTaskTypeName(taskTypeName.substring(0, taskTypeName.length() - 1));
+            }
+        }
         pageInfo.setRecords(list);
         return pageInfo;
     }
@@ -794,6 +851,7 @@
         XpTask task = this.getById(id);
         task.setAssigneeTime(LocalDateTime.now());
         task.setHandleUserId(handlerUserId.toString());
+        task.setVehicleId(null);
         task.setAssigneeUserId(assigneeUserId);
         this.updateById(task);
         return R.ok();
diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpPointManagementController.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpPointManagementController.java
index 5c88197..19c00be 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpPointManagementController.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpPointManagementController.java
@@ -134,6 +134,7 @@
     public R enableDisable(@RequestBody XpPointEnableDisableDto dto) {
         XpPoint xpPoint = xpPointService.getById(dto.getId());
         xpPoint.setOperationStatus(dto.getOperationStatus());
+        xpPoint.setElectronicAreaId(null);
         xpPointService.updateById(xpPoint);
         return R.ok();
     }
diff --git a/xp-robotaxi-operation-boot/src/main/resources/mapper/operation/XpPointMapper.xml b/xp-robotaxi-operation-boot/src/main/resources/mapper/operation/XpPointMapper.xml
index 33708b6..21492e1 100644
--- a/xp-robotaxi-operation-boot/src/main/resources/mapper/operation/XpPointMapper.xml
+++ b/xp-robotaxi-operation-boot/src/main/resources/mapper/operation/XpPointMapper.xml
@@ -107,6 +107,7 @@
     </select>
     <select id="pageList" resultType="com.xiaopeng.api.model.operation.XpPoint">
         select xp.id,xp.point_number as pointNumber,xp.point_name as pointName,xp.point_poi as pointPoi,
+               xp.point_address as pointAddress,
                xp.point_lon as pointLon,xp.point_lat as pointLat,xp.create_time as createTime,xp.create_by as createBy
         ,xp.parking_time_limit as parkingTimeLimit,xp.verification_status as verificationStatus,xp.operation_status as operationStatus
         from xp_point xp
diff --git a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/model/vo/XpOrderHistoryListVO.java b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/model/vo/XpOrderHistoryListVO.java
index a085cbe..bee3069 100644
--- a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/model/vo/XpOrderHistoryListVO.java
+++ b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/model/vo/XpOrderHistoryListVO.java
@@ -29,7 +29,11 @@
     @ApiModelProperty("订单金额")
     private Double amount;
 
+    private String timeStr;
 
     @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private LocalDateTime time;
+
+
+
 }
diff --git a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
index b28669a..a7984d3 100644
--- a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
+++ b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
@@ -702,10 +702,10 @@
         xpOrderHistoryVO.setTotal((int) page.getTotal());
 
         // 根据time分组
-        Map<LocalDateTime, List<XpOrderHistoryListVO>> map = list.stream().collect(Collectors.groupingBy(XpOrderHistoryListVO::getTime));
+        Map<String, List<XpOrderHistoryListVO>> map = list.stream().collect(Collectors.groupingBy(XpOrderHistoryListVO::getTimeStr));
         List<XpOrderHistoryDateVO> dateVOS = map.entrySet().stream().map(entry -> {
             XpOrderHistoryDateVO xpOrderHistoryDateVO = new XpOrderHistoryDateVO();
-            xpOrderHistoryDateVO.setDateLabel(entry.getKey().toString());
+            xpOrderHistoryDateVO.setDateLabel(entry.getKey());
             List<XpOrderHistoryListVO> value = entry.getValue();
             value = value.stream().sorted(Comparator.comparing(XpOrderHistoryListVO::getTime).reversed()).collect(Collectors.toList());
             xpOrderHistoryDateVO.setOrders(value);
@@ -950,16 +950,7 @@
             throw new RuntimeException("订单状态错误");
         }
         order.setStatus(8);
-        // 计算完价格后 挑选优惠券
-        GetUserCouponDto getUserCouponDto = new GetUserCouponDto();
-        getUserCouponDto.setUserId(Long.valueOf(uid));
-        getUserCouponDto.setTotalAmount(order.getOrderMoney().doubleValue());
-        R<UserCouponVo> userCouponVoR = xpAppUserCouponClient.getUserCoupon(getUserCouponDto);
-        UserCouponVo userCouponVo = userCouponVoR.getData();
-        if (userCouponVo != null) {
-            order.setCouponId(userCouponVo.getId());
-            order.setCouponMoney(BigDecimal.valueOf(userCouponVo.getMoney()));
-        }
+        order.setAppUserId(null);
         order.setTripEnd(LocalDateTime.now());
         baseMapper.updateById(order);
         // 解绑用户与车辆关系
@@ -1201,6 +1192,7 @@
                 .add(order.getLongDistancemoney() != null ? order.getLongDistancemoney() : BigDecimal.ZERO)
                 .add(order.getWaitMoney()!=null?order.getWaitMoney():BigDecimal.ZERO);
         order.setOrderMoney(orderMoney);
+        order.setAppUserId(null);
         baseMapper.updateById(order);
         if (order.getCouponId() != null) {
             UseUserCouponDto useUserCouponDto = new UseUserCouponDto();
@@ -1211,10 +1203,18 @@
             useUserCouponDto.setUserCouponId(order.getCouponId());
             xpAppUserCouponClient.useUserCoupon(useUserCouponDto);
         }
-
-
-
-
+// 计算完价格后 挑选优惠券
+        GetUserCouponDto getUserCouponDto = new GetUserCouponDto();
+        getUserCouponDto.setUserId(Long.valueOf(uid));
+        getUserCouponDto.setTotalAmount(order.getOrderMoney().doubleValue());
+        R<UserCouponVo> userCouponVoR = xpAppUserCouponClient.getUserCoupon(getUserCouponDto);
+        UserCouponVo userCouponVo = userCouponVoR.getData();
+        if (userCouponVo != null) {
+            order.setCouponId(userCouponVo.getId());
+            order.setCouponMoney(BigDecimal.valueOf(userCouponVo.getMoney()));
+        }
+        order.setAppUserId(null);
+        baseMapper.updateById(order);
         // 结束后的车辆操作
         if(vehicle!=null){
             // 生成新的巡游单子 回到最新巡游的初始起点位置
diff --git a/xp-robotaxi-order-boot/src/main/resources/mapper/order/XpOrderMapper.xml b/xp-robotaxi-order-boot/src/main/resources/mapper/order/XpOrderMapper.xml
index cce1ad6..cda61bb 100644
--- a/xp-robotaxi-order-boot/src/main/resources/mapper/order/XpOrderMapper.xml
+++ b/xp-robotaxi-order-boot/src/main/resources/mapper/order/XpOrderMapper.xml
@@ -46,7 +46,7 @@
     </select>
     <select id="getHistoryOrderList" resultType="com.xiaopeng.order.model.vo.XpOrderHistoryListVO">
         select start_point_name as originAddress, end_point_name as destinationAddress,
-        DATE_FORMAT(create_time, '%H:%i') AS orderTime, pay_money as amount,create_time as time,
+        DATE_FORMAT(create_time, '%H:%i') AS orderTime, pay_money as amount,create_time as time,DATE_FORMAT(create_time,'%Y-%m-%d') AS timeStr,
         id as orderId from xp_order where app_user_id = #{uid} and is_deleted = 0 and status in (9,10)
         <if test="query.status != null">
             and status = #{query.status}

--
Gitblit v1.7.1