feat: 添加更多条件设置重载。

This commit is contained in:
Suomm 2023-08-16 17:20:53 +08:00
parent 3e034e6b13
commit 4e0fad7e17

View File

@ -29,103 +29,79 @@ import java.util.Map;
/** /**
* @author michael * @author michael
*/ */
public interface UpdateWrapper extends Serializable { public interface UpdateWrapper extends PropertySetter<UpdateWrapper>, Serializable {
default Map<String, Object> getUpdates() { default Map<String, Object> getUpdates() {
ModifyAttrsRecordHandler handler = (ModifyAttrsRecordHandler) ((ProxyObject) this).getHandler(); ModifyAttrsRecordHandler handler = (ModifyAttrsRecordHandler) ((ProxyObject) this).getHandler();
return handler.getUpdates(); return handler.getUpdates();
} }
default UpdateWrapper set(String property, Object value, boolean condition) { @Override
if (condition) { default UpdateWrapper set(String property, Object value, boolean isEffective) {
return set(property, value); if (isEffective) {
} if (value instanceof QueryWrapper
return this; || value instanceof QueryColumn
} || value instanceof QueryCondition) {
getUpdates().put(property, new RawValue(value));
default UpdateWrapper set(String property, Object value) {
if (value instanceof QueryWrapper || value instanceof QueryCondition || value instanceof QueryColumn) {
setRaw(property, value);
} else { } else {
getUpdates().put(property, value); getUpdates().put(property, value);
} }
return this;
}
default <T> UpdateWrapper set(LambdaGetter<T> getter, Object value, boolean condition) {
if (condition) {
return set(getter, value);
} }
return this; return this;
} }
default <T> UpdateWrapper set(LambdaGetter<T> getter, Object value) { @Override
if (value instanceof QueryWrapper || value instanceof QueryCondition || value instanceof QueryColumn) { default UpdateWrapper set(QueryColumn property, Object value, boolean isEffective) {
setRaw(getter, value); if (isEffective) {
if (value instanceof QueryWrapper
|| value instanceof QueryColumn
|| value instanceof QueryCondition) {
getUpdates().put(property.getName(), new RawValue(value));
} else { } else {
getUpdates().put(LambdaUtil.getFieldName(getter), value); getUpdates().put(property.getName(), value);
} }
return this;
}
default <T> UpdateWrapper set(QueryColumn queryColumn, Object value, boolean condition) {
if (condition) {
return set(queryColumn, value);
} }
return this; return this;
} }
default <T> UpdateWrapper set(QueryColumn queryColumn, Object value) { @Override
if (value instanceof QueryWrapper || value instanceof QueryCondition || value instanceof QueryColumn) { default <T> UpdateWrapper set(LambdaGetter<T> property, Object value, boolean isEffective) {
setRaw(queryColumn, value); if (isEffective) {
if (value instanceof QueryWrapper
|| value instanceof QueryColumn
|| value instanceof QueryCondition) {
getUpdates().put(LambdaUtil.getFieldName(property), new RawValue(value));
} else { } else {
getUpdates().put(queryColumn.getName(), value); getUpdates().put(LambdaUtil.getFieldName(property), value);
}
} }
return this; return this;
} }
@Override
default UpdateWrapper setRaw(String property, Object value, boolean condition) { default UpdateWrapper setRaw(String property, Object value, boolean isEffective) {
if (condition) { if (isEffective) {
return setRaw(property, value);
}
return this;
}
default UpdateWrapper setRaw(String property, Object value) {
getUpdates().put(property, new RawValue(value)); getUpdates().put(property, new RawValue(value));
return this;
}
default <T> UpdateWrapper setRaw(LambdaGetter<T> getter, Object value, boolean condition) {
if (condition) {
return setRaw(getter, value);
} }
return this; return this;
} }
@Override
default <T> UpdateWrapper setRaw(LambdaGetter<T> getter, Object value) { default UpdateWrapper setRaw(QueryColumn property, Object value, boolean isEffective) {
getUpdates().put(LambdaUtil.getFieldName(getter), new RawValue(value)); if (isEffective) {
return this; getUpdates().put(property.getName(), new RawValue(value));
}
default <T> UpdateWrapper setRaw(QueryColumn queryColumn, Object value, boolean condition) {
if (condition) {
return setRaw(queryColumn, value);
} }
return this; return this;
} }
default <T> UpdateWrapper setRaw(QueryColumn queryColumn, Object value) { @Override
getUpdates().put(queryColumn.getName(), new RawValue(value)); default <T> UpdateWrapper setRaw(LambdaGetter<T> property, Object value, boolean isEffective) {
if (isEffective) {
getUpdates().put(LambdaUtil.getFieldName(property), new RawValue(value));
}
return this; return this;
} }
static UpdateWrapper of(Object entity) { static UpdateWrapper of(Object entity) {
if (entity instanceof UpdateWrapper) { if (entity instanceof UpdateWrapper) {
return (UpdateWrapper) entity; return (UpdateWrapper) entity;