1. 新增AuditStatusValidator类,用以作为审核状态机

2. 新建DataListener,用以读取excel文件
3. 完成防护对象配置所有接口
4. 添加SqlSessionWrapper类用以进行批处理
5. ProtectObject类添加更多校验(IP、大小等)
This commit is contained in:
EnderByEndera
2024-01-05 21:42:19 +08:00
parent 776c7c0f6d
commit 0fb8dd87fe
15 changed files with 468 additions and 21 deletions

View File

@@ -0,0 +1,37 @@
package com.realtime.protection.configuration.utils;
import org.apache.ibatis.session.ExecutorType;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.springframework.stereotype.Component;
import java.util.function.Function;
@Component
public class SqlSessionWrapper {
private final SqlSessionFactory sqlSessionFactory;
public SqlSessionWrapper(SqlSessionFactory sqlSessionFactory) {
this.sqlSessionFactory = sqlSessionFactory;
}
public <M, I, O> O startBatchSession(Class<M> mapperClass,
Function<M, Function<I, O>> wrappedFunction,
I arguments) {
SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
M mapper = sqlSession.getMapper(mapperClass);
try {
O result = wrappedFunction.apply(mapper).apply(arguments);
sqlSession.commit();
sqlSession.clearCache();
return result;
} catch (Exception e) {
sqlSession.rollback();
throw e;
} finally {
sqlSession.close();
}
}
}