package com.zt.life.sys.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; /** * SYS_OSS_CONFIG * * @author zt generator * @since 1.0.0 2020-08-25 */ @Data public class OssDto implements Serializable, Cloneable { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "模块分类") private String busiType; @ApiModelProperty(value = "模块名称") private String busiTypeName; @ApiModelProperty(value = "分组") private List groups = new ArrayList<>(); public OssDto() { } public OssDto(String busiType, String busiTypeName) { this.busiType = busiType; this.busiTypeName = busiTypeName; } @Override public OssDto clone() throws CloneNotSupportedException { OssDto dto = (OssDto) super.clone(); List list = new ArrayList<>(); for (OssFieldGroupDto group : groups) { list.add(group.clone()); } dto.setGroups(list); return dto; } @Data public static class OssFieldGroupDto implements Serializable, Cloneable { @ApiModelProperty(value = "字段所属分组") private String busiFieldGroup; @ApiModelProperty(value = "字段") private List fields = new ArrayList<>(); public OssFieldGroupDto() { } public OssFieldGroupDto(String busiFieldGroup) { this.busiFieldGroup = busiFieldGroup; } @Override public OssFieldGroupDto clone() throws CloneNotSupportedException { OssFieldGroupDto dto = (OssFieldGroupDto) super.clone(); List list = new ArrayList<>(); for (OssFieldDto field : fields) { list.add(field.clone()); } dto.setFields(list); return dto; } } @Data public static class OssFieldDto implements Serializable, Cloneable { @ApiModelProperty(value = "字段") private String busiField; @ApiModelProperty(value = "字段名称") private String busiFieldName; @ApiModelProperty(value = "可上传文件类型") private String accept; @ApiModelProperty(value = "可上传文件后缀") private String fileTypes; @ApiModelProperty(value = "文件大小限制(MB)") private BigDecimal fileSize; @ApiModelProperty(value = "文件个数") private Integer fileLimit; @ApiModelProperty(value = "排序") private Integer sort; @ApiModelProperty(value = "是否必填") private Boolean isRequired; @ApiModelProperty(value = "字段") private List files = new ArrayList<>(); @Override public OssFieldDto clone() throws CloneNotSupportedException { OssFieldDto dto = (OssFieldDto) super.clone(); dto.setFiles(new ArrayList<>()); return dto; } } }