package com.yaoai.api.dto.ai;

import lombok.Data;

/**
 * 用户在分镜页输入的结构化提示词。
 * 拆分为五段，避免用户写 @图N 自然语言占位。
 */
@Data
public class UserPrompt {

    /** 人物动作 */
    private String characterAction;

    /** 场景事件 */
    private String sceneEvent;

    /** 镜头运动 */
    private String cameraMovement;

    /** 光影氛围 */
    private String lightingAtmosphere;

    /** 视频风格 */
    private String videoStyle;

    /** 至少填一项 */
    public boolean hasAnyContent() {
        return notBlank(characterAction)
                || notBlank(sceneEvent)
                || notBlank(cameraMovement)
                || notBlank(lightingAtmosphere)
                || notBlank(videoStyle);
    }

    private static boolean notBlank(String s) {
        return s != null && !s.isBlank();
    }
}
