mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-08 09:38:26 +08:00
optimize logic delete
This commit is contained in:
parent
4738bacd85
commit
c26a4d4965
@ -439,8 +439,8 @@ public class CommonsDialectImpl implements IDialect {
|
|||||||
StringBuilder sql = new StringBuilder();
|
StringBuilder sql = new StringBuilder();
|
||||||
String[] primaryKeys = tableInfo.getPrimaryKeys();
|
String[] primaryKeys = tableInfo.getPrimaryKeys();
|
||||||
|
|
||||||
sql.append("UPDATE ").append(wrap(tableInfo.getTableName())).append(" SET ");
|
sql.append("UPDATE ").append(wrap(tableInfo.getTableName()));
|
||||||
sql.append(wrap(logicDeleteColumn)).append(" = ").append(wrap(getLogicDeletedValue()));
|
sql.append(" SET ").append(wrap(logicDeleteColumn)).append(" = ").append(getLogicDeletedValue());
|
||||||
sql.append(" WHERE ");
|
sql.append(" WHERE ");
|
||||||
for (int i = 0; i < primaryKeys.length; i++) {
|
for (int i = 0; i < primaryKeys.length; i++) {
|
||||||
if (i > 0) {
|
if (i > 0) {
|
||||||
@ -449,7 +449,7 @@ public class CommonsDialectImpl implements IDialect {
|
|||||||
sql.append(wrap(primaryKeys[i])).append(" = ?");
|
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
|
//租户ID
|
||||||
if (ArrayUtil.isNotEmpty(tenantIdArgs)) {
|
if (ArrayUtil.isNotEmpty(tenantIdArgs)) {
|
||||||
@ -460,8 +460,6 @@ public class CommonsDialectImpl implements IDialect {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String forDeleteEntityBatchByIds(TableInfo tableInfo, Object[] primaryValues) {
|
public String forDeleteEntityBatchByIds(TableInfo tableInfo, Object[] primaryValues) {
|
||||||
String logicDeleteColumn = tableInfo.getLogicDeleteColumn();
|
String logicDeleteColumn = tableInfo.getLogicDeleteColumn();
|
||||||
@ -482,7 +480,7 @@ public class CommonsDialectImpl implements IDialect {
|
|||||||
StringBuilder sql = new StringBuilder();
|
StringBuilder sql = new StringBuilder();
|
||||||
sql.append("UPDATE ");
|
sql.append("UPDATE ");
|
||||||
sql.append(wrap(tableInfo.getTableName()));
|
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(" WHERE ");
|
||||||
sql.append("(");
|
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)) {
|
if (ArrayUtil.isNotEmpty(tenantIdArgs)) {
|
||||||
sql.append(" AND ").append(wrap(tableInfo.getTenantIdColumn())).append(" IN ").append(buildQuestion(tenantIdArgs.length, true));
|
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
|
//ignore selectColumns
|
||||||
StringBuilder sqlBuilder = new StringBuilder("UPDATE ");
|
StringBuilder sqlBuilder = new StringBuilder("UPDATE ");
|
||||||
sqlBuilder.append(wrap(tableInfo.getTableName()));
|
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);
|
buildJoinSql(sqlBuilder, queryWrapper, allTables);
|
||||||
@ -597,7 +595,7 @@ public class CommonsDialectImpl implements IDialect {
|
|||||||
//逻辑删除条件,已删除的数据不能被修改
|
//逻辑删除条件,已删除的数据不能被修改
|
||||||
String logicDeleteColumn = tableInfo.getLogicDeleteColumn();
|
String logicDeleteColumn = tableInfo.getLogicDeleteColumn();
|
||||||
if (StringUtil.isNotBlank(logicDeleteColumn)) {
|
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();
|
String logicDeleteColumn = tableInfo.getLogicDeleteColumn();
|
||||||
if (StringUtil.isNotBlank(logicDeleteColumn)) {
|
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)) {
|
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)) {
|
if (ArrayUtil.isNotEmpty(tenantIdArgs)) {
|
||||||
@ -838,13 +836,21 @@ public class CommonsDialectImpl implements IDialect {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected String getLogicNormalValue() {
|
protected Object getLogicNormalValue() {
|
||||||
return FlexGlobalConfig.getDefaultConfig().getNormalValueOfLogicDelete().toString();
|
Object normalValueOfLogicDelete = FlexGlobalConfig.getDefaultConfig().getNormalValueOfLogicDelete();
|
||||||
|
if (normalValueOfLogicDelete instanceof Number) {
|
||||||
|
return normalValueOfLogicDelete;
|
||||||
|
}
|
||||||
|
return "\"" + normalValueOfLogicDelete.toString() + "\"";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected String getLogicDeletedValue(){
|
protected Object getLogicDeletedValue() {
|
||||||
return FlexGlobalConfig.getDefaultConfig().getDeletedValueOfLogicDelete().toString();
|
Object deletedValueOfLogicDelete = FlexGlobalConfig.getDefaultConfig().getDeletedValueOfLogicDelete();
|
||||||
|
if (deletedValueOfLogicDelete instanceof Number) {
|
||||||
|
return deletedValueOfLogicDelete;
|
||||||
|
}
|
||||||
|
return "\"" + deletedValueOfLogicDelete.toString() + "\"";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user