miemie 6 years ago
parent
commit
1b535ce283

+ 10 - 11
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/injector/methods/LogicDeleteByIdWithFill.java

@@ -1,21 +1,19 @@
 package com.baomidou.mybatisplus.extension.injector.methods;
 
-import static java.util.stream.Collectors.joining;
-import static java.util.stream.Collectors.toList;
-
-import java.util.List;
-
-import org.apache.ibatis.mapping.MappedStatement;
-import org.apache.ibatis.mapping.SqlSource;
-
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.core.enums.SqlMethod;
 import com.baomidou.mybatisplus.core.metadata.TableFieldInfo;
 import com.baomidou.mybatisplus.core.metadata.TableInfo;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringPool;
-import com.baomidou.mybatisplus.core.toolkit.sql.SqlScriptUtils;
 import com.baomidou.mybatisplus.extension.injector.AbstractLogicMethod;
+import org.apache.ibatis.mapping.MappedStatement;
+import org.apache.ibatis.mapping.SqlSource;
+
+import java.util.List;
+
+import static java.util.stream.Collectors.joining;
+import static java.util.stream.Collectors.toList;
 
 /**
  * <p>
@@ -42,8 +40,9 @@ public class LogicDeleteByIdWithFill extends AbstractLogicMethod {
                 .filter(i -> i.getFieldFill() == FieldFill.UPDATE || i.getFieldFill() == FieldFill.INSERT_UPDATE)
                 .collect(toList());
             if (CollectionUtils.isNotEmpty(fieldInfos)) {
-                String sqlSet = SqlScriptUtils.convertTrim(fieldInfos.stream().map(i -> i.getSqlSet(StringPool.EMPTY))
-                    .collect(joining(StringPool.EMPTY)), "SET", null, null, StringPool.COMMA);
+                String sqlSet = "SET " + fieldInfos.stream().map(i -> i.getSqlSet(StringPool.EMPTY))
+                    .collect(joining(StringPool.EMPTY)) +
+                    tableInfo.getLogicDeleteSql(false, true);
                 sql = String.format(sqlMethod.getSql(), tableInfo.getTableName(), sqlSet,
                     tableInfo.getKeyColumn(), tableInfo.getKeyProperty(),
                     tableInfo.getLogicDeleteSql(true, false));