From 89351ad17c81b37495f21d4dfbf28f0d306a155a Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 22 十月 2025 18:23:05 +0800
Subject: [PATCH] 虚拟号修改

---
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java |   22 ++++++++++++----------
 1 files changed, 12 insertions(+), 10 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 42a9264..82c3006 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
@@ -15,10 +15,7 @@
 import com.ruoyi.admin.utils.DescribeInstances;
 import com.ruoyi.admin.utils.HttpUtil;
 import com.ruoyi.admin.utils.PrivateNumberUtil;
-import com.ruoyi.admin.vo.OrderByServeRecordVO;
-import com.ruoyi.admin.vo.OrderDetailVO;
-import com.ruoyi.admin.vo.OrderReasinDto;
-import com.ruoyi.admin.vo.ReassinDto;
+import com.ruoyi.admin.vo.*;
 import com.ruoyi.admin.voice.util.AXBUtil;
 import com.ruoyi.common.core.constant.Constants;
 import com.ruoyi.common.core.domain.BaseEntity;
@@ -113,6 +110,8 @@
     private PrivateNumberUtil privateNumberUtil;
     @Autowired
     private IamConfigService iamConfigService;
+    @Autowired
+    private OrderRecordingService orderRecordingService;
     /**
      * 雪花算法类
      */
@@ -385,7 +384,7 @@
             IamConfig iamConfig = iamConfigService.getById(1);
             if(Objects.nonNull(order.getIsOpenVirtualNumber()) && order.getIsOpenVirtualNumber() == 1){
                 // 虚拟号码绑定
-                String result = AXBUtil.axbBindNumber(iamConfig.getAppKey(), iamConfig.getAppSecret(), order.getOrderNumber(), order.getReservationPhone(), masterWorker.getPhone());
+                String result = AXBUtil.axbBindNumber(iamConfig.getAppKey(), iamConfig.getAppSecret(), iamConfig.getVirtualNumber(), order.getReservationPhone(), masterWorker.getPhone());
                 // 存储绑定后的唯一标识
                 JSONObject jsonObject = JSONObject.parseObject(result);
                 String subscriptionId = jsonObject.getString("subscriptionId");
@@ -430,7 +429,7 @@
             IamConfig iamConfig = iamConfigService.getById(1);
             if(Objects.nonNull(order.getIsOpenVirtualNumber()) && order.getIsOpenVirtualNumber() == 1){
                 // 虚拟号码绑定
-                String result = AXBUtil.axbBindNumber(iamConfig.getAppKey(), iamConfig.getAppSecret(), order.getOrderNumber(), order.getReservationPhone(), masterWorker.getPhone());
+                String result = AXBUtil.axbBindNumber(iamConfig.getAppKey(), iamConfig.getAppSecret(), iamConfig.getVirtualNumber(), order.getReservationPhone(), masterWorker.getPhone());
                 // 存储绑定后的唯一标识
                 JSONObject jsonObject = JSONObject.parseObject(result);
                 String subscriptionId = jsonObject.getString("subscriptionId");
@@ -478,15 +477,18 @@
             MasterWorker masterWorker = masterWorkerService.lambdaQuery()
                     .eq(MasterWorker::getId, orderReasinDto.getWorkerId())
                     .eq(MasterWorker::getIsDelete, 0).one();
-            Order order = orderClient.exchangeOrder(orderId.getType(), orderId.getOrderId(), orderReasinDto.getWorkerId(),
-                    masterWorker.getRealName(), masterWorker.getPhone()).getData();
             try{
                 // 虚拟号码  师傅号码备案
                 String fileName = privateNumberUtil.uploadNumberFile(masterWorker.getProfilePicture()).getData();
                 R r = privateNumberUtil.addANumber(masterWorker.getPhone(), masterWorker.getRealName(), masterWorker.getIdNumber(), fileName);
+                if(r.getCode() == 500){
+                    throw new GlobalException(r.getMsg());
+                }
             }catch (Exception e){
                 throw new GlobalException("虚拟号码绑定异常!");
             }
+            Order order = orderClient.exchangeOrder(orderId.getType(), orderId.getOrderId(), orderReasinDto.getWorkerId(),
+                    masterWorker.getRealName(), masterWorker.getPhone()).getData();
             // 虚拟号码配置
             IamConfig iamConfig = iamConfigService.getById(1);
             // 订单派单
@@ -510,7 +512,7 @@
                         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());
+                        String result = AXBUtil.axbBindNumber(iamConfig.getAppKey(), iamConfig.getAppSecret(), iamConfig.getVirtualNumber(), order.getReservationPhone(), masterWorker.getPhone());
                         // 存储绑定后的唯一标识
                         JSONObject jsonObject = JSONObject.parseObject(result);
                         String subscriptionId = jsonObject.getString("subscriptionId");
@@ -524,7 +526,7 @@
                 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());
+                    String result = AXBUtil.axbBindNumber(iamConfig.getAppKey(), iamConfig.getAppSecret(), iamConfig.getVirtualNumber(), order.getReservationPhone(), masterWorker.getPhone());
                     // 存储绑定后的唯一标识
                     JSONObject jsonObject = JSONObject.parseObject(result);
                     String subscriptionId = jsonObject.getString("subscriptionId");

--
Gitblit v1.7.1