package cn.stylefeng.workflow.instance.modular.draft.pojo.request;

import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import cn.stylefeng.workflow.api.pojo.InstanceVariable;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

@EqualsAndHashCode(callSuper = true)
@Data
public class FlowEngineDraftRequest extends BaseRequest {

    @NotNull(message = "草稿id不能为空", groups = {detail.class})
    @ChineseDescription("草稿id")
    private Long draftId;

    @ChineseDescription("流程模型id")
    private Long modelId;

    @ChineseDescription("流程定义id")
    private Long definitionId;

    @ChineseDescription("发起人id")
    private Long applicant;

    @ChineseDescription("流程变量（包含表单数据、一些运行时数据）")
    private InstanceVariable instanceVariable;

    @ChineseDescription("乐观锁")
    private Long versionFlag;

    @ChineseDescription("逻辑删除:Y-已删除，N-未删除")
    private String delFlag;

    @ChineseDescription("租户号")
    private Long tenantId;

    @NotNull(message = "批量删除id集合不能为空", groups = batchDelete.class)
    @ChineseDescription("批量删除用的id集合")
    private List<Long> batchDeleteIdList;

}
