controller层代码
@ApiOperation(value = "图层数据-批量添加 @author Tarzan Liu")
@PostMapping("layer/addBatch")
public ResponseDTO<List<LayerAddBackVO>> addBatch(@RequestBody @Valid ValidList<LayerDTO> data) {
return layerService.addBatch(data);
}
LayerDTO对象
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
public class LayerDTO {
@ApiModelProperty("图层ID")
private Long id;
@ApiModelProperty("煤矿图id")
@NotNull(message = "煤矿图id不为空")
private Long drawingId;
@ApiModelProperty("图层分类id")
@NotNull(message = "图层分类id不为空")
private Long layerTypeId;
@ApiModelProperty("图层唯一标识(识别dwg文件图层是否同一个图层)")
private String code;
@ApiModelProperty("图层名称")
@NotBlank(message = "图层名称不为空")
private String layerName;
@ApiModelProperty("线形")
private String lineType;
@ApiModelProperty("颜色")
private Integer color;
@ApiModelProperty("打印样式")
private String plotStyle;
@ApiModelProperty("是否冻结")
private Integer isFrozen;
@ApiModelProperty("是否锁定")
private Integer isLocked;
@ApiModelProperty("是否关闭")
private Integer isOff;
@ApiModelProperty("是否有PLOT表")
private Integer isPlotTable;
@ApiModelProperty("线形重量")
private Integer lineWeight;
@ApiModelProperty("显示倍数")
private Long showMultiple;
@ApiModelProperty("版本号")
private String version;
@ApiModelProperty("生效状态(0:未生效;1:生效)")
private Integer effectStatus;
@ApiModelProperty("版本批次(标记版本批次,一般给第一个版本id)")
private String versionBatch;
@ApiModelProperty("专题图和图层关系是否绑定")
private Boolean bindFlag = false;
@ApiModelProperty("专题图和图层关系表id")
private Long mapTypeId;
@ApiModelProperty("是否入库")
private Boolean isExist;
}
ValidList 包装类
import javax.validation.Valid;
import java.util.*;
/**
* 可被校验的List
* @description
* @author tarzan Liu
* @version 1.0.0
* @date 2020/9/29
*/
public class ValidList<E> implements List<E> {
@Valid
private List<E> list;
public ValidList() {
this.list = new ArrayList<>();
}
public ValidList(List<E> list) {
this.list = list;
}
public List<E> getList() {
return list;
}
public void setList(List<E> list) {
this.list = list;
}
//重写List方法,可省略
@Override
public int size() {
return list.size();
}
@Override
public boolean isEmpty() {
return list.isEmpty();
}
@Override
public boolean contains(Object o) {
return list.contains(o);
}
@Override
public Iterator<E> iterator() {
return list.iterator();
}
@Override
public Object[] toArray() {
return list.toArray();
}
@Override
public <T> T[] toArray(T[] a) {
return list.toArray(a);
}
@Override
public boolean add(E e) {
return list.add(e);
}
@Override
public boolean remove(Object o) {
return list.remove(o);
}
@Override
public boolean containsAll(Collection<?> c) {
return list.contains(c);
}
@Override
public boolean addAll(Collection<? extends E> c) {
return list.addAll(c);
}
@Override
public boolean addAll(int index, Collection<? extends E> c) {
return list.addAll(index, c);
}
@Override
public boolean removeAll(Collection<?> c) {
return list.removeAll(c);
}
@Override
public boolean retainAll(Collection<?> c) {
return list.retainAll(c);
}
@Override
public void clear() {
list.clear();
}
@Override
public E get(int index) {
return list.get(index);
}
@Override
public E set(int index, E element) {
return list.set(index, element);
}
@Override
public void add(int index, E element) {
list.add(index, element);
}
@Override
public E remove(int index) {
return list.remove(index);
}
@Override
public int indexOf(Object o) {
return list.indexOf(o);
}
@Override
public int lastIndexOf(Object o) {
return list.lastIndexOf(o);
}
@Override
public ListIterator<E> listIterator() {
return list.listIterator();
}
@Override
public ListIterator<E> listIterator(int index) {
return list.listIterator(index);
}
@Override
public List<E> subList(int fromIndex, int toIndex) {
return list.subList(fromIndex, toIndex);
}
}
小伙伴们学会了吗?代码从未如此简单!!!