package cn.estsh.i3plus.pojo.bsp.server.bean.po;

import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.io.Serializable;
import java.util.List;

/**
 * @Description :
 * @Reference :
 * @Author : Castle
 * @CreateDate : 2021/6/18 14:46
 * @Modify:
 **/
@Entity
@Table(name = "METHOD_LEVEL_INFO")
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel("方法层级")
public class MethodLevelInfo extends BaseBean implements Serializable {
    private static final long serialVersionUID = -6341443254774985571L;


    @Column(name = "METHOD_GROUP_ID")
    @ApiModelProperty("所属方法组的ID")
    private Long methodGroupId;

    @Column(name = "LEVEL")
    @ApiModelProperty("执行层级，相同层级可以并行执行")
    private String level;

    @Column(name = "METHOD_ID")
    @ApiModelProperty("当前层级的方法ID")
    private Long methodId;

    @Column(name = "METHOD_NAME")
    @ApiModelProperty("方法名称")
    private String methodName;

    @Transient
    @ApiModelProperty("方法的参数关系列表")
    private List<MethodLevelParamInfo> paramInfoList;
}
