xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/vehicleConvoy/XpVehicleClientFallbackFactory.java
@@ -93,6 +93,12 @@ log.error("查询车辆所属车队id失败,原因: {}", cause.getMessage()); return R.fail("查询车辆所属车队id失败"); } }; @Override public R<Boolean> getVehicleTrunkOpenStatus(Long uid, Long id) { log.error("获取车辆后备箱开关状态失败,原因: {}", cause.getMessage()); return R.fail("获取车辆后备箱开关状态失败:" + cause.getMessage()); }}; } } xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/vehicleConvoy/XpVehicleClient.java
@@ -118,4 +118,14 @@ @GetMapping("/inner/vehicle/findFleetIdByVehicleId") R<Long> findFleetIdByVehicleId(@RequestParam Long vehicleId); /** * 获取车辆后备箱开关状态 * @param uid * @param id * @return */ @PostMapping("/inner/vi/vehicle/getVehicleTrunkOpenStatus") R<Boolean> getVehicleTrunkOpenStatus(@RequestParam("uid") Long uid, @RequestParam("id") Long id); } xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/model/vo/XpOrderDetailVO.java
@@ -196,4 +196,6 @@ @ApiModelProperty(value = "纬度") private Double latitude; } @ApiModelProperty(value = "后备箱状态(1=打开,2=关闭)") private Integer openTrunk; } xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
@@ -27,6 +27,7 @@ import com.xiaopeng.api.dto.statistics.StatisticsQueryDTO; import com.xiaopeng.api.dto.vehicleConvoy.BaseVehicleUserDto; import com.xiaopeng.api.dto.vehicleConvoy.UpdateVehicleStateDto; import com.xiaopeng.api.dto.vehicleConvoy.VehicleTemperatureDto; import com.xiaopeng.api.feignClient.account.UserResourcesClient; import com.xiaopeng.api.feignClient.account.XpAppUserCouponClient; import com.xiaopeng.api.feignClient.automaticPilot.OrderMissionClient; @@ -36,10 +37,7 @@ import com.xiaopeng.api.feignClient.operation.XpPricingClient; import com.xiaopeng.api.feignClient.operation.XpSystemSettingClient; import com.xiaopeng.api.feignClient.pushMessage.XpPushMessageClient; import com.xiaopeng.api.feignClient.vehicleConvoy.UserVehicleClient; import com.xiaopeng.api.feignClient.vehicleConvoy.XpFleetClient; import com.xiaopeng.api.feignClient.vehicleConvoy.XpFleetVehicleClient; import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient; import com.xiaopeng.api.feignClient.vehicleConvoy.*; import com.xiaopeng.api.model.maintenance.XpTaskRule; import com.xiaopeng.api.model.operation.*; import com.xiaopeng.api.model.order.*; @@ -3010,7 +3008,14 @@ xpOrderDetailVO.setPlateNumber(vehicle.getPlateNumber()); xpOrderDetailVO.setVehiclePictures(vehicle.getVehiclePictures()); } Integer status = xpOrder.getStatus(); if(status == 4 || status == 7 || status == 8){ Boolean data = xpVehicleClient.getVehicleTrunkOpenStatus(xpOrder.getAppUserId(), xpOrder.getVehicleId()).getData(); xpOrder.setOpenTrunk(data ? 1 : 2); xpOrderDetailVO.setOpenTrunk(data ? 1 : 2); xpOrder.setAppUserId(null); this.updateById(xpOrder); } return xpOrderDetailVO; } xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java
@@ -1018,4 +1018,17 @@ collection.drop(); return R.ok(); } /** * 获取车辆后备箱开关状态 * @param uid * @param id * @return */ @PostMapping("/inner/vi/vehicle/getVehicleTrunkOpenStatus") public R<Boolean> getVehicleTrunkOpenStatus(@RequestParam("uid") Long uid, @RequestParam("id") Long id){ Boolean vehicleTrunkOpenStatus = xpVehicleService.getVehicleTrunkOpenStatus(uid, id); return R.ok(vehicleTrunkOpenStatus); } } xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/IXpVehicleService.java
@@ -8,6 +8,7 @@ import com.xiaopeng.vehicleConvoy.model.importExcel.XpVehicleImportExcel; import com.xiaopeng.vehicleConvoy.model.query.*; import com.xiaopeng.vehicleConvoy.model.vo.XpVehicleVO; import org.springframework.web.bind.annotation.RequestParam; import java.util.List; @@ -173,4 +174,12 @@ * @param query@return */ PageInfo<XpVehicleVO> getVehiclePageList(VehicleSelectPageQuery query); /** * 获取车辆后备箱是否打开状态 * @param id * @return */ Boolean getVehicleTrunkOpenStatus(Long uid, Long id); } xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/XpVehicleServiceImpl.java
@@ -23,7 +23,7 @@ import com.xiaopeng.api.model.vehicleConvoy.*; import com.xiaopeng.api.vo.automaticPilot.VehiclePosition; import com.xiaopeng.api.vo.operation.ElectronicFenceDetailVo; import com.xiaopeng.api.vo.vehicleConvoy.VehiclesCommandEnum; import com.xiaopeng.api.vo.vehicleConvoy.VehicleStateVo;import com.xiaopeng.api.vo.vehicleConvoy.VehiclesCommandEnum; import com.xiaopeng.api.vo.vehicleConvoy.VehiclesCommandParamVo; import com.xiaopeng.api.vo.vehicleConvoy.VehiclesCommandVo; import com.xiaopeng.common.core.constant.CacheConstants; @@ -1009,4 +1009,22 @@ pageInfo.setRecords(page.getRecords()); return pageInfo; } @Override public Boolean getVehicleTrunkOpenStatus(Long uid, Long id) { XpVehicle xpVehicle = this.getById(id); try { VehicleTemperatureDto vehicleTemperatureDto = vehicleControlUtil.queryVehicleTemperature(uid, xpVehicle.getVehicleVin()); log.info("查询车辆温度成功:{}", vehicleTemperatureDto); VehicleStateVo trunkAjarCloseSt = vehicleTemperatureDto.getStateMap().get("trunkAjarCloseSt"); if(null == trunkAjarCloseSt){ return false; } return trunkAjarCloseSt.getValue().equals("1"); } catch (Exception e) { log.error("查询车辆温度失败", e); return false; } } }