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