From 11e55e11d3d3397cd2b54a65b2cda202be822296 Mon Sep 17 00:00:00 2001
From: yyy <1083599556@qq.com>
Date: 星期四, 30 四月 2026 09:21:54 +0800
Subject: [PATCH] Merge branch '1.0' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi into 1.0

---
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java |  120 ++++++++++++++++++++++++++++-------------------------------
 1 files changed, 57 insertions(+), 63 deletions(-)

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 53023d0..ea3aff9 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
@@ -2136,18 +2136,6 @@
                                 .put("orderType", OrderType.USER_ORDER)
                                 .build();
 
-                //如果是异常订单,需要定时创建客服工单
-                if(orderException){
-                    XpSystemSetting xpSystemSetting = xpSystemSettingClient.getSystemSettingOne().getData();
-                    QuartzManager.addJob(
-                            OrderExceptionJob.class,
-                            (OrderExceptionJob.name + xpOrder.getId()).toUpperCase(),
-                            TimeJobType.ADD_CRUISE_MISSION,
-                            DateUtils.localDateTimeToDate(LocalDateTime.now().plusMinutes(xpSystemSetting.getOrderExceptionalTimeout())),
-                            jobMaps
-                    );
-                }
-
                 //判断是否有连环单
                 String json = redisService.getCacheObject(CacheConstants.nextOrder(xpOrder.getId().toString()));
                 if (StringUtils.isNotEmpty(json)){
@@ -2284,19 +2272,19 @@
         order.setAppUserId(appUserId);
         bootCommonService.setCache_orderStatus(order.getId(),order,null);
         //删除蓝牙秘钥
-        String token = redisService.getCacheObject("rt:bluetooth:unlock:order:" + orderId);
-        if(StringUtils.isNotBlank(token)){
-            redisService.deleteObject("rt:bluetooth:unlock:" + token);
-            redisService.deleteObject("rt:bluetooth:unlock:order:" + orderId);
-            XpVehicle xpVehicle = xpVehicleClient.queryById(order.getVehicleId()).getData();
-            BluetoothDeliverVo vo = new BluetoothDeliverVo();
-            vo.setVim(xpVehicle.getVehicleVin());
-            vo.setPassengerUid(order.getAppUserId());
-            BaseVehicleUserDto delete = bluetoothUnlockClient.delete(vo);
-            if(null == delete || delete.getCode() != 0){
-                log.error("删除蓝牙解锁失败:{} {}", delete.getMsg(), order.getOrderNumber());
-            }
-        }
+//        String token = redisService.getCacheObject("rt:bluetooth:unlock:order:" + orderId);
+//        if(StringUtils.isNotBlank(token)){
+//            redisService.deleteObject("rt:bluetooth:unlock:" + token);
+//            redisService.deleteObject("rt:bluetooth:unlock:order:" + orderId);
+//            XpVehicle xpVehicle = xpVehicleClient.queryById(order.getVehicleId()).getData();
+//            BluetoothDeliverVo vo = new BluetoothDeliverVo();
+//            vo.setVim(xpVehicle.getVehicleVin());
+//            vo.setPassengerUid(order.getAppUserId());
+//            BaseVehicleUserDto delete = bluetoothUnlockClient.delete(vo);
+//            if(null == delete || delete.getCode() != 0){
+//                log.error("删除蓝牙解锁失败:{} {}", delete.getMsg(), order.getOrderNumber());
+//            }
+//        }
 
         // 根据订单所属开通城市id 查询定价
         XpPricing pricing = bootCommonService.getXpPricing(order.getCityId(),order.getVehicleId());
@@ -2353,12 +2341,15 @@
             xpOrderDetail.setType(1);
             xpOrderDetail.setMoney(new BigDecimal(xpPricingCardVo.getDistancePrice()).setScale(2,RoundingMode.HALF_UP));
             xpOrderDetails.add(xpOrderDetail);
-            xpOrderDetail = new XpOrderDetail();
-            xpOrderDetail.setDetailType(3);
-            xpOrderDetail.setOrderId(orderId);
-            xpOrderDetail.setType(1);
-            xpOrderDetail.setMoney(new BigDecimal(xpPricingCardVo.getDurationPrice()).setScale(2, RoundingMode.HALF_UP));
-            xpOrderDetails.add(xpOrderDetail);
+            //时长费不是必填项
+            if(null != xpPricingCardVo.getDurationPrice() && xpPricingCardVo.getDurationPrice() > 0){
+                xpOrderDetail = new XpOrderDetail();
+                xpOrderDetail.setDetailType(3);
+                xpOrderDetail.setOrderId(orderId);
+                xpOrderDetail.setType(1);
+                xpOrderDetail.setMoney(new BigDecimal(xpPricingCardVo.getDurationPrice()).setScale(2, RoundingMode.HALF_UP));
+                xpOrderDetails.add(xpOrderDetail);
+            }
 
             BigDecimal totalPrice =BigDecimal.ZERO;
             for (XpOrderDetail xpOrderDetail1 : xpOrderDetails) {
@@ -2372,7 +2363,6 @@
         else {
             //动态计费
             if (pricing.getPricingType() == 1) {
-
                 for (int i = 0; i < startingFareJsonArray.size(); i++) {
                     com.alibaba.fastjson2.JSONObject jsonObject = startingFareJsonArray.getJSONObject(i);
                     String num1 = jsonObject.getString("num1");
@@ -2464,6 +2454,8 @@
                             // 触发调价了
                             redisService.setCacheObject("USER_DYNAMIC_PRICE_" + order.getCityId() + "_" + uid, priceRate, time.longValue(), TimeUnit.MINUTES);
                         }
+
+                        //天气预报动态调价
 
                     }
                 }
@@ -3579,34 +3571,34 @@
                         .plusMinutes(routeVo1.getDuration()).plusMinutes(endPoint.getParkingTimeLimit()).plusMinutes(30);
                 long expirationTime = localDateTime.toEpochSecond(ZoneOffset.of("+8"));
                 //生成token
-                String token = bluetoothUnlockTokenUtil.generateBluetoothUnlockToken(order.getAppUserId(),
-                        order.getId(), order.getVehicleId(), expirationTime);
-                log.info("生成蓝牙token:{} 有效期:{} 订单号: {}", token, expirationTime, order.getOrderNumber());
-                //存储缓存
-                JSONObject jsonObject = new JSONObject();
-                jsonObject.put("userId", order.getAppUserId());
-                jsonObject.put("orderId", order.getId());
-                jsonObject.put("vehicleId", order.getVehicleId());
-                jsonObject.put("expirationTime", expirationTime);
-                jsonObject.put("orderNumber", order.getOrderNumber());
-                jsonObject.put("vehicleVin", vehicle.getVehicleVin());
-                jsonObject.put("createTime", System.currentTimeMillis());
-                redisService.setCacheObject("rt:bluetooth:unlock:" + token, jsonObject.toJSONString(), expirationTime, TimeUnit.SECONDS);
-                redisService.setCacheObject("rt:bluetooth:unlock:order:" + order.getId(), token, expirationTime, TimeUnit.SECONDS);
-                //开始下发蓝牙token
-                BluetoothDeliverVo vo = new BluetoothDeliverVo();
-                vo.setCredential(token);
-                vo.setVim(vehicle.getVehicleVin());
-                vo.setPassengerUid(order.getAppUserId());
-                BaseVehicleUserDto deliver = bluetoothUnlockClient.deliver(vo);
-                if(null == deliver){
-                    throw new ServiceException("下发蓝牙token失败");
-                }
-                if(deliver.getCode() != 0){
-                    log.error("下发蓝牙token失败:{} {}", deliver.getMsg(), order.getOrderNumber());
-                    throw new ServiceException(deliver.getMsg());
-                }
-                log.info("下发蓝牙token成功:{} {}", deliver.getData(), order.getOrderNumber());
+//                String token = bluetoothUnlockTokenUtil.generateBluetoothUnlockToken(order.getAppUserId(),
+//                        order.getId(), order.getVehicleId(), expirationTime);
+//                log.info("生成蓝牙token:{} 有效期:{} 订单号: {}", token, expirationTime, order.getOrderNumber());
+//                //存储缓存
+//                JSONObject jsonObject = new JSONObject();
+//                jsonObject.put("userId", order.getAppUserId());
+//                jsonObject.put("orderId", order.getId());
+//                jsonObject.put("vehicleId", order.getVehicleId());
+//                jsonObject.put("expirationTime", expirationTime);
+//                jsonObject.put("orderNumber", order.getOrderNumber());
+//                jsonObject.put("vehicleVin", vehicle.getVehicleVin());
+//                jsonObject.put("createTime", System.currentTimeMillis());
+//                redisService.setCacheObject("rt:bluetooth:unlock:" + token, jsonObject.toJSONString(), expirationTime, TimeUnit.SECONDS);
+//                redisService.setCacheObject("rt:bluetooth:unlock:order:" + order.getId(), token, expirationTime, TimeUnit.SECONDS);
+//                //开始下发蓝牙token
+//                BluetoothDeliverVo vo = new BluetoothDeliverVo();
+//                vo.setCredential(token);
+//                vo.setVim(vehicle.getVehicleVin());
+//                vo.setPassengerUid(order.getAppUserId());
+//                BaseVehicleUserDto deliver = bluetoothUnlockClient.deliver(vo);
+//                if(null == deliver){
+//                    throw new ServiceException("下发蓝牙token失败");
+//                }
+//                if(deliver.getCode() != 0){
+//                    log.error("下发蓝牙token失败:{} {}", deliver.getMsg(), order.getOrderNumber());
+//                    throw new ServiceException(deliver.getMsg());
+//                }
+//                log.info("下发蓝牙token成功:{} {}", deliver.getData(), order.getOrderNumber());
             }
 
             if(order.getStatus() == 2){
@@ -3792,9 +3784,11 @@
         }
         Integer status = xpOrder.getStatus();
         if(status > 2 && status < 8){
-            Boolean data = xpVehicleClient.getVehicleTrunkOpenStatus(xpOrder.getAppUserId(), xpOrder.getVehicleId()).getData();
-            xpOrder.setOpenTrunk(data ? 1 : 2);
-            xpOrderDetailVO.setOpenTrunk(data ? 1 : 2);
+//            Boolean data = xpVehicleClient.getVehicleTrunkOpenStatus(xpOrder.getAppUserId(), xpOrder.getVehicleId()).getData();
+//            xpOrder.setOpenTrunk(data ? 1 : 2);
+//            xpOrderDetailVO.setOpenTrunk(data ? 1 : 2);
+            xpOrder.setOpenTrunk(2);
+            xpOrderDetailVO.setOpenTrunk(2);
             xpOrder.setAppUserId(null);
             this.updateById(xpOrder);
         }

--
Gitblit v1.7.1