From 11f2635e26dcf1e8b25b985fcc7bbc78907b3d31 Mon Sep 17 00:00:00 2001 From: Suomm <1474983351@qq.com> Date: Sat, 29 Jul 2023 13:02:49 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=8F=92=E5=85=A5=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=97=B6=E5=A4=9A=E5=8A=A0=E5=8D=95=E5=BC=95=E5=8F=B7=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DefaultLogicDeleteProcessor.java | 37 +++++++++++-------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/logicdelete/impl/DefaultLogicDeleteProcessor.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/logicdelete/impl/DefaultLogicDeleteProcessor.java index 19566fdb..d1bda3fd 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/logicdelete/impl/DefaultLogicDeleteProcessor.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/logicdelete/impl/DefaultLogicDeleteProcessor.java @@ -16,6 +16,7 @@ package com.mybatisflex.core.logicdelete.impl; import com.mybatisflex.core.FlexGlobalConfig; +import com.mybatisflex.core.dialect.IDialect; import com.mybatisflex.core.logicdelete.AbstractLogicDeleteProcessor; import com.mybatisflex.core.query.QueryCondition; import com.mybatisflex.core.query.QueryWrapper; @@ -30,31 +31,37 @@ import static com.mybatisflex.core.constant.SqlConsts.SINGLE_QUOTE; public class DefaultLogicDeleteProcessor extends AbstractLogicDeleteProcessor { @Override - public void buildQueryCondition(QueryWrapper queryWrapper, TableInfo tableInfo) { - queryWrapper.where(QueryCondition.create(tableInfo.getSchema(), tableInfo.getTableName(), tableInfo.getLogicDeleteColumn() - , EQUALS, FlexGlobalConfig.getDefaultConfig().getNormalValueOfLogicDelete())); + public String buildLogicNormalCondition(String logicColumn, TableInfo tableInfo, IDialect dialect) { + return dialect.wrap(logicColumn) + EQUALS + prepareValue(getLogicNormalValue()); } + @Override + public String buildLogicDeletedSet(String logicColumn, TableInfo tableInfo, IDialect dialect) { + return dialect.wrap(logicColumn) + EQUALS + prepareValue(getLogicDeletedValue()); + } + + @Override + public void buildQueryCondition(QueryWrapper queryWrapper, TableInfo tableInfo) { + queryWrapper.where(QueryCondition.create(tableInfo.getSchema(), tableInfo.getTableName(), tableInfo.getLogicDeleteColumn() + , EQUALS + , prepareValue(getLogicNormalValue()))); + } @Override public Object getLogicNormalValue() { - Object normalValueOfLogicDelete = FlexGlobalConfig.getDefaultConfig().getNormalValueOfLogicDelete(); - if (normalValueOfLogicDelete instanceof Number - || normalValueOfLogicDelete instanceof Boolean) { - return normalValueOfLogicDelete; - } - return SINGLE_QUOTE + normalValueOfLogicDelete + SINGLE_QUOTE; + return FlexGlobalConfig.getDefaultConfig().getNormalValueOfLogicDelete(); } - @Override public Object getLogicDeletedValue() { - Object deletedValueOfLogicDelete = FlexGlobalConfig.getDefaultConfig().getDeletedValueOfLogicDelete(); - if (deletedValueOfLogicDelete instanceof Number - || deletedValueOfLogicDelete instanceof Boolean) { - return deletedValueOfLogicDelete; + return FlexGlobalConfig.getDefaultConfig().getDeletedValueOfLogicDelete(); + } + + private static Object prepareValue(Object value) { + if (value instanceof Number || value instanceof Boolean) { + return value; } - return SINGLE_QUOTE + deletedValueOfLogicDelete + SINGLE_QUOTE; + return SINGLE_QUOTE + value + SINGLE_QUOTE; } }