package cn.stylefeng.team.meta.modular.pojo.request;

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

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

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

    @NotNull(message = "业务流程图id不能为空", groups = {edit.class, delete.class})
    @ChineseDescription("业务流程图id")
    private Long diagramId;

    @NotNull(message = "所属业务id不能为空", groups = {add.class, edit.class})
    @ChineseDescription("所属业务id")
    private Long businessId;

    @NotBlank(message = "图纸名称不能为空", groups = {add.class, edit.class})
    @ChineseDescription("图纸名称")
    private String diagramName;

    @ChineseDescription("图纸缩略图文件id")
    private Long diagramFileId;

    @ChineseDescription("流程图的具体配置json")
    private Map<String, Object> diagramContent;

    @ChineseDescription("排序")
    private BigDecimal fldSort;

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

}