|
@@ -142,48 +142,34 @@ namespace Hotline.Api.Controllers
|
|
|
[HttpPost("calls/transliteration")]
|
|
|
public async Task CallTransliteration([FromBody] CallTransliteration dto)
|
|
|
{
|
|
|
- string audioFile;
|
|
|
- string fromNo;
|
|
|
- DateTime? callStartTime = null;
|
|
|
- string Id;
|
|
|
- //if (_callcenterOptions.Value.CallCenterType == AppDefaults.CallCenterType.TianRun)
|
|
|
- // {
|
|
|
- var call = await _callApplication.GetTianrunCallAsync(dto.Id, HttpContext.RequestAborted);
|
|
|
- if (call is null)
|
|
|
- throw UserFriendlyException.SameMessage("通话信息错误");
|
|
|
- if (call.TransliterationState == ECallTransliterationState.Underway)
|
|
|
- throw UserFriendlyException.SameMessage("正在转写中,请勿重复点击,请稍作等待");
|
|
|
- if (call.TransliterationState == ECallTransliterationState.Succeed)
|
|
|
- throw UserFriendlyException.SameMessage("转写成功,不能重新转写");
|
|
|
- call.InitTransliterationId();
|
|
|
- await _callApplication.EditTransliterationStateAsync(call.Id, ECallTransliterationState.Underway, call.TransliterationId, HttpContext.RequestAborted);
|
|
|
- audioFile = call.RecordingAbsolutePath;
|
|
|
- fromNo = call.CPN;
|
|
|
- callStartTime = call.CreatedTime;
|
|
|
- Id = call.TransliterationId;
|
|
|
- //}
|
|
|
- // else if (_callcenterOptions.Value.CallCenterType == AppDefaults.CallCenterType.XingTang)
|
|
|
- // {
|
|
|
- // var call = await _callApplication.GetCallAsync(dto.Id, HttpContext.RequestAborted);
|
|
|
- // if (call is null)
|
|
|
- // throw UserFriendlyException.SameMessage("通话信息错误");
|
|
|
- // audioFile = call.AudioFile;
|
|
|
- // fromNo = call.FromNo;
|
|
|
- // callStartTime = call.BeginIvrTime;
|
|
|
- // Id = call.Id;
|
|
|
- //}
|
|
|
- var setting = _systemSettingCacheManager.GetSetting(SettingConstants.ViteRecordPrefix);
|
|
|
-
|
|
|
- var handler = new AiQualityHandler()
|
|
|
+ foreach (var id in dto.Ids)
|
|
|
{
|
|
|
- Id = Id,
|
|
|
- Source = "AiAnswered",
|
|
|
- AudioFile = audioFile,
|
|
|
- FromNo = fromNo,
|
|
|
- CallStartTime = callStartTime,
|
|
|
- ViteRecordPrefix = setting?.SettingValue[0],
|
|
|
- };
|
|
|
- await _publisher.PublishAsync(new AiOrderQualityNotify(handler), PublishStrategy.ParallelNoWait, HttpContext.RequestAborted);
|
|
|
+ var call = await _callApplication.GetTianrunCallAsync(id, HttpContext.RequestAborted);
|
|
|
+ if (call is null)
|
|
|
+ throw UserFriendlyException.SameMessage("通话信息错误");
|
|
|
+ if (call.TransliterationState == ECallTransliterationState.Underway)
|
|
|
+ throw UserFriendlyException.SameMessage("正在转写中,请勿重复点击,请稍作等待");
|
|
|
+ if (call.TransliterationState == ECallTransliterationState.Succeed)
|
|
|
+ throw UserFriendlyException.SameMessage("转写成功,不能重新转写");
|
|
|
+ call.InitTransliterationId();
|
|
|
+ await _callApplication.EditTransliterationStateAsync(call.Id, ECallTransliterationState.Underway, call.TransliterationId, HttpContext.RequestAborted);
|
|
|
+ var audioFile = call.RecordingAbsolutePath;
|
|
|
+ var fromNo = call.CPN;
|
|
|
+ var callStartTime = call.CreatedTime;
|
|
|
+ var Id = call.TransliterationId;
|
|
|
+ var setting = _systemSettingCacheManager.GetSetting(SettingConstants.ViteRecordPrefix);
|
|
|
+
|
|
|
+ var handler = new AiQualityHandler()
|
|
|
+ {
|
|
|
+ Id = Id,
|
|
|
+ Source = "AiAnswered",
|
|
|
+ AudioFile = audioFile,
|
|
|
+ FromNo = fromNo,
|
|
|
+ CallStartTime = callStartTime,
|
|
|
+ ViteRecordPrefix = setting?.SettingValue[0],
|
|
|
+ };
|
|
|
+ await _publisher.PublishAsync(new AiOrderQualityNotify(handler), PublishStrategy.ParallelNoWait, HttpContext.RequestAborted);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|