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; } 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; } 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) { 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; } 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)); } 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; } 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; } 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);