| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- package cn.com.goldenwater.dcproj.config;
- import cn.com.goldenwater.dcproj.constValue.CommonLabel;
- import cn.com.goldenwater.dcproj.intercepter.*;
- import cn.com.goldenwater.dcproj.service.impl.RedisDataCenterReceiver;
- import cn.com.goldenwater.dcproj.service.impl.system.RedisReceiver;
- import cn.com.goldenwater.util.common.IPUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Qualifier;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.data.redis.connection.RedisConnectionFactory;
- import org.springframework.data.redis.core.RedisTemplate;
- import org.springframework.data.redis.listener.PatternTopic;
- import org.springframework.data.redis.listener.RedisMessageListenerContainer;
- import org.springframework.data.redis.listener.adapter.MessageListenerAdapter;
- import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
- import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
- import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
- @Configuration
- public class WebMvcConfiguration extends WebMvcConfigurerAdapter {
- @Value("${web.upload-path}")
- public String fileDir;
- @Value("${getFile.prefix}")
- public String prefix;
- @Value("${intercept.enable}")
- public Boolean enterceptEnable;
- @Autowired
- private PdfHeaderInterceptor pdfHeaderInterceptor;
- @Override
- public void addResourceHandlers(ResourceHandlerRegistry registry) {
- registry.addResourceHandler(prefix + "**").addResourceLocations("file:" + fileDir);
- registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
- registry.addResourceHandler("**/upload/**").addResourceLocations("classpath:**/upload/");
- registry.addResourceHandler("**/file/**").addResourceLocations("classpath:**/file/");
- super.addResourceHandlers(registry);
- }
- /**
- * 注册拦截器
- */
- @Override
- public void addInterceptors(InterceptorRegistry registry) {
- registry.addInterceptor(getCorsInterceptor()).addPathPatterns("/**");
- registry.addInterceptor(getFileCheckInterceptor()).addPathPatterns("/**");
- registry.addInterceptor(pdfHeaderInterceptor);
- // registry.addInterceptor(getCorsInterceptor()).addPathPatterns("/druid/**");
- // registry.addInterceptor(getPathVariableInterceptor()).addPathPatterns("/bis/insp/loginByCode/**","/bis/insp/sendMessage/**");
- if (enterceptEnable) {
- //注册自定义拦截器,添加拦截路径和排除拦截路径
- registry.addInterceptor(getLogInterceptor()).addPathPatterns("/**")
- .excludePathPatterns("/wx/call/back/**", "/upload/**", "/version/**", "/bis/insp/loginByCode/**", "/bis/insp/loginByPwd/**", "/bis/insp/getTokenByTel/**", "/bis/insp/logOut/**", "/bis/insp/sendMessage/**", "/bis/insp/getCaptchaImage/**", "/refresh/task"
- , "/qrcode/login/**", "/bis/login/quanguo/**", "/version/download/**", "/dc/gd/base/download/**", "/QRCode/**", "/file/changeSmallImg", "/bis/insp/getUserInfo", "/bis/insp/task/dth/day/pblmListOfAll"
- , "/page/grw/doc", "/att/meeting/**", "/page/keyReg/doc", "/page/waga/doc", "/page/vill/doc", "/page/track/doc", "/page/rever/doc"
- , "/dc/impExcel/**", "/bis/insp/test/**", "/dc/imp/pblm/**", "/auth/refresh", "/meet/**", "/page/sd/doc", "/page/pblm/doc", "/att/rtu/base/**"
- , "/supervision/plan/dowmTemplate/**", "/dc/wash/**", "/tac/insp/year/batch/group/pers/**", "/bis/insp/off/line/uploadOffLine/*", "/tac/worker/b/insertIntoData/**", "/tac/worker/b/downTemplateExcel", "/webService/**", "/sso/**", "/ssoValidate/**", "/ding/**", "/Synchronize/**", "/statistics/**", "/cas/sd/**", "/cas/fj/**", "/cas/sdt/**","/cas/hn/**", "/cas/cd/**","/cas/hblx/**");
- //全局拦截
- // registry.addInterceptor(getPathInterceptor()).addPathPatterns("/**").excludePathPatterns("/dc/insp/rsvrRgstr/list/**");
- }
- super.addInterceptors(registry);
- }
- @Bean
- public CorsInterceptor getCorsInterceptor() {
- return new CorsInterceptor();
- }
- @Bean
- public PathVariableInterceptor getPathVariableInterceptor() {
- return new PathVariableInterceptor();
- }
- @Bean
- public PathInterceptor getPathInterceptor() {
- return new PathInterceptor();
- }
- @Bean
- public LogInterceptor getLogInterceptor() {
- return new LogInterceptor();
- }
- @Bean
- public FileCheckInterceptor getFileCheckInterceptor() {
- return new FileCheckInterceptor();
- }
- @Value("${spring.redis.port}")
- private int port;
- @Value("${spring.redis.host}")
- private String hostName;
- @Bean
- RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory,
- MessageListenerAdapter listenerAdapter, MessageListenerAdapter listenerAdapter1, MessageListenerAdapter listenerAdapter2, MessageListenerAdapter listenerAdapterStart, MessageListenerAdapter listenerAdapterRun, MessageListenerAdapter listenerAdaptWeiXian) {
- RedisMessageListenerContainer container = new RedisMessageListenerContainer();
- container.setConnectionFactory(connectionFactory);
- container.addMessageListener(listenerAdapter, new PatternTopic(CommonLabel.channel));
- container.addMessageListener(listenerAdapter1, new PatternTopic(CommonLabel.SEND_TO_CENTER));
- container.addMessageListener(listenerAdapter2, new PatternTopic(CommonLabel.SEND_TO_UPDATE));
- container.addMessageListener(listenerAdapterStart, new PatternTopic(CommonLabel.SEND_TO_START));
- container.addMessageListener(listenerAdapterRun, new PatternTopic(CommonLabel.SEND_TO_RUN));
- container.addMessageListener(listenerAdaptWeiXian, new PatternTopic(CommonLabel.SEND_TO_WEI_XIN));
- return container;
- }
- @Bean
- MessageListenerAdapter listenerAdapter1(RedisDataCenterReceiver redisLoginReceiver) {
- return new MessageListenerAdapter(redisLoginReceiver, "receiveMessage");
- }
- @Bean
- MessageListenerAdapter listenerAdapter2(RedisDataCenterReceiver redisLoginReceiver) {
- return new MessageListenerAdapter(redisLoginReceiver, "receiveMessageUpdate");
- }
- @Bean
- MessageListenerAdapter listenerAdapterStart(RedisDataCenterReceiver redisLoginReceiver) {
- return new MessageListenerAdapter(redisLoginReceiver, "receiveMessageStart");
- }
- @Bean
- MessageListenerAdapter listenerAdapterRun(RedisDataCenterReceiver redisLoginReceiver) {
- return new MessageListenerAdapter(redisLoginReceiver, "receiveMessageRun");
- }
- @Bean
- MessageListenerAdapter listenerAdapter(RedisReceiver redisReceiver) {
- return new MessageListenerAdapter(redisReceiver, "receiveMessage");
- }
- @Bean
- MessageListenerAdapter listenerAdaptWeiXian(RedisDataCenterReceiver redisLoginReceiver) {
- return new MessageListenerAdapter(redisLoginReceiver, "receiveMessageWeiXin");
- }
- @Bean("redisTemplate")
- public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) {
- return IPUtils.getRedisTemplate(connectionFactory);
- }
- }
|