| | |
| | | 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; |
| | |
| | | @RequestMapping("/privateNumber") |
| | | public class PrivateNumberCallBackController { |
| | | |
| | | |
| | | @Resource |
| | | private OrderService orderService; |
| | | private OrderClient orderClient; |
| | | @Resource |
| | | private OrderRecordingService orderRecordingService; |
| | | @Resource |
| | | private IamConfigService iamConfigService; |
| | | |
| | | /** |
| | | * 隐私号码回调 |
| | |
| | | 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(); |
| | | } |
| | | |
| | | } |