潘志宝
4 天以前 b8a0affd03b5fa9fa33cd6f870e90394c2df86c7
提交 | 用户 | 时间
bb2880 1 package com.iailab.module.bpm.controller.admin.definition.vo.model;
H 2
3 import com.iailab.framework.common.validation.InEnum;
4 import com.iailab.module.bpm.enums.definition.BpmModelFormTypeEnum;
5 import com.iailab.module.bpm.enums.definition.BpmModelTypeEnum;
6 import io.swagger.v3.oas.annotations.media.Schema;
7 import lombok.Data;
8 import org.hibernate.validator.constraints.URL;
9
10 import javax.validation.constraints.NotEmpty;
11 import javax.validation.constraints.NotNull;
12 import java.util.List;
13
14 /**
15  * BPM 流程 MetaInfo Response DTO
16  * 主要用于 { Model#setMetaInfo(String)} 的存储
17  *
18  * 最终,它的字段和
19  * {@link com.iailab.module.bpm.dal.dataobject.definition.BpmProcessDefinitionInfoDO}
20  * 是一致的
21  *
22  * @author iailab
23  */
24 @Data
25 public class BpmModelMetaInfoVO {
26
27     @Schema(description = "流程图标", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn/yudao.jpg")
28     @NotEmpty(message = "流程图标不能为空")
29     @URL(message = "流程图标格式不正确")
30     private String icon;
31
32     @Schema(description = "流程描述", example = "我是描述")
33     private String description;
34
35     @Schema(description = "流程类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
36     @InEnum(BpmModelTypeEnum.class)
37     @NotNull(message = "流程类型不能为空")
38     private Integer type;
39
40     @Schema(description = "表单类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
41     @InEnum(BpmModelFormTypeEnum.class)
42     @NotNull(message = "表单类型不能为空")
43     private Integer formType;
44     @Schema(description = "表单编号", example = "1024")
45     private Long formId; // formType 为 NORMAL 使用,必须非空
46     @Schema(description = "自定义表单的提交路径,使用 Vue 的路由地址", example = "/bpm/oa/leave/create")
47     private String formCustomCreatePath; // 表单类型为 CUSTOM 时,必须非空
48     @Schema(description = "自定义表单的查看路径,使用 Vue 的路由地址", example = "/bpm/oa/leave/view")
49     private String formCustomViewPath; // 表单类型为 CUSTOM 时,必须非空
50
51     @Schema(description = "是否可见", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
52     @NotNull(message = "是否可见不能为空")
53     private Boolean visible;
54
55     @Schema(description = "可发起用户编号数组", example = "[1,2,3]")
56     private List<Long> startUserIds;
57
58     @Schema(description = "可管理用户编号数组", requiredMode = Schema.RequiredMode.REQUIRED, example = "[2,4,6]")
59     @NotEmpty(message = "可管理用户编号数组不能为空")
60     private List<Long> managerUserIds;
61
62     @Schema(description = "排序", example = "1")
63     private Long sort; // 创建时,后端自动生成
64
65 }