wangwei 5 năm trước cách đây
mục cha
commit
4ad77b0cd2
12 tập tin đã thay đổi với 141 bổ sung127 xóa
  1. 1 1
      examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/controller/DemoController.java
  2. 1 1
      examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/controller/IndexController.java
  3. 1 1
      examcloud-core-questions-starter/pom.xml
  4. 64 0
      examcloud-core-questions-starter/src/main/java/cn/com/qmth/examcloud/core/questions/starter/CoreQuestionApp.java
  5. 0 55
      examcloud-core-questions-starter/src/main/java/cn/com/qmth/examcloud/core/questions/starter/QuestionPoolApplication.java
  6. 12 0
      examcloud-core-questions-starter/src/main/java/cn/com/qmth/examcloud/core/questions/starter/Tester.java
  7. 26 29
      examcloud-core-questions-starter/src/main/java/cn/com/qmth/examcloud/core/questions/starter/config/ExamCloudWebMvcConfigurer.java
  8. 1 1
      examcloud-core-questions-starter/src/main/java/cn/com/qmth/examcloud/core/questions/starter/config/NativeMongoConfig.java
  9. 33 0
      examcloud-core-questions-starter/src/main/java/cn/com/qmth/examcloud/core/questions/starter/config/Swagger2.java
  10. 0 37
      examcloud-core-questions-starter/src/main/java/cn/com/qmth/examcloud/core/questions/starter/config/SwaggerConfig.java
  11. 1 1
      examcloud-core-questions-starter/src/main/java/cn/com/qmth/examcloud/core/questions/starter/config/initData.java
  12. 1 1
      examcloud-core-questions-starter/src/main/resources/application.properties

+ 1 - 1
examcloud-core-questions-starter/src/main/java/cn/com/qmth/examcloud/core/questions/starter/DemoController.java → examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/controller/DemoController.java

@@ -1,4 +1,4 @@
-package cn.com.qmth.examcloud.core.questions.starter;
+package cn.com.qmth.examcloud.core.questions.api.controller;
 
 import cn.com.qmth.examcloud.core.questions.base.converter.utils.JsonMapper;
 import cn.com.qmth.examcloud.core.questions.service.ExtractConfigProviderService;

+ 1 - 1
examcloud-core-questions-starter/src/main/java/cn/com/qmth/examcloud/core/questions/starter/IndexController.java → examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/controller/IndexController.java

@@ -5,7 +5,7 @@
  * *************************************************
  */
 
-package cn.com.qmth.examcloud.core.questions.starter;
+package cn.com.qmth.examcloud.core.questions.api.controller;
 
 import cn.com.qmth.examcloud.core.questions.base.enums.ExamFileType;
 import cn.com.qmth.examcloud.core.questions.base.enums.ExportWay;

+ 1 - 1
examcloud-core-questions-starter/pom.xml

@@ -26,7 +26,7 @@
 				<configuration>
 					<archive>
 						<manifest>
-							<mainClass>cn.com.qmth.examcloud.core.questions.starter.QuestionPoolApplication</mainClass>
+							<mainClass>cn.com.qmth.examcloud.core.questions.starter.CoreQuestionApp</mainClass>
 							<addClasspath>true</addClasspath>
 							<classpathPrefix>./</classpathPrefix>
 						</manifest>

+ 64 - 0
examcloud-core-questions-starter/src/main/java/cn/com/qmth/examcloud/core/questions/starter/CoreQuestionApp.java

@@ -0,0 +1,64 @@
+package cn.com.qmth.examcloud.core.questions.starter;
+
+import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.domain.EntityScan;
+import org.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
+import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
+import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+import org.springframework.web.multipart.MultipartResolver;
+import org.springframework.web.multipart.commons.CommonsMultipartResolver;
+
+import cn.com.qmth.examcloud.web.bootstrap.AppBootstrap;
+import cn.com.qmth.examcloud.web.support.SpringContextHolder;
+
+@SpringBootApplication
+@Configuration
+@EnableJpaAuditing
+@EnableTransactionManagement
+@EnableEurekaClient
+@EnableDiscoveryClient
+@ComponentScan(basePackages = {"cn.com.qmth"})
+@EntityScan(basePackages = {"cn.com.qmth"})
+@EnableJpaRepositories(basePackages = {"cn.com.qmth"})
+@EnableMongoRepositories(basePackages = {"cn.com.qmth"})
+@EnableAutoConfiguration(exclude = {MultipartAutoConfiguration.class})
+public class CoreQuestionApp {
+
+	static {
+		String runtimeLevel = System.getProperty("log.commonLevel");
+		if (null == runtimeLevel) {
+			System.setProperty("log.commonLevel", "DEBUG");
+		}
+		System.setProperty("hibernate.dialect.storage_engine", "innodb");
+	}
+
+	public static void main(String[] args) {
+		AppBootstrap.run(CoreQuestionApp.class, args);
+
+		test();
+	}
+
+	private static void test() {
+		Tester tester = SpringContextHolder.getBean(Tester.class);
+		tester.test();
+	}
+
+	@Bean(name = "multipartResolver")
+	public MultipartResolver multipartResolver() {
+		CommonsMultipartResolver resolver = new CommonsMultipartResolver();
+		resolver.setDefaultEncoding("UTF-8");
+		resolver.setResolveLazily(true);
+		resolver.setMaxInMemorySize(40960);
+		resolver.setMaxUploadSize(200L * 1024L * 1024L);
+		return resolver;
+	}
+
+}

+ 0 - 55
examcloud-core-questions-starter/src/main/java/cn/com/qmth/examcloud/core/questions/starter/QuestionPoolApplication.java

@@ -1,55 +0,0 @@
-package cn.com.qmth.examcloud.core.questions.starter;
-
-import cn.com.qmth.examcloud.web.bootstrap.AppBootstrap;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
-import org.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration;
-import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
-import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
-import org.springframework.cloud.openfeign.EnableFeignClients;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;
-import org.springframework.web.multipart.MultipartResolver;
-import org.springframework.web.multipart.commons.CommonsMultipartResolver;
-
-/**
- * 项目入口主程序
- */
-//@EnableJpaAuditing
-@EnableEurekaClient
-@EnableDiscoveryClient
-@SpringBootApplication
-@ComponentScan(basePackages = {"cn.com.qmth"})
-//@EntityScan(basePackages = {"com.qmth.commons", "cn.com.qmth"})
-//@EnableJpaRepositories(basePackages = {"cn.com.qmth"})
-@EnableMongoRepositories("cn.com.qmth.examcloud.core.questions.dao")
-@EnableFeignClients(basePackages = {"cn.com.qmth.examcloud.core.questions.service.rpc"})
-@EnableAutoConfiguration(exclude = {MultipartAutoConfiguration.class, DataSourceAutoConfiguration.class})
-public class QuestionPoolApplication {
-
-    static {
-        String runtimeLevel = System.getProperty("log.commonLevel");
-        if (null == runtimeLevel) {
-            System.setProperty("log.commonLevel", "DEBUG");
-        }
-        System.setProperty("hibernate.dialect.storage_engine", "innodb");
-    }
-
-    public static void main(String[] args) {
-        //SpringApplication.run(QuestionPoolApplication.class, args);
-        AppBootstrap.run(QuestionPoolApplication.class, args);
-    }
-
-    @Bean(name = "multipartResolver")
-    public MultipartResolver multipartResolver() {
-        CommonsMultipartResolver resolver = new CommonsMultipartResolver();
-        resolver.setDefaultEncoding("UTF-8");
-        resolver.setResolveLazily(true);
-        resolver.setMaxInMemorySize(40960);
-        resolver.setMaxUploadSize(200L * 1024L * 1024L);
-        return resolver;
-    }
-
-}

+ 12 - 0
examcloud-core-questions-starter/src/main/java/cn/com/qmth/examcloud/core/questions/starter/Tester.java

@@ -0,0 +1,12 @@
+package cn.com.qmth.examcloud.core.questions.starter;
+
+import org.springframework.stereotype.Component;
+
+@Component
+public class Tester {
+
+	public void test() {
+
+	}
+
+}

+ 26 - 29
examcloud-core-questions-starter/src/main/java/cn/com/qmth/examcloud/core/questions/starter/config/ExamCloudWebMvcConfigurer.java

@@ -22,34 +22,31 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
 @Configuration
 public class ExamCloudWebMvcConfigurer implements WebMvcConfigurer {
-    @Autowired
-    private ResourceManager resourceManager;
-    @Autowired
-    private RedisClient redisClient;
-
-    @Override
-    public void addInterceptors(InterceptorRegistry registry) {
-    	
-        String[] excludes = new String[]{"/", "/webjars/**", "/doc.html"};
-        
-        registry.addInterceptor(new FirstInterceptor()).addPathPatterns("/**").excludePathPatterns(excludes);
-    	registry.addInterceptor(new ApiFlowLimitedInterceptor()).addPathPatterns("/**");
-        registry.addInterceptor(new RpcInterceptor(resourceManager)).addPathPatterns("/**").excludePathPatterns(excludes);
-        
-        RequestPermissionInterceptor permissionInterceptor = new RequestPermissionInterceptor(resourceManager, redisClient);
-        registry.addInterceptor(permissionInterceptor).addPathPatterns("/**").excludePathPatterns(excludes);
-    	
-        registry.addInterceptor(new ApiStatisticInterceptor()).addPathPatterns("/**");
-    }
-
-    @Override
-    public void addCorsMappings(CorsRegistry registry) {
-        registry.addMapping("/**")
-                .allowedOrigins("*")
-                .allowCredentials(false)
-                .allowedMethods("*")
-                .maxAge(3600);
-
-    }
+	@Autowired
+	private ResourceManager resourceManager;
+
+	@Autowired
+	private RedisClient redisClient;
+
+	@Override
+	public void addInterceptors(InterceptorRegistry registry) {
+
+		registry.addInterceptor(new FirstInterceptor()).addPathPatterns("/**");
+		registry.addInterceptor(new ApiFlowLimitedInterceptor()).addPathPatterns("/**");
+		registry.addInterceptor(new RpcInterceptor(resourceManager)).addPathPatterns("/**");
+
+		RequestPermissionInterceptor permissionInterceptor = new RequestPermissionInterceptor(
+				resourceManager, redisClient);
+		registry.addInterceptor(permissionInterceptor).addPathPatterns("/**");
+
+		registry.addInterceptor(new ApiStatisticInterceptor()).addPathPatterns("/**");
+	}
+
+	@Override
+	public void addCorsMappings(CorsRegistry registry) {
+		registry.addMapping("/**").allowedOrigins("*").allowCredentials(false).allowedMethods("*")
+				.maxAge(3600);
+
+	}
 
 }

+ 1 - 1
examcloud-core-questions-starter/src/main/java/cn/com/qmth/examcloud/core/questions/starter/mongo/NativeMongoConfig.java → examcloud-core-questions-starter/src/main/java/cn/com/qmth/examcloud/core/questions/starter/config/NativeMongoConfig.java

@@ -1,4 +1,4 @@
-package cn.com.qmth.examcloud.core.questions.starter.mongo;
+package cn.com.qmth.examcloud.core.questions.starter.config;
 
 import com.mongodb.MongoClient;
 import com.mongodb.client.MongoCollection;

+ 33 - 0
examcloud-core-questions-starter/src/main/java/cn/com/qmth/examcloud/core/questions/starter/config/Swagger2.java

@@ -0,0 +1,33 @@
+package cn.com.qmth.examcloud.core.questions.starter.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import springfox.documentation.builders.ApiInfoBuilder;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.service.ApiInfo;
+import springfox.documentation.service.Contact;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+@Configuration
+@EnableSwagger2
+public class Swagger2 {
+
+	@Bean
+	public Docket createRestApi() {
+		return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
+				.apis(RequestHandlerSelectors
+						.basePackage("cn.com.qmth.examcloud.core.questions.api"))
+				.paths(PathSelectors.any()).build();
+	}
+
+	private ApiInfo apiInfo() {
+		return new ApiInfoBuilder().title("API doc")
+				.contact(new Contact("qmth", "http://xxxxx/", "")).version("xxx")
+				.description("API文档").build();
+	}
+
+}

+ 0 - 37
examcloud-core-questions-starter/src/main/java/cn/com/qmth/examcloud/core/questions/starter/config/SwaggerConfig.java

@@ -1,37 +0,0 @@
-package cn.com.qmth.examcloud.core.questions.starter.config;
-
-import io.swagger.annotations.ApiOperation;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import springfox.documentation.builders.ApiInfoBuilder;
-import springfox.documentation.builders.PathSelectors;
-import springfox.documentation.builders.RequestHandlerSelectors;
-import springfox.documentation.service.ApiInfo;
-import springfox.documentation.spi.DocumentationType;
-import springfox.documentation.spring.web.plugins.Docket;
-import springfox.documentation.swagger2.annotations.EnableSwagger2;
-
-@Configuration
-@EnableSwagger2
-public class SwaggerConfig {
-
-    @Bean
-    public Docket buildDocket() {
-        return new Docket(DocumentationType.SWAGGER_2)
-                .groupName("Version 3.0")
-                .apiInfo(buildApiInfo())
-                .useDefaultResponseMessages(false)
-                .select()
-                .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
-                .paths(PathSelectors.any())
-                .build();
-    }
-
-    public ApiInfo buildApiInfo() {
-        return new ApiInfoBuilder()
-                .title("题库平台接口文档")
-                .version("3.0")
-                .build();
-    }
-
-}

+ 1 - 1
examcloud-core-questions-starter/src/main/java/cn/com/qmth/examcloud/core/questions/starter/initData.java → examcloud-core-questions-starter/src/main/java/cn/com/qmth/examcloud/core/questions/starter/config/initData.java

@@ -1,4 +1,4 @@
-package cn.com.qmth.examcloud.core.questions.starter;
+package cn.com.qmth.examcloud.core.questions.starter.config;
 
 import cn.com.qmth.examcloud.core.questions.base.word.DocxProcessUtil;
 import cn.com.qmth.examcloud.core.questions.service.impl.SettingService;

+ 1 - 1
examcloud-core-questions-starter/src/main/resources/application.properties

@@ -1,6 +1,6 @@
 spring.profiles.active=test
 
 examcloud.startup.startupCode=8008
-examcloud.startup.configCenterHost=config-host
+examcloud.startup.configCenterHost=127.0.0.1
 examcloud.startup.configCenterPort=9999
 examcloud.startup.appSimpleName=question