From 18f7360b6d8a02a8ff49e22e1b568a227811beff Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期二, 21 十月 2025 18:04:51 +0800
Subject: [PATCH] 是否启用虚拟号

---
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java |   35 ++++++++++++++++++++---------------
 1 files changed, 20 insertions(+), 15 deletions(-)

diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java
index 2d5a75d..d56f51a 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java
@@ -467,10 +467,26 @@
                 if (order.getState().equals(Constants.TWO)) {
                     orderClient.updateStateAndArrivalTime(orderId.getOrderId(), Constants.ONE);
                 }
-                if(StringUtils.hasLength(order.getSubscriptionId())){
-                    // 虚拟号码更换
-                    AXBUtil.axbModifyNumber(iamConfig.getAppKey(),iamConfig.getAppSecret(),order.getSubscriptionId(), order.getReservationPhone(), masterWorker.getPhone());
-                }else {
+
+                if(Objects.nonNull(order.getIsOpenVirtualNumber()) && order.getIsOpenVirtualNumber() == 1){
+                    if(StringUtils.hasLength(order.getSubscriptionId())){
+                        // 虚拟号码更换
+                        AXBUtil.axbModifyNumber(iamConfig.getAppKey(),iamConfig.getAppSecret(),order.getSubscriptionId(), order.getReservationPhone(), masterWorker.getPhone());
+                    }else {
+                        // 虚拟号码绑定
+                        String result = AXBUtil.axbBindNumber(iamConfig.getAppKey(), iamConfig.getAppSecret(), order.getOrderNumber(), order.getReservationPhone(), masterWorker.getPhone());
+                        // 存储绑定后的唯一标识
+                        JSONObject jsonObject = JSONObject.parseObject(result);
+                        String subscriptionId = jsonObject.getString("subscriptionId");
+                        orderClient.updateSubscriptionId(order.getId(), subscriptionId,iamConfig.getVirtualNumber());
+                    }
+                }
+
+
+            }else {
+                orderClient.updateArrivalTime(order.getId(),orderReasinDto.getArriveTime());
+                orderClient.updateState(order.getId(), 7);
+                if(Objects.nonNull(order.getIsOpenVirtualNumber()) && order.getIsOpenVirtualNumber() == 1){
                     // 虚拟号码绑定
                     String result = AXBUtil.axbBindNumber(iamConfig.getAppKey(), iamConfig.getAppSecret(), order.getOrderNumber(), order.getReservationPhone(), masterWorker.getPhone());
                     // 存储绑定后的唯一标识
@@ -478,17 +494,6 @@
                     String subscriptionId = jsonObject.getString("subscriptionId");
                     orderClient.updateSubscriptionId(order.getId(), subscriptionId,iamConfig.getVirtualNumber());
                 }
-
-            }else {
-                orderClient.updateArrivalTime(order.getId(),orderReasinDto.getArriveTime());
-                orderClient.updateState(order.getId(), 7);
-                // 虚拟号码绑定
-                String result = AXBUtil.axbBindNumber(iamConfig.getAppKey(), iamConfig.getAppSecret(), order.getOrderNumber(), order.getReservationPhone(), masterWorker.getPhone());
-                // 存储绑定后的唯一标识
-                JSONObject jsonObject = JSONObject.parseObject(result);
-                String subscriptionId = jsonObject.getString("subscriptionId");
-                orderClient.updateSubscriptionId(order.getId(), subscriptionId,iamConfig.getVirtualNumber());
-
             }
             ChannelHandlerContext context = NettyChannelMap.getData(String.valueOf(orderReasinDto.getWorkerId()));
             if (null != context) {

--
Gitblit v1.7.1