package com.qianwen.core.datascope.config; import com.qianwen.core.datascope.handler.BladeDataScopeHandler; import com.qianwen.core.datascope.handler.BladeScopeModelHandler; import com.qianwen.core.datascope.handler.DataScopeHandler; import com.qianwen.core.datascope.handler.ScopeModelHandler; import com.qianwen.core.datascope.interceptor.DataScopeInterceptor; import com.qianwen.core.datascope.props.DataScopeProperties; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.jdbc.core.JdbcTemplate; @EnableConfigurationProperties({DataScopeProperties.class}) @Configuration(proxyBeanMethods = false) /* loaded from: blade-starter-datascope-9.3.0.1-SNAPSHOT.jar:org/springblade/core/datascope/config/DataScopeConfiguration.class */ public class DataScopeConfiguration { private final JdbcTemplate jdbcTemplate; public DataScopeConfiguration(final JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } @ConditionalOnMissingBean({ScopeModelHandler.class}) @Bean public ScopeModelHandler scopeModelHandler() { return new BladeScopeModelHandler(this.jdbcTemplate); } @ConditionalOnMissingBean({DataScopeHandler.class}) @ConditionalOnBean({ScopeModelHandler.class}) @Bean public DataScopeHandler dataScopeHandler(ScopeModelHandler scopeModelHandler) { return new BladeDataScopeHandler(scopeModelHandler); } @ConditionalOnMissingBean({DataScopeInterceptor.class}) @ConditionalOnBean({DataScopeHandler.class}) @Bean public DataScopeInterceptor interceptor(DataScopeHandler dataScopeHandler, DataScopeProperties dataScopeProperties) { return new DataScopeInterceptor(dataScopeHandler, dataScopeProperties); } }