package com.njcn.rdms.module.project.controller.admin.project.task.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.Data;

@Schema(description = "管理后台 - 任务状态动作 Request VO")
@Data
public class ProjectTaskStatusActionReqVO {

    @Schema(description = "动作编码，如 auto_start、pause、resume、complete、cancel", requiredMode = Schema.RequiredMode.REQUIRED, example = "complete")
    @NotBlank(message = "动作编码不能为空")
    @Size(max = 32, message = "动作编码长度不能超过32个字符")
    private String actionCode;

    @Schema(description = "动作原因；是否必填由状态流转配置决定", example = "任务取消")
    @Size(max = 500, message = "动作原因长度不能超过500个字符")
    private String reason;

}
