v-qinpengfei 5 лет назад
Родитель
Сommit
94b4daa0bf

+ 36 - 0
src/main/java/com/poteviohealth/cgp/integration/config/MetaHandler.java

@@ -0,0 +1,36 @@
+package com.poteviohealth.cgp.integration.config;
+
+import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import org.apache.ibatis.reflection.MetaObject;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+
+/**
+ * 处理新增和更新的基础数据填充,配合BaseEntity和MyBatisPlusConfig使用
+ * @author Qin
+ */
+@Component
+public class MetaHandler implements MetaObjectHandler {
+
+    /**
+     * 新增数据执行
+     * @param metaObject
+     */
+    @Override
+    public void insertFill(MetaObject metaObject) {
+        this.setFieldValByName("createdDate", new Date(), metaObject);
+        this.setFieldValByName("modifiedDate", new Date(), metaObject);
+        this.setFieldValByName("yn", 0, metaObject);
+    }
+
+    /**
+     * 更新数据执行
+     * @param metaObject
+     */
+    @Override
+    public void updateFill(MetaObject metaObject) {
+        this.setFieldValByName("modifiedDate", new Date(), metaObject);
+    }
+
+}

+ 39 - 0
src/main/java/com/poteviohealth/cgp/integration/config/MybatisPlusConfig.java

@@ -0,0 +1,39 @@
+package com.poteviohealth.cgp.integration.config;
+
+import com.baomidou.mybatisplus.core.config.GlobalConfig;
+import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author LG
+ * @since 2019/8/1
+ */
+@Configuration
+@MapperScan("com.poteviohealth.cgp.integration.mapper")
+public class MybatisPlusConfig {
+
+    /**
+     * 自动填充功能
+     *
+     * @return
+     */
+    @Bean
+    public GlobalConfig globalConfig() {
+        GlobalConfig globalConfig = new GlobalConfig();
+        globalConfig.setMetaObjectHandler(new MetaHandler());
+        return globalConfig;
+    }
+
+    /**
+     * mybatis-plus分页插件<br>
+     * 文档:http://mp.baomidou.com<br>
+     */
+    @Bean
+    public PaginationInterceptor paginationInterceptor() {
+        PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
+        return paginationInterceptor;
+    }
+
+}

+ 17 - 0
src/main/java/com/poteviohealth/cgp/integration/config/SpringSecurityPassAllConfig.java

@@ -0,0 +1,17 @@
+package com.poteviohealth.cgp.integration.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.security.config.annotation.web.builders.HttpSecurity;
+import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
+
+/**
+ * @author David
+ * @description 仅用于开发环境开发调试绕过安全控制使用
+ */
+@Configuration
+public class SpringSecurityPassAllConfig extends WebSecurityConfigurerAdapter {
+	@Override
+	protected void configure(HttpSecurity httpSecurity) throws Exception {
+		httpSecurity.authorizeRequests().anyRequest().permitAll().and().csrf().disable();
+	}
+}

+ 49 - 0
src/main/java/com/poteviohealth/cgp/integration/config/SwaggerConfig.java

@@ -0,0 +1,49 @@
+package com.poteviohealth.cgp.integration.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import springfox.documentation.builders.ApiInfoBuilder;
+import springfox.documentation.builders.ParameterBuilder;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.schema.ModelRef;
+import springfox.documentation.service.ApiInfo;
+import springfox.documentation.service.Contact;
+import springfox.documentation.service.Parameter;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Qin
+ */
+@Configuration
+@EnableSwagger2
+public class SwaggerConfig {
+    @Bean
+    public Docket productApi() {
+        return new Docket(DocumentationType.SWAGGER_2)
+                .select()
+                .apis(RequestHandlerSelectors.basePackage("com.poteviohealth.cgp.partner"))
+//                .paths(regex("/product.*"))
+                .build()
+                .globalOperationParameters(setHeaderToken())
+                .apiInfo(metaData());
+    }
+    private List<Parameter> setHeaderToken() {
+        ParameterBuilder tokenPar = new ParameterBuilder();
+        List<Parameter> pars = new ArrayList<>();
+        tokenPar.name("x-token").description("token").modelRef(new ModelRef("string")).parameterType("header").required(false).build();
+        pars.add(tokenPar.build());
+        return pars;
+    }
+    private ApiInfo metaData() {
+        return new ApiInfoBuilder()
+                .title("基础服务")
+                .version("1.1.0")
+                .contact(new Contact("秦阳、路广", "http://www.poteviohealth.com/", "nobody@poteviohealth.com"))
+                .build();
+    }
+}