liujie
2026-02-14 7a12a72f5a66ae39ef1debf1f120c4d960693705
小程序接口优化
1个文件已添加
7个文件已修改
80 ■■■■■ 已修改文件
xp-robotaxi-api/src/main/java/com/xiaopeng/api/dto/vehicleConvoy/UpdateVehicleStateDto.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/vehicleConvoy/XpVehicleClientFallbackFactory.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/vehicleConvoy/XpVehicleClient.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpAgreementAppUser.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/OrderMissionController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpAgreementUserController.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/TaskOrderUtil.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/dto/vehicleConvoy/UpdateVehicleStateDto.java
New file
@@ -0,0 +1,18 @@
package com.xiaopeng.api.dto.vehicleConvoy;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@ApiModel("更新车辆状态")
@AllArgsConstructor
@NoArgsConstructor
public class UpdateVehicleStateDto {
    // 车辆vin
    private String vin;
    // 车辆状态
    private Integer state;
}
xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/vehicleConvoy/XpVehicleClientFallbackFactory.java
@@ -1,6 +1,7 @@
package com.xiaopeng.api.factory.vehicleConvoy;
import com.xiaopeng.api.dto.operation.VehiclePositionByVinDto;
import com.xiaopeng.api.dto.vehicleConvoy.UpdateVehicleStateDto;
import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient;
import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
import com.xiaopeng.api.vo.automaticPilot.VehiclePosition;
@@ -73,6 +74,12 @@
                log.error("根据车辆xpuid查询车辆信息,原因: {}", cause.getMessage());
                return R.fail();
            }
            @Override
            public R<?> updateVehicleStatus(UpdateVehicleStateDto updateVehicleStateDto) {
                log.error("更新车辆状态失败,原因: {}", cause.getMessage());
                return R.fail();
            }
        };
    }
}
xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/vehicleConvoy/XpVehicleClient.java
@@ -1,6 +1,7 @@
package com.xiaopeng.api.feignClient.vehicleConvoy;
import com.xiaopeng.api.dto.operation.VehiclePositionByVinDto;
import com.xiaopeng.api.dto.vehicleConvoy.UpdateVehicleStateDto;
import com.xiaopeng.api.factory.vehicleConvoy.XpVehicleClientFallbackFactory;
import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
import com.xiaopeng.common.core.domain.R;
@@ -91,4 +92,14 @@
     */
    @GetMapping("/inner/vehicle/findByVehicleXpuId")
    R<XpVehicle> findByVehicleXpuId(@RequestParam("xpuid") String xpuid);
    /**
     * 修改车辆状态
     *
     * @param updateVehicleStateDto
     * @return
     */
    @PostMapping("/inner/vehicle/updateVehicleStatus")
    R<?> updateVehicleStatus(@RequestBody UpdateVehicleStateDto updateVehicleStateDto);
}
xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpAgreementAppUser.java
@@ -30,7 +30,7 @@
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    @TableId(value = "id", type = IdType.INPUT)
    private Long id;
    @ApiModelProperty(value = "用户id")
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/OrderMissionController.java
@@ -3,6 +3,8 @@
import cn.hutool.core.util.IdUtil;
import com.xiaopeng.api.dto.automaticPilot.MqttPublishDto;
import com.xiaopeng.api.dto.automaticPilot.PushOrderDto;
import com.xiaopeng.api.dto.vehicleConvoy.UpdateVehicleStateDto;
import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient;
import com.xiaopeng.api.vo.automaticPilot.proto.down.ResponseMessage;
import com.xiaopeng.api.vo.automaticPilot.proto.down.StatusCode;
import com.xiaopeng.api.vo.automaticPilot.proto.down.cloudCreateOrder.RTTask;
@@ -29,10 +31,12 @@
    private final XPUUtil xpuUtil;
    private final RedisService redisService;
    private final XpVehicleClient xpVehicleClient;
    public OrderMissionController(XPUUtil xpuUtil, RedisService redisService) {
    public OrderMissionController(XPUUtil xpuUtil, RedisService redisService, XpVehicleClient xpVehicleClient) {
        this.xpuUtil = xpuUtil;
        this.redisService = redisService;
        this.xpVehicleClient = xpVehicleClient;
    }
@@ -50,6 +54,9 @@
        long sequence = snowFlake.nextId();
        MqttPublishDto mqttPublishDto = xpuUtil.cloudCreateOrder(task, dto.getVin(),sequence);
        if (mqttPublishDto.getCode()== 200) {
            // 修改车子为微单状态
            xpVehicleClient.updateVehicleStatus(new UpdateVehicleStateDto(dto.getVin(),1));
            return R.ok(true);
        }
        return R.ok(false);
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpAgreementUserController.java
@@ -1,5 +1,7 @@
package com.xiaopeng.operation.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.xiaopeng.api.model.maintenance.XpAgreementAppUser;
import com.xiaopeng.common.core.domain.R;
import com.xiaopeng.common.core.web.controller.BaseController;
import com.xiaopeng.common.core.web.domain.AjaxResult;
@@ -43,5 +45,20 @@
    }
    /**
     * 用户获取隐私协议/法律条款操作
     */
    @ApiOperation(value = "用户获取隐私协议/法律条款操作",tags = {"小程序-用户协议"})
    @PostMapping("/privacy/getAgreement")
    @XpClientCheck(checkToken = false, checkOtpToken = true)
    public R<Boolean> getPrivacyAgreement(HttpServletRequest request) {
        // uid已通过拦截器otp校验,可以直接使用
        String uid = request.getHeader("XP-Uid");
        long count = xpAgreementAppUserService.count(new LambdaQueryWrapper<XpAgreementAppUser>().eq(XpAgreementAppUser::getAppUserId, uid));
        if (count > 0) {
            return R.ok(true);
        }
        return R.ok(false);
    }
}
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/TaskOrderUtil.java
@@ -780,6 +780,8 @@
                        // 调用推送服务  orderId + carVin
                        orderMissionClient.pushOrder(pushOrderDto);
                        redisService.popFirstElement(quoteName);
                        return;
                    } catch (Exception e) {
                        e.printStackTrace();
                    } finally {
@@ -813,6 +815,8 @@
                        // 调用推送服务  orderId + carVin
                        orderMissionClient.pushOrder(pushOrderDto);
                        redisService.popFirstElement(quoteName);
                        return;
                    } catch (Exception e) {
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java
@@ -8,7 +8,9 @@
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.xiaopeng.api.dto.operation.VehiclePositionByVinDto;
import com.xiaopeng.api.dto.vehicleConvoy.UpdateVehicleStateDto;
import com.xiaopeng.api.dto.vehicleConvoy.VehicleTemperatureDto;
import com.xiaopeng.api.feignClient.maintenance.XpChargingRecordClient;
import com.xiaopeng.api.feignClient.maintenance.XpVehiclePreparationClient;
@@ -417,6 +419,16 @@
        return R.ok(xpVehicle);
    }
    /**
     * 修改车辆状态
     * @param updateVehicleStateDto
     * @return
     */
    @PostMapping("/inner/vehicle/updateVehicleStatus")
    public R<?> updateVehicleStatus(@RequestBody UpdateVehicleStateDto updateVehicleStateDto){
        xpVehicleService.update(new LambdaUpdateWrapper<XpVehicle>().eq(XpVehicle::getVehicleVin, updateVehicleStateDto.getVin()).set(XpVehicle::getState, updateVehicleStateDto.getState()));
        return R.ok();
    }
    /**
     * 查询可改派的车辆列表