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

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

import java.util.List;

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

    @NotNull(message = "主键不能为空", groups = {delete.class})
    @ChineseDescription("主键")
    private Long flowAuthId;

    @NotNull(message = "关联的流程模型id不能为空", groups = {add.class})
    @ChineseDescription("关联的流程模型id")
    private Long flowModelId;

    @NotNull(message = "关联类型：10-机构，20-人员，30-角色不能为空", groups = {add.class})
    @ChineseDescription("关联类型：10-机构，20-人员，30-角色")
    private Integer linkType;

    @NotEmpty(message = "业务id集合不能为空", groups = {add.class})
    @ChineseDescription("业务id，例如：如果类型是10就是机构id")
    private List<Long> businessIdList;

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

}
