//package com.ssm.filter;
//import com.ssm.manage.entity.SmsException;
//import com.ssm.manage.response.ResponseCode;
//import org.apache.ibatis.executor.Executor;
//import org.apache.ibatis.mapping.MappedStatement;
//import org.apache.ibatis.plugin.*;
//import org.springframework.stereotype.Component;
//
//import java.util.Properties;
//
//@Intercepts({
//        @Signature(type = Executor.class, method = "update", args = {MappedStatement.class, Object.class})
//})
//@Component
//public class DeleteInterceptor implements Interceptor {
//
//    @Override
//    public Object intercept(Invocation invocation) throws Throwable {
//        Object[] args = invocation.getArgs();
//        MappedStatement mappedStatement = (MappedStatement) args[0];
//        Object parameterObject = args[1];
//        // 判断是否为DELETE操作
//        if (mappedStatement.getSqlCommandType().name().equals("DELETE")) {
//            // 判断参数是否为空
//            if (parameterObject == null) {
//                throw new SmsException(ResponseCode.MSG,"删除条件不能为空");
//            }
//            // 可根据具体情况判断参数类型或其他条件
//            // 进行其他处理，如记录日志等
//        }
//        // 执行原始的方法
//        return invocation.proceed();
//    }
//
//    @Override
//    public Object plugin(Object target) {
//        return Plugin.wrap(target, this);
//    }
//
//    @Override
//    public void setProperties(Properties properties) {
//        // 可以在配置文件中配置一些属性，进行初始化设置
//    }
//}
//
