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/PrivateNumberCallBackController.java |   37 ++++++++++++++++++++++++++-----------
 1 files changed, 26 insertions(+), 11 deletions(-)

diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/PrivateNumberCallBackController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/PrivateNumberCallBackController.java
index 10fff40..4347252 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/PrivateNumberCallBackController.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/PrivateNumberCallBackController.java
@@ -4,9 +4,15 @@
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.ruoyi.admin.entity.Order;
+import com.ruoyi.admin.entity.IamConfig;
+import com.ruoyi.admin.entity.OrderRecording;
+import com.ruoyi.admin.service.IamConfigService;
+import com.ruoyi.admin.service.OrderRecordingService;
 import com.ruoyi.admin.service.OrderService;
+import com.ruoyi.admin.voice.util.AXBUtil;
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.order.api.entity.Order;
+import com.ruoyi.order.api.feignClient.OrderClient;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -29,9 +35,12 @@
 @RequestMapping("/privateNumber")
 public class PrivateNumberCallBackController {
 
-
     @Resource
-    private OrderService orderService;
+    private OrderClient orderClient;
+    @Resource
+    private OrderRecordingService orderRecordingService;
+    @Resource
+    private IamConfigService iamConfigService;
 
     /**
      * 隐私号码回调
@@ -46,16 +55,22 @@
             String recordObjectName = feeLstJson.getString("recordObjectName");
             String recordBucketName = feeLstJson.getString("recordBucketName");
             log.info("隐私号码回调:{},录音文件名:{},录音服务器名:{}", subscriptionId, recordObjectName, recordDomain);
-            Order order = orderService.getOne(Wrappers.lambdaQuery(Order.class)
-                    .eq(Order::getSubscriptionId, subscriptionId)
-                    .last("LIMIT 1"));
-            if(Objects.nonNull(order)){
-                order.setRecordDomain(recordDomain);
-                order.setRecordObjectName(recordObjectName);
-                orderService.updateById(order);
+            Order order = orderClient.detailBySubscriptionId(subscriptionId).getData();
+            long count = orderRecordingService.count(Wrappers.<OrderRecording>lambdaQuery()
+                    .eq(OrderRecording::getRecordObjectName, recordObjectName)
+                    .eq(OrderRecording::getRecordDomain, recordDomain));
+            if (Objects.nonNull(order) && count == 0) {
+                IamConfig iamConfig = iamConfigService.getById(1);
+                OrderRecording orderRecording = new OrderRecording();
+                orderRecording.setOrderId(order.getId());
+                orderRecording.setRecordDomain(recordDomain);
+                orderRecording.setRecordObjectName(recordObjectName);
+                String recordingUrl = AXBUtil.axbGetRecordDownloadLink(iamConfig.getAppKey(), iamConfig.getAppSecret(), recordDomain, recordObjectName);
+                orderRecording.setPhoneRecording(recordingUrl);
+                orderRecordingService.save(orderRecording);
             }
         }
-        return R.ok("OK");
+        return R.ok();
     }
 
 }

--
Gitblit v1.7.1