Files
fastmovieai/fastmovie-admin/plugin/shortplay/app/model/PluginShortplayDrama.php
T
李建琦 eae151fd57 FastMovieAI AI短剧创作平台 二开基线
- 源码: xhadmincn/FastMovieAI (Apache 2.0)
- 二开: Docker部署, Swoole改Select, route.php修复, 补update/VERSION
- vendor/示例资源已gitignore
2026-08-26 18:37:36 +08:00

48 lines
1.4 KiB
PHP

<?php
namespace plugin\shortplay\app\model;
use plugin\control\expose\helper\Uploads;
use app\model\Basic;
use plugin\control\app\model\PluginChannelsUser;
use plugin\model\app\model\PluginModelTask;
use plugin\model\utils\enum\ModelScene;
class PluginShortplayDrama extends Basic
{
protected function getOptions(): array
{
return [
'type' => [
// 设置JSON字段的类型
'voice' => 'json',
]
];
}
public function style()
{
return $this->hasOne(PluginShortplayStyle::class, 'id', 'style_id');
}
public function episodes()
{
return $this->hasMany(PluginShortplayDramaEpisode::class, 'drama_id', 'id');
}
public function getCoverAttr($value,$data)
{
return Uploads::url($data['channels_uid'], $value);
}
public function setCoverAttr($value,$data)
{
return Uploads::path($data['channels_uid'], $value);
}
public function channels()
{
return $this->hasOne(PluginChannelsUser::class, 'id', 'channels_uid');
}
public static function onAfterRead($model)
{
$model->cover_state = PluginModelTask::processing(['alias_id' => $model->id, 'scene' => ModelScene::DRAMA_COVER['value']]);
$model->continue_episode_state = PluginModelTask::processing(['alias_id' => $model->id, 'scene' => ModelScene::CREATIVE_EPISODE['value']]);
}
}