diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/CommonsDialectImpl.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/CommonsDialectImpl.java index 5b9c8c44..bace3fe5 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/CommonsDialectImpl.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/CommonsDialectImpl.java @@ -439,8 +439,8 @@ public class CommonsDialectImpl implements IDialect { StringBuilder sql = new StringBuilder(); String[] primaryKeys = tableInfo.getPrimaryKeys(); - sql.append("UPDATE ").append(wrap(tableInfo.getTableName())).append(" SET "); - sql.append(wrap(logicDeleteColumn)).append(" = ").append(wrap(getLogicDeletedValue())); + sql.append("UPDATE ").append(wrap(tableInfo.getTableName())); + sql.append(" SET ").append(wrap(logicDeleteColumn)).append(" = ").append(getLogicDeletedValue()); sql.append(" WHERE "); for (int i = 0; i < primaryKeys.length; i++) { if (i > 0) { @@ -449,7 +449,7 @@ public class CommonsDialectImpl implements IDialect { sql.append(wrap(primaryKeys[i])).append(" = ?"); } - sql.append(" AND ").append(wrap(logicDeleteColumn)).append(" = ").append(wrap(getLogicNormalValue())); + sql.append(" AND ").append(wrap(logicDeleteColumn)).append(" = ").append(getLogicNormalValue()); //租户ID if (ArrayUtil.isNotEmpty(tenantIdArgs)) { @@ -460,8 +460,6 @@ public class CommonsDialectImpl implements IDialect { } - - @Override public String forDeleteEntityBatchByIds(TableInfo tableInfo, Object[] primaryValues) { String logicDeleteColumn = tableInfo.getLogicDeleteColumn(); @@ -482,7 +480,7 @@ public class CommonsDialectImpl implements IDialect { StringBuilder sql = new StringBuilder(); sql.append("UPDATE "); sql.append(wrap(tableInfo.getTableName())); - sql.append(" SET ").append(wrap(logicDeleteColumn)).append(" = ").append(wrap(getLogicDeletedValue())); + sql.append(" SET ").append(wrap(logicDeleteColumn)).append(" = ").append(getLogicDeletedValue()); sql.append(" WHERE "); sql.append("("); @@ -514,7 +512,7 @@ public class CommonsDialectImpl implements IDialect { } } - sql.append(") AND ").append(wrap(logicDeleteColumn)).append(" = ").append(wrap(getLogicNormalValue())); + sql.append(") AND ").append(wrap(logicDeleteColumn)).append(" = ").append(getLogicNormalValue()); if (ArrayUtil.isNotEmpty(tenantIdArgs)) { sql.append(" AND ").append(wrap(tableInfo.getTenantIdColumn())).append(" IN ").append(buildQuestion(tenantIdArgs.length, true)); @@ -542,7 +540,7 @@ public class CommonsDialectImpl implements IDialect { //ignore selectColumns StringBuilder sqlBuilder = new StringBuilder("UPDATE "); sqlBuilder.append(wrap(tableInfo.getTableName())); - sqlBuilder.append(" SET ").append(wrap(logicDeleteColumn)).append(" = ").append(wrap(getLogicDeletedValue())); + sqlBuilder.append(" SET ").append(wrap(logicDeleteColumn)).append(" = ").append(getLogicDeletedValue()); buildJoinSql(sqlBuilder, queryWrapper, allTables); @@ -597,7 +595,7 @@ public class CommonsDialectImpl implements IDialect { //逻辑删除条件,已删除的数据不能被修改 String logicDeleteColumn = tableInfo.getLogicDeleteColumn(); if (StringUtil.isNotBlank(logicDeleteColumn)) { - sql.append(" AND ").append(wrap(logicDeleteColumn)).append(" = ").append(wrap(getLogicNormalValue())); + sql.append(" AND ").append(wrap(logicDeleteColumn)).append(" = ").append(getLogicNormalValue()); } @@ -679,7 +677,7 @@ public class CommonsDialectImpl implements IDialect { //逻辑删除的情况下,需要添加逻辑删除的条件 String logicDeleteColumn = tableInfo.getLogicDeleteColumn(); if (StringUtil.isNotBlank(logicDeleteColumn)) { - sql.append(" AND ").append(wrap(logicDeleteColumn)).append(" = ").append(wrap(getLogicNormalValue())); + sql.append(" AND ").append(wrap(logicDeleteColumn)).append(" = ").append(getLogicNormalValue()); } //多租户 @@ -737,7 +735,7 @@ public class CommonsDialectImpl implements IDialect { if (StringUtil.isNotBlank(logicDeleteColumn)) { - sql.append(" AND ").append(wrap(logicDeleteColumn)).append(" = ").append(wrap(getLogicNormalValue())); + sql.append(" AND ").append(wrap(logicDeleteColumn)).append(" = ").append(getLogicNormalValue()); } if (ArrayUtil.isNotEmpty(tenantIdArgs)) { @@ -838,13 +836,21 @@ public class CommonsDialectImpl implements IDialect { } - protected String getLogicNormalValue() { - return FlexGlobalConfig.getDefaultConfig().getNormalValueOfLogicDelete().toString(); + protected Object getLogicNormalValue() { + Object normalValueOfLogicDelete = FlexGlobalConfig.getDefaultConfig().getNormalValueOfLogicDelete(); + if (normalValueOfLogicDelete instanceof Number) { + return normalValueOfLogicDelete; + } + return "\"" + normalValueOfLogicDelete.toString() + "\""; } - protected String getLogicDeletedValue(){ - return FlexGlobalConfig.getDefaultConfig().getDeletedValueOfLogicDelete().toString(); + protected Object getLogicDeletedValue() { + Object deletedValueOfLogicDelete = FlexGlobalConfig.getDefaultConfig().getDeletedValueOfLogicDelete(); + if (deletedValueOfLogicDelete instanceof Number) { + return deletedValueOfLogicDelete; + } + return "\"" + deletedValueOfLogicDelete.toString() + "\""; } }