package com.backendsys.modules.crt.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import jakarta.validation.constraints.Max; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Size; import lombok.Data; import org.hibernate.validator.constraints.Range; @Data @TableName("crt_drama_project_storyboard") public class CrtDramaProjectStoryboard { public static interface Detail{} public static interface StoryboardDetail{} public static interface Create{} public static interface Update{} public static interface Delete{} @TableId(type = IdType.AUTO) private Long id; @TableField(exist = false) @NotNull(message = "分镜ID不能为空", groups = { Update.class }) private Long drama_project_storyboard_id; private Long user_id; @NotNull(message = "项目ID不能为空", groups = { StoryboardDetail.class }) private Long drama_project_id; @NotNull(message = "集数不能为空", groups = { StoryboardDetail.class }) @Max(value = 999, message = "集数不超过 {value}") private Integer episode_num; @Range(min = 1, max = 9999, message = "排序必须在 {min} 到 {max} 之间") private Integer sort; @Size(max = 1000, message = "分镜设计长度不超过 {max} 个字符", groups = { Update.class }) private String story_prompt; @Size(max = 1000, message = "景别长度不超过 {max} 个字符", groups = { Update.class }) private String story_framing; @Size(max = 1000, message = "场景长度不超过 {max} 个字符", groups = { Update.class }) private String story_scene; @Size(max = 1000, message = "天气/时间长度不超过 {max} 个字符", groups = { Update.class }) private String story_weather_time; private String lora_figure_ids; // 人物LoRA ID (创建时,跟随项目的人物LoRAID)(多个人物ID以逗号分隔) private Integer param_image_count; // 每次生成图片数量 (默认值:1,整数范围:1~4) private Float param_prompt_weight; // 提示词引导系数 (默认值:3.5,小数点后一位,范围:1~30) private String param_sampling_method; // 采样方法 (枚举: SamplingMethodEnums)(Euler: euler, DPM++2M: dpmpp_2m) private Integer param_step_count; // 步数 (默认值:20,整数范围:1~30) private Integer param_random_seed; // 随机种子 (默认值:1,范围:(1:随机, 2:自定义)) private String param_random_seed_custom; // 随机种子自定义值 (长度: 0~64位整数) @Size(max = 2000, message = "文生图提示词 长度不超过 {max} 个字符", groups = { Update.class }) private String text_to_image_prompt; // 文生图提示词 (生图时必填) private Integer param_video_reference_type; // 生视频模式 (1:首尾帧模式, 2:多图参考模式) private String param_video_reference_images; // 参考图 (1~4张)(多图以逗号分隔) private String image_to_video_prompt; // 图生视频提示词 (生视频时必填) private Integer generate_image_status; // 生图状态 (-1:未生图, 1:生成中, 2:已生图) private Integer generate_video_status; // 生视频状态 (-1:未生视频, 1:生成中, 2:已生视频) private String create_time; private String update_time; }