From 18f7360b6d8a02a8ff49e22e1b568a227811beff Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期二, 21 十月 2025 18:04:51 +0800
Subject: [PATCH] 是否启用虚拟号
---
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/OrderRequest.java | 3 +++
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java | 35 ++++++++++++++++++++---------------
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/Order.java | 4 ++++
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/Order.java | 3 +++
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Order.java | 4 ++++
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java | 1 +
ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/controller/OrderController.java | 6 +++---
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/request/OrderRequest.java | 3 ++-
8 files changed, 40 insertions(+), 19 deletions(-)
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/Order.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/Order.java
index a50b94b..cca4163 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/Order.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/Order.java
@@ -215,4 +215,8 @@
@ApiModelProperty("录音文件名")
@TableField("record_object_name")
private String recordObjectName;
+ @ApiModelProperty("是否启用虚拟号 1=是 0=否")
+ @TableField("is_open_virtual_number")
+ private Integer isOpenVirtualNumber;
+
}
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/OrderRequest.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/OrderRequest.java
index e61b5ae..4f460b4 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/OrderRequest.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/OrderRequest.java
@@ -1,5 +1,6 @@
package com.ruoyi.order.api.entity;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -111,5 +112,7 @@
@ApiModelProperty("再投原因")
private String applyReason;
+ @ApiModelProperty("是否启用虚拟号 1=是 0=否")
+ private Integer isOpenVirtualNumber;
}
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) {
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/Order.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/Order.java
index 729eaa2..92bb71a 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/Order.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/Order.java
@@ -163,5 +163,8 @@
@ApiModelProperty("录音文件名")
@TableField("record_object_name")
private String recordObjectName;
+ @ApiModelProperty("是否启用虚拟号 1=是 0=否")
+ @TableField("is_open_virtual_number")
+ private Integer isOpenVirtualNumber;
}
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
index df666e7..6f66d6e 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
@@ -406,6 +406,7 @@
order.setOrderMoney(orderRequest.getOrderMoney());
order.setProvinceCode(orderRequest.getProvinceCode());
order.setAreaCode(orderRequest.getAreaCode());
+ order.setIsOpenVirtualNumber(orderRequest.getIsOpenVirtualNumber());
return R.ok(orderService.save(order));
}
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Order.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Order.java
index 8f9615c..9d46a23 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Order.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Order.java
@@ -231,4 +231,8 @@
@ApiModelProperty("录音文件名")
@TableField("record_object_name")
private String recordObjectName;
+ @ApiModelProperty("是否启用虚拟号 1=是 0=否")
+ @TableField("is_open_virtual_number")
+ private Integer isOpenVirtualNumber;
+
}
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/request/OrderRequest.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/request/OrderRequest.java
index f09f7cc..f7c92a5 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/request/OrderRequest.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/request/OrderRequest.java
@@ -109,5 +109,6 @@
@ApiModelProperty("再投原因")
private String applyReason;
-
+ @ApiModelProperty("是否启用虚拟号 1=是 0=否")
+ private Integer isOpenVirtualNumber;
}
diff --git a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/controller/OrderController.java b/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/controller/OrderController.java
index 3eb83a2..bb5c454 100644
--- a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/controller/OrderController.java
+++ b/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/controller/OrderController.java
@@ -299,17 +299,17 @@
OrderDetailVO data = orderClient.orderDetail(orderSubmitRequest.getOrderId()).getData();
if(Objects.nonNull(data)){
Order orderInfo = data.getOrderInfo();
- if (Objects.nonNull(orderInfo)){
+ if (Objects.nonNull(orderInfo) && Objects.nonNull(orderInfo.getIsOpenVirtualNumber()) && orderInfo.getIsOpenVirtualNumber() == 1){
String recordDomain = orderInfo.getRecordDomain();
String recordObjectName = orderInfo.getRecordObjectName();
String audioUrl = AXBUtil.axbGetRecordDownloadLink(iamConfig.getAppKey(), iamConfig.getAppSecret(),recordDomain, recordObjectName);
orderInfo.setPhoneRecording(audioUrl);
// 设置音频
orderClient.updatePhoneRecording(orderInfo.getId(), audioUrl);
+ // 虚拟号码解绑
+ AXBUtil.axbUnbindNumber(iamConfig.getAppKey(), iamConfig.getAppSecret(),subscriptionId, iamConfig.getVirtualNumber());
}
}
- // 虚拟号码解绑
- AXBUtil.axbUnbindNumber(iamConfig.getAppKey(), iamConfig.getAppSecret(),subscriptionId, iamConfig.getVirtualNumber());
flag = true;
}
return R.ok(flag);
--
Gitblit v1.7.1