package cc.mrbird.febs.common.datasource.starter.configure; import cc.mrbird.febs.common.datasource.starter.inteceptor.DataPermissionInterceptor; import com.baomidou.mybatisplus.core.parser.ISqlParser; import com.baomidou.mybatisplus.extension.parsers.BlockAttackSqlParser; import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor; import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.annotation.Order; import java.util.ArrayList; import java.util.List; /** * @author MrBird */ @Configuration public class FebsDataSourceAutoConfigure { /** * 注册数据权限 */ @Bean @Order(-1) public DataPermissionInterceptor dataPermissionInterceptor() { return new DataPermissionInterceptor(); } /** * 注册分页插件 */ @Bean @Order(-2) public PaginationInterceptor paginationInterceptor() { PaginationInterceptor paginationInterceptor = new PaginationInterceptor(); List sqlParserList = new ArrayList<>(); sqlParserList.add(new BlockAttackSqlParser()); paginationInterceptor.setSqlParserList(sqlParserList); return paginationInterceptor; } /** * * 注册乐观锁插件 * * date 2021-01-26 08:49 * @author: luoyibo * @return com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor */ @Bean @Order(-3) public OptimisticLockerInterceptor optimisticLockerInterceptor(){ return new OptimisticLockerInterceptor(); } }