“mitao”
2026-03-12 928a09e4e6579cc7c9799e50d25db44c28065572
bugfix
13个文件已修改
63 ■■■■■ 已修改文件
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpChargingRecordController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleCleanController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleDetectionController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehiclePreparationController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/model/vo/TaskManagementChargingDetailVO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/model/vo/TaskManagementPreparationDetailVO.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/model/vo/TaskManagementRepairDetailVO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/model/vo/TaskPreparationDetailVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/model/vo/TaskRepairDetailVO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/XpTaskService.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpInvitationCodeController.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpChargingRecordController.java
@@ -67,7 +67,7 @@
        Long id = tokenService.getLoginOperationUser().getId();
        xpChargingRecordService.stopCharging(dto, id);
        //更新任务状态
        xpTaskService.updateTaskStatus(dto.getTaskId(), 2);
        xpTaskService.updateTaskStatus(dto.getTaskId(), 2, id);
        return R.ok();
    }
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleCleanController.java
@@ -3,29 +3,20 @@
import com.xiaopeng.api.feignClient.account.XpOperationUserClient;
import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient;
import com.xiaopeng.api.model.account.XpOperationsUser;
import com.xiaopeng.api.model.maintenance.XpChargingRecord;
import com.xiaopeng.api.model.maintenance.XpVehicleClean;
import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
import com.xiaopeng.common.core.domain.R;
import com.xiaopeng.common.security.service.TokenService;
import com.xiaopeng.maintenance.dto.XpVehicleCleanDTO;
import com.xiaopeng.maintenance.model.vo.XpChargingRecordVO;
import com.xiaopeng.maintenance.model.vo.XpVehicleCleanVO;
import com.xiaopeng.maintenance.service.IXpTaskService;
import com.xiaopeng.maintenance.service.IXpVehicleCleanService;
import com.xiaopeng.maintenance.service.XpTaskService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.shardingsphere.transaction.annotation.ShardingSphereTransactionType;
import org.apache.shardingsphere.transaction.core.TransactionType;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import java.util.Objects;
/**
 * <p>
@@ -66,7 +57,7 @@
        dto.setOperationsUserId(id);
        xpVehicleCleanService.save(dto);
        // 处理任务状态
        xpTaskService.updateTaskStatus(dto.getTaskId(), 2);
        xpTaskService.updateTaskStatus(dto.getTaskId(), 2, id);
        return R.ok();
    }
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleDetectionController.java
@@ -3,14 +3,12 @@
import com.xiaopeng.api.feignClient.account.XpOperationUserClient;
import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient;
import com.xiaopeng.api.model.maintenance.XpTask;
import com.xiaopeng.common.core.domain.R;
import com.xiaopeng.common.core.web.page.PageInfo;
import com.xiaopeng.common.security.service.TokenService;
import com.xiaopeng.maintenance.dto.XpVehicleDetectionDTO;
import com.xiaopeng.maintenance.model.query.XpVehicleDetectionPageQuery;
import com.xiaopeng.maintenance.model.vo.XpVehicleDetectionVO;
import com.xiaopeng.maintenance.service.IXpTaskService;
import com.xiaopeng.maintenance.service.IXpVehicleDetectionService;
import com.xiaopeng.maintenance.service.XpTaskService;
import io.swagger.annotations.Api;
@@ -25,7 +23,6 @@
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
/**
 * <p>
@@ -84,7 +81,7 @@
        dto.setCheckTime(LocalDateTime.now());
        xpVehicleDetectionService.save(dto);
        //更新任务状态
        xpTaskService.updateTaskStatus(dto.getTaskId(), 2);
        xpTaskService.updateTaskStatus(dto.getTaskId(), 2, id);
        return R.ok();
    }
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehiclePreparationController.java
@@ -57,7 +57,7 @@
        dto.setOperationsUserId(id);
        xpVehiclePreparationService.save(dto);
        //更新任务状态
        xpTaskService.updateTaskStatus(dto.getTaskId(), 2);
        xpTaskService.updateTaskStatus(dto.getTaskId(), 2, id);
        return R.ok();
    }
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/model/vo/TaskManagementChargingDetailVO.java
@@ -45,12 +45,14 @@
    @ApiModelProperty(value = "开始充电图片")
    private String startChargingPicture;
    @ApiModelProperty(value = "开始充电时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime startTime;
    @ApiModelProperty(value = "结束剩余电量")
    private Integer endRemainingBattery;
    @ApiModelProperty(value = "结束充电图片")
    private String endChargingPicture;
    @ApiModelProperty(value = "结束充电时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime endTime;
    @ApiModelProperty(value = "开始充电操作人")
    private Long startOperationsUserId;
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/model/vo/TaskManagementPreparationDetailVO.java
@@ -78,6 +78,7 @@
    @ApiModelProperty(value = "操作人名称")
    private String operationsUserName;
    @ApiModelProperty(value = "操作时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime operationsTime;
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/model/vo/TaskManagementRepairDetailVO.java
@@ -68,6 +68,7 @@
    private String sendUserName;
    @ApiModelProperty(value = "送修时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime sendTime;
    @ApiModelProperty(value = "取回人")
@@ -76,6 +77,7 @@
    private String returnUserName;
    @ApiModelProperty(value = "取回时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime returnTime;
}
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/model/vo/TaskPreparationDetailVO.java
@@ -1,4 +1,4 @@
package com.xiaopeng.maintenance.vo;
package com.xiaopeng.maintenance.model.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
@@ -88,6 +88,7 @@
    @ApiModelProperty(value = "操作人名称")
    private String operationsUserName;
    @ApiModelProperty(value = "操作时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime operationsTime;
}
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/model/vo/TaskRepairDetailVO.java
@@ -75,6 +75,7 @@
    private String sendUserName;
    @ApiModelProperty(value = "送修时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime sendTime;
    @ApiModelProperty(value = "取回人")
@@ -84,5 +85,6 @@
    @ApiModelProperty(value = "取回时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime returnTime;
}
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/XpTaskService.java
@@ -69,10 +69,12 @@
    /**
     * 更新任务状态
     *
     * @param taskId
     * @param status
     * @param id
     */
    void updateTaskStatus(Long taskId, Integer status);
    void updateTaskStatus(Long taskId, Integer status, Long id);
    PageInfo<TaskManagementPageListVO> pageListManagement(TaskManagementPageListQuery query);
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java
@@ -1,12 +1,10 @@
package com.xiaopeng.maintenance.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson2.JSONObject;
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.dto.account.XpOperationsUserQueryDTO;
import com.xiaopeng.api.dto.pushMessage.AliPushMessageDTO;
import com.xiaopeng.api.feignClient.account.SysUserClient;
import com.xiaopeng.api.feignClient.account.XpOperationUserClient;
@@ -15,13 +13,11 @@
import com.xiaopeng.api.feignClient.vehicleConvoy.XpFleetOperationsClient;
import com.xiaopeng.api.feignClient.vehicleConvoy.XpFleetVehicleClient;
import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient;
import com.xiaopeng.api.model.account.SysUser;
import com.xiaopeng.api.model.account.XpOperationsRole;
import com.xiaopeng.api.model.account.XpOperationsUser;
import com.xiaopeng.api.model.account.XpOperationsUserNotification;
import com.xiaopeng.api.model.maintenance.*;
import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
import com.xiaopeng.api.vo.account.XpOperationsUserWithRoleVO;
import com.xiaopeng.api.vo.automaticPilot.VehiclePosition;
import com.xiaopeng.api.vo.maintenance.TaskScheduleConstants;
import com.xiaopeng.common.core.constant.AliPushTypeConstant;
@@ -955,11 +951,14 @@
    }
    @Override
    public void updateTaskStatus(Long taskId, Integer status) {
    public void updateTaskStatus(Long taskId, Integer status, Long operationUserId) {
        if (Objects.nonNull(taskId)) {
            XpTask task = this.getById(taskId);
            if (Objects.nonNull(task)) {
                this.lambdaUpdate().set(XpTask::getStatus, status).eq(XpTask::getId, taskId).update();
                this.lambdaUpdate().set(XpTask::getStatus, status).eq(XpTask::getId, taskId)
                        .set(XpTask::getHandleUserId, operationUserId)
                        .set(XpTask::getHandleTime, LocalDateTime.now())
                        .update();
            }
        }
    }
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpInvitationCodeController.java
@@ -347,14 +347,12 @@
    }
    @ApiOperation(value = "校验生成邀请码的手机号是否合法")
    @PostMapping("/api/v1/invitation/validateCode")
    public R<Boolean> validateCode(@RequestParam String phone){
        if (!PhoneUtil.isMobile(phone)){
            return R.ok(false);
        }
        List<XpInvitationCode> existsList = xpInvitationCodeService.lambdaQuery()
                .in(XpInvitationCode::getBindAccount, phone)
                .list();
        return R.ok(CollUtil.isEmpty(existsList));
    @GetMapping("/api/v1/invitation/validateCode")
    public R<List<String>> validateCode(@RequestParam String phone){
        List<String> phoneList = Arrays.asList(phone.split(","));
        List<String> existPhones = phoneList.stream().filter(item -> xpInvitationCodeService.lambdaQuery()
                .in(XpInvitationCode::getBindAccount, item)
                .count() > 0).collect(Collectors.toList());
        return R.ok(existPhones);
    }
}
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
@@ -530,7 +530,7 @@
        //取消订单:在未接到乘客前都可以,关闭订单,在送达目的地可以操作关闭
        if (type == 1) {
            // 取消订单:只有待接单(1)、待出发(2)、接驾中(3)状态可以取消
            if (currentStatus != 1 && currentStatus != 2 && currentStatus != 3) {
            if (currentStatus != 1 && currentStatus != 2 && currentStatus != 3 && currentStatus != 4) {
                throw new ServiceException("当前订单状态不允许取消,只有待接单、待出发、接驾中状态的订单可以取消", I18nKeyConstant.ORDER_CANCEL_FAILED);
            }
        } else {