diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/mybatis/ReplaceInterceptor.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/mybatis/ReplaceInterceptor.java index 1f107b85..85a39e75 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/mybatis/ReplaceInterceptor.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/mybatis/ReplaceInterceptor.java @@ -42,11 +42,11 @@ public class ReplaceInterceptor implements Interceptor { private static final ThreadLocal LOCAL = new ThreadLocal<>(); - public static void enableReplacement(Replacement replacement) { + public static void enable(Replacement replacement) { LOCAL.set(replacement); } - public static void disableReplacement() { + public static void disable() { LOCAL.remove(); } @@ -67,6 +67,8 @@ public class ReplaceInterceptor implements Interceptor { stmt = parser.parseSelect(); } else if (commandType == SqlCommandType.INSERT) { stmt = parser.parseInsert(); + } else if (commandType == SqlCommandType.DELETE) { + stmt = parser.parseDeleteStatement(); } else { return invocation.proceed(); } diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/mybatis/Replacement.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/mybatis/Replacement.java index 856d68ae..bfc066bd 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/mybatis/Replacement.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/mybatis/Replacement.java @@ -19,4 +19,12 @@ public enum Replacement { private final String destTable; private final boolean insertPreserveId; + public void run(Runnable runnable) { + ReplaceInterceptor.enable(this); + try { + runnable.run(); + } finally { + ReplaceInterceptor.disable(); + } + } } \ No newline at end of file diff --git a/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/mapper/MessageRecordMapper.java b/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/mapper/MessageRecordMapper.java index 8835d2d0..f132d8e6 100644 --- a/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/mapper/MessageRecordMapper.java +++ b/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/mapper/MessageRecordMapper.java @@ -24,6 +24,7 @@ import java.util.List; /*@Mapper*/ public interface MessageRecordMapper extends IterableMapper { + void deleteRecordsPhysically(@Param("ids") List ids); List statisticsMsg(@Param("bizType") Integer bizType, @Param("personId") Long personId, diff --git a/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml b/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml index 9f580563..96b89925 100644 --- a/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml +++ b/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml @@ -2,6 +2,14 @@ + + DELETE FROM message_record + WHERE id IN + + #{id} + + +