package com.zy.asrs.wms.asrs.entity.param; import com.fasterxml.jackson.annotation.JsonAnyGetter; import lombok.Data; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; @Data public class OrderDetlParam { //批号 private String batch; //数量 private Double anfme; //动态扩展字段 public transient Map dynamicFields = new HashMap<>(); @JsonAnyGetter public Map getDynamicFields() { return dynamicFields; } public void syncFieldMap(Map map) { ArrayList keys = new ArrayList<>(); Field[] fields = this.getClass().getDeclaredFields(); for (Field field : fields) { keys.add(field.getName()); } keys.add("detlId"); Map dynamicFields = new HashMap<>(); for (Map.Entry entry : map.entrySet()) { if (keys.contains(entry.getKey())) { continue; } dynamicFields.put(entry.getKey(), entry.getValue()); } this.dynamicFields = dynamicFields; } public String getFieldString(String key) { return dynamicFields.get(key).toString(); } public void setField(String key, Object value) { dynamicFields.put(key, value); } }