|
|
@@ -361,8 +361,12 @@ class AnimeCheckImgUrlCommand extends Command
|
|
|
$update_data['scenes'] = json_encode($episode_scenes, 256);
|
|
|
}
|
|
|
|
|
|
+ // 继承URL或创建任务后,将状态改为待执行,等后续检查分集图片成功后再改为成功状态
|
|
|
+ $update_data['generate_status'] = '待执行';
|
|
|
+ $update_data['generate_at'] = date('Y-m-d H:i:s');
|
|
|
+
|
|
|
DB::table('mp_anime_episodes')->where('id', $episode_id)->update($update_data);
|
|
|
- dLog('generate')->info("剧集ID:{$episode_id} 数据已同步更新");
|
|
|
+ dLog('generate')->info("剧集ID:{$episode_id} 数据已同步更新,状态改为待执行");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -376,8 +380,8 @@ class AnimeCheckImgUrlCommand extends Command
|
|
|
private function checkEpisodes() {
|
|
|
dLog('generate')->info('====================开始检查剧集====================');
|
|
|
|
|
|
- // 获取待执行的剧集数据
|
|
|
- $data = DB::table('mp_anime_episodes')->where('generate_status', '执行中')->select('id', 'roles', 'scenes')->get();
|
|
|
+ // 获取待执行和执行中的剧集数据
|
|
|
+ $data = DB::table('mp_anime_episodes')->whereIn('generate_status', ['待执行', '执行中'])->select('id', 'roles', 'scenes', 'generate_status')->get();
|
|
|
|
|
|
foreach ($data as $item) {
|
|
|
$id = getProp($item, 'id');
|
|
|
@@ -385,6 +389,17 @@ class AnimeCheckImgUrlCommand extends Command
|
|
|
$scenes = json_decode(getProp($item, 'scenes'), true);
|
|
|
$role_count = count($roles);
|
|
|
$scene_count = count($scenes);
|
|
|
+ $current_status = getProp($item, 'generate_status');
|
|
|
+
|
|
|
+ // 如果状态是待执行,先改为执行中
|
|
|
+ if ($current_status == '待执行') {
|
|
|
+ DB::table('mp_anime_episodes')->where('id', $id)->update([
|
|
|
+ 'generate_status' => '执行中',
|
|
|
+ 'generate_at' => date('Y-m-d H:i:s'),
|
|
|
+ 'updated_at' => date('Y-m-d H:i:s')
|
|
|
+ ]);
|
|
|
+ dLog('generate')->info("剧集ID:{$id} 状态从待执行改为执行中");
|
|
|
+ }
|
|
|
|
|
|
// 处理角色图片状态
|
|
|
$role_result = $this->checkEpisodeRoles($id, $roles);
|
|
|
@@ -395,7 +410,7 @@ class AnimeCheckImgUrlCommand extends Command
|
|
|
if ($role_result['success_count'] == $role_count && $scene_result['success_count'] == $scene_count) {
|
|
|
// 更新状态为已完成
|
|
|
DB::table('mp_anime_episodes')->where('id', $id)->update(['generate_status' => '已完成', 'updated_at'=>date('Y-m-d H:i:s')]);
|
|
|
- dLog('generate')->info("剧集ID:{$id} 图片已全部生成完毕");
|
|
|
+ dLog('generate')->info("剧集ID:{$id} 图片已全部生成完毕,状态改为已完成");
|
|
|
}
|
|
|
}
|
|
|
|