|
@@ -209,27 +209,141 @@ class DeepSeekService
|
|
|
public function insertAudioEffect($data) {
|
|
|
$audio_id = getProp($data, 'audio_id');
|
|
|
$chapter_audio = DB::table('mp_chapter_audios')->where('id', $audio_id)->first();
|
|
|
+ $bid = getProp($chapter_audio, 'bid');
|
|
|
+ $version_id = getProp($chapter_audio, 'version_id');
|
|
|
+ $cid = getProp($chapter_audio, 'cid');
|
|
|
if (getProp($chapter_audio, 'generate_status') != '制作成功') Utils::throwError('20003:请先完成有声制作');
|
|
|
$audio_effect_json = getProp($data, 'audio_effect_json');
|
|
|
if (!is_string($audio_effect_json)) $audio_effect_json = json_encode($audio_effect_json, 256);
|
|
|
- return DB::table('mp_chapter_audios')->where('id', $audio_id)->update([
|
|
|
- 'audio_effect_status' => '添加中',
|
|
|
- 'audio_effect_json' => $audio_effect_json,
|
|
|
- 'updated_at' => date('Y-m-d H:i:s')
|
|
|
- ]);
|
|
|
+
|
|
|
+ try {
|
|
|
+ DB::beginTransaction();
|
|
|
+
|
|
|
+ $count = DB::table('mp_audio_tasks')->where('audio_id', $audio_id)->count('id');
|
|
|
+ if (!$count) {
|
|
|
+ $task_name = getProp($chapter_audio, 'book_name').' '.getProp($chapter_audio, 'chapter_name').'【'.getProp($chapter_audio, 'version_name').'】';
|
|
|
+ }else {
|
|
|
+ $task_name = getProp($chapter_audio, 'book_name').' '.getProp($chapter_audio, 'chapter_name').'【'.getProp($chapter_audio, 'version_name').'】('.($count+1).')';
|
|
|
+ }
|
|
|
+ $boolen1 = DB::table('mp_chapter_audios')->where('id', $audio_id)->update([
|
|
|
+ 'audio_effect_status' => '添加中',
|
|
|
+ 'audio_effect_json' => $audio_effect_json,
|
|
|
+ 'updated_at' => date('Y-m-d H:i:s')
|
|
|
+ ]);
|
|
|
+ if (!$boolen1) {
|
|
|
+ DB::rollBack();
|
|
|
+ Utils::throwError('20003:更新生成数据失败');
|
|
|
+ }
|
|
|
+ $id = DB::table('mp_audio_tasks')->insertGetId([
|
|
|
+ 'audio_id' => $audio_id,
|
|
|
+ 'generate_status' => '执行中',
|
|
|
+ 'generate_json' => json_encode([], 256),
|
|
|
+ 'bid' => $bid,
|
|
|
+ 'book_name' => getProp($chapter_audio, 'book_name'),
|
|
|
+ 'version_id' => $version_id,
|
|
|
+ 'version_name' => getProp($chapter_audio, 'version_name'),
|
|
|
+ 'cid' => $cid,
|
|
|
+ 'chapter_name' => getProp($chapter_audio, 'chapter_name'),
|
|
|
+ 'task_name' => $task_name,
|
|
|
+ 'created_at' => date('Y-m-d H:i:s'),
|
|
|
+ 'updated_at' => date('Y-m-d H:i:s')
|
|
|
+ ]);
|
|
|
+
|
|
|
+ if (!$id) {
|
|
|
+ DB::rollBack();
|
|
|
+ Utils::throwError('20003:创建任务失败');
|
|
|
+ }
|
|
|
+
|
|
|
+ }catch (\Exception $e) {
|
|
|
+ DB::rollBack();
|
|
|
+ Utils::throwError('20003:'.$e->getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ DB::commit();
|
|
|
+
|
|
|
+ $client = new Client(['timeout' => 300, 'verify' => false]);
|
|
|
+ // 根据ID通过API通知合成音频
|
|
|
+ // $result = $client->get("http://47.240.171.155:5000/api/postTask?taskId={$id}");
|
|
|
+ $result = $client->get("http://122.9.129.83:5000/api/postTask?taskId={$id}");
|
|
|
+ $response = $result->getBody()->getContents();
|
|
|
+ $response_arr = json_decode($response, true);
|
|
|
+ if (!isset($response_arr['code']) || (int)$response_arr['code'] !== 0) {
|
|
|
+ $error_msg = isset($response_arr['msg']) ? $response_arr['msg'] : '未知错误';
|
|
|
+ Log::info('通知火山插入音效失败: '.$error_msg);
|
|
|
+ Utils::throwError('20003:通知火山插入音效失败');
|
|
|
+ }
|
|
|
+
|
|
|
+ return true;
|
|
|
}
|
|
|
|
|
|
public function insertBgm($data) {
|
|
|
$audio_id = getProp($data, 'audio_id');
|
|
|
$chapter_audio = DB::table('mp_chapter_audios')->where('id', $audio_id)->first();
|
|
|
+ $bid = getProp($chapter_audio, 'bid');
|
|
|
+ $version_id = getProp($chapter_audio, 'version_id');
|
|
|
+ $cid = getProp($chapter_audio, 'cid');
|
|
|
if (getProp($chapter_audio, 'generate_status') != '制作成功') Utils::throwError('20003:请先完成有声制作');
|
|
|
$bgm_json = getProp($data, 'bgm_json');
|
|
|
if (!is_string($bgm_json)) $bgm_json = json_encode($bgm_json, 256);
|
|
|
- return DB::table('mp_chapter_audios')->where('id', $audio_id)->update([
|
|
|
- 'bgm_status' => '添加中',
|
|
|
- 'bgm_json' => $bgm_json,
|
|
|
- 'updated_at' => date('Y-m-d H:i:s')
|
|
|
- ]);
|
|
|
+
|
|
|
+ try {
|
|
|
+ DB::beginTransaction();
|
|
|
+
|
|
|
+ $count = DB::table('mp_audio_tasks')->where('audio_id', $audio_id)->count('id');
|
|
|
+ if (!$count) {
|
|
|
+ $task_name = getProp($chapter_audio, 'book_name').' '.getProp($chapter_audio, 'chapter_name').'【'.getProp($chapter_audio, 'version_name').'】';
|
|
|
+ }else {
|
|
|
+ $task_name = getProp($chapter_audio, 'book_name').' '.getProp($chapter_audio, 'chapter_name').'【'.getProp($chapter_audio, 'version_name').'】('.($count+1).')';
|
|
|
+ }
|
|
|
+ $boolen1 = DB::table('mp_chapter_audios')->where('id', $audio_id)->update([
|
|
|
+ 'bgm_status' => '添加中',
|
|
|
+ 'bgm_json' => $bgm_json,
|
|
|
+ 'updated_at' => date('Y-m-d H:i:s')
|
|
|
+ ]);
|
|
|
+ if (!$boolen1) {
|
|
|
+ DB::rollBack();
|
|
|
+ Utils::throwError('20003:更新生成数据失败');
|
|
|
+ }
|
|
|
+ $id = DB::table('mp_audio_tasks')->insertGetId([
|
|
|
+ 'audio_id' => $audio_id,
|
|
|
+ 'generate_status' => '执行中',
|
|
|
+ 'generate_json' => json_encode([], 256),
|
|
|
+ 'bid' => $bid,
|
|
|
+ 'book_name' => getProp($chapter_audio, 'book_name'),
|
|
|
+ 'version_id' => $version_id,
|
|
|
+ 'version_name' => getProp($chapter_audio, 'version_name'),
|
|
|
+ 'cid' => $cid,
|
|
|
+ 'chapter_name' => getProp($chapter_audio, 'chapter_name'),
|
|
|
+ 'task_name' => $task_name,
|
|
|
+ 'created_at' => date('Y-m-d H:i:s'),
|
|
|
+ 'updated_at' => date('Y-m-d H:i:s')
|
|
|
+ ]);
|
|
|
+
|
|
|
+ if (!$id) {
|
|
|
+ DB::rollBack();
|
|
|
+ Utils::throwError('20003:创建任务失败');
|
|
|
+ }
|
|
|
+
|
|
|
+ }catch (\Exception $e) {
|
|
|
+ DB::rollBack();
|
|
|
+ Utils::throwError('20003:'.$e->getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ DB::commit();
|
|
|
+
|
|
|
+ $client = new Client(['timeout' => 300, 'verify' => false]);
|
|
|
+ // 根据ID通过API通知合成音频
|
|
|
+ // $result = $client->get("http://47.240.171.155:5000/api/postTask?taskId={$id}");
|
|
|
+ $result = $client->get("http://122.9.129.83:5000/api/postTask?taskId={$id}");
|
|
|
+ $response = $result->getBody()->getContents();
|
|
|
+ $response_arr = json_decode($response, true);
|
|
|
+ if (!isset($response_arr['code']) || (int)$response_arr['code'] !== 0) {
|
|
|
+ $error_msg = isset($response_arr['msg']) ? $response_arr['msg'] : '未知错误';
|
|
|
+ Log::info('通知火山插入bgm失败: '.$error_msg);
|
|
|
+ Utils::throwError('20003:通知火山插入bgm失败');
|
|
|
+ }
|
|
|
+
|
|
|
+ return true;
|
|
|
}
|
|
|
|
|
|
// 新增合成任务
|