Ver código fonte

fix(依赖):
调整依赖

18339543638 2 anos atrás
pai
commit
3fb6590f09

+ 10 - 0
nb-admin/pom.xml

@@ -31,6 +31,16 @@
             <artifactId>app-doctor</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>com.tuoren</groupId>
+            <artifactId>doc-common</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.tuoren</groupId>
+            <artifactId>banner-common</artifactId>
+        </dependency>
+
         <dependency>
             <groupId>com.tuoren</groupId>
             <artifactId>config-common</artifactId>

+ 3 - 5
nb-auth/pom.xml

@@ -33,8 +33,7 @@
         </dependency>
         <dependency>
             <groupId>cn.hutool</groupId>
-            <artifactId>hutool-http</artifactId>
-            <version>${hutool.version}</version>
+            <artifactId>hutool-all</artifactId>
         </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
@@ -47,9 +46,8 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>com.github.xiaoymin</groupId>
-            <artifactId>knife4j-spring-boot-starter</artifactId>
-            <optional>true</optional>
+            <groupId>com.tuoren</groupId>
+            <artifactId>doc-common</artifactId>
         </dependency>
         <dependency>
             <groupId>cn.dev33</groupId>

+ 29 - 0
nb-common/banner-common/pom.xml

@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>nb-common</artifactId>
+        <groupId>com.tuoren</groupId>
+        <version>1.0</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>banner-common</artifactId>
+    <version>1.0</version>
+
+    <description>打印banner</description>
+    <dependencies>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter</artifactId>
+            <scope>provided</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>com.tuoren</groupId>
+            <artifactId>nb-core</artifactId>
+        </dependency>
+    </dependencies>
+</project>

+ 17 - 0
nb-common/banner-common/src/main/java/com/nb/common/banner/TrBannerAutoConfiguration.java

@@ -0,0 +1,17 @@
+package com.nb.common.banner;
+
+import com.nb.common.banner.config.BannerConfig;
+import org.springframework.context.annotation.Bean;
+
+/**
+ * @ClassName : TrBannerAutoConfiguration
+ * @Description :
+ * @Author : LF
+ * @Date: 2023年03月01日
+ */
+public class TrBannerAutoConfiguration {
+    @Bean
+    public BannerConfig bannerConfig(){
+        return new BannerConfig();
+    }
+}

+ 44 - 0
nb-common/banner-common/src/main/java/com/nb/common/banner/config/BannerConfig.java

@@ -0,0 +1,44 @@
+package com.nb.common.banner.config;
+
+import cn.hutool.core.net.NetUtil;
+import cn.hutool.core.util.StrUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.boot.web.context.WebServerApplicationContext;
+import org.springframework.boot.web.context.WebServerInitializedEvent;
+import org.springframework.boot.web.server.WebServer;
+import org.springframework.context.ApplicationListener;
+import org.springframework.core.env.Environment;
+
+/**
+ * @ClassName : BannerConfig
+ * @Description :
+ * @Author : LF
+ * @Date: 2023年03月01日
+ */
+@Slf4j
+public class BannerConfig implements ApplicationListener<WebServerInitializedEvent> {
+
+    @Override
+    public void onApplicationEvent(WebServerInitializedEvent event) {
+        WebServer server = event.getWebServer();
+        WebServerApplicationContext context = event.getApplicationContext();
+        Environment env = context.getEnvironment();
+        String contextPath = env.getProperty("server.servlet.context-path");
+        String applicationName = env.getProperty("spring.application.name");
+        String profilesActive = env.getProperty("spring.profiles.active");
+        String localhostStr = NetUtil.getLocalhostStr();
+        contextPath=StrUtil.startWith(contextPath,"/")?StrUtil.replace(contextPath,"/",""):contextPath;
+        int port = server.getPort();
+        String urlPrefix= StrUtil.isNullOrUndefined(contextPath)? "http://"+localhostStr+":"+port:
+                "http://"+localhostStr+":"+port+"/"+contextPath;
+        log.info("\n----------------------------------------------------------\n\t" +
+                        "项目启动成功!\n\t" +
+                        "项目名称: \t{}\n\t" +
+                        "接口文档: \t{} \n\t" +
+                        "启动环境: \t{} \n\t" +
+                        "\n----------------------------------------------------------\n\t",
+                StrUtil.isEmpty(applicationName)?"tr":applicationName,
+                urlPrefix+"/doc.html",
+                StrUtil.isNullOrUndefined(profilesActive)?"default":profilesActive);
+    }
+}

+ 3 - 0
nb-common/banner-common/src/main/resources/META-INF/spring.factories

@@ -0,0 +1,3 @@
+# RedisDelayQueueAutoConfiguration ×Ô¶¯×°ÅäÉùÃ÷
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
+com.nb.common.banner.TrBannerAutoConfiguration

+ 15 - 0
nb-common/banner-common/src/main/resources/banner.txt

@@ -0,0 +1,15 @@
+Spring Boot Version: ${spring-boot.version}
+Java        Version: ${java.version}
+.__   __.   ______      .______    __    __    _______
+|  \ |  |  /  __  \     |   _  \  |  |  |  |  /  _____|
+|   \|  | |  |  |  |    |  |_)  | |  |  |  | |  |  __
+|  . `  | |  |  |  |    |   _  <  |  |  |  | |  | |_ |
+|  |\   | |  `--'  |    |  |_)  | |  `--'  | |  |__| |
+|__| \__|  \______/     |______/   \______/   \______|
+
+███╗   ██╗ ██████╗     ██████╗ ██╗   ██╗ ██████╗
+████╗  ██║██╔═══██╗    ██╔══██╗██║   ██║██╔════╝
+██╔██╗ ██║██║   ██║    ██████╔╝██║   ██║██║  ███╗
+██║╚██╗██║██║   ██║    ██╔══██╗██║   ██║██║   ██║
+██║ ╚████║╚██████╔╝    ██████╔╝╚██████╔╝╚██████╔╝
+╚═╝  ╚═══╝ ╚═════╝     ╚═════╝  ╚═════╝  ╚═════╝

+ 33 - 0
nb-common/doc-common/pom.xml

@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>nb-common</artifactId>
+        <groupId>com.tuoren</groupId>
+        <version>1.0</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <version>1.0</version>
+    <artifactId>doc-common</artifactId>
+
+
+    <dependencies>
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.github.xiaoymin</groupId>
+            <artifactId>knife4j-openapi2-spring-boot-starter</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
+
+</project>

+ 31 - 0
nb-common/doc-common/src/main/java/com/nb/common/doc/ModifyOkStatusCodeResponseMessageReader.java

@@ -0,0 +1,31 @@
+package com.nb.common.doc;
+
+import lombok.NonNull;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spi.service.OperationBuilderPlugin;
+import springfox.documentation.spi.service.contexts.OperationContext;
+
+import java.util.Collections;
+
+/**
+ * 改变swagger中默认的200状态码
+ *
+ * @author GeNing
+ * @version 1.0
+ * @since 2022/5/25 17:41
+ */
+public class ModifyOkStatusCodeResponseMessageReader implements OperationBuilderPlugin {
+
+    @Override
+    public void apply(OperationContext operationContext) {
+        // 获取Builder
+        // 获取Response集合(这里是通过流重新生成了集合,而跟builder中的responses属性不属于同一个引用)
+        // 重新赋值response,注意这里的responses()方法里是循环当前传入参数,再add。所以必须通过反射先清空私有属性
+        operationContext.operationBuilder().responseMessages(Collections.emptySet());
+    }
+
+    @Override
+    public boolean supports(@NonNull DocumentationType documentationType) {
+        return true;
+    }
+}

+ 68 - 0
nb-common/doc-common/src/main/java/com/nb/common/doc/TrDocAutoConfiguration.java

@@ -0,0 +1,68 @@
+package com.nb.common.doc;
+
+import org.springframework.beans.BeansException;
+import org.springframework.beans.factory.config.BeanPostProcessor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Import;
+import org.springframework.util.ReflectionUtils;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping;
+import springfox.bean.validators.configuration.BeanValidatorPluginsConfiguration;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.spring.web.plugins.WebMvcRequestHandlerProvider;
+import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;
+
+import java.lang.reflect.Field;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @ClassName : TrDocAutoConfiguration
+ * @Description : 解决doc和springboot版本不兼容问题
+ * @Author : LF
+ * @Date: 2023年03月21日
+ */
+@EnableSwagger2WebMvc
+@Import({BeanValidatorPluginsConfiguration.class})
+public class TrDocAutoConfiguration {
+    @Bean
+    public static BeanPostProcessor springfoxHandlerProviderBeanPostProcessor() {
+        return new BeanPostProcessor() {
+
+            @Override
+            public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
+                if (bean instanceof WebMvcRequestHandlerProvider) {
+                    customizeSpringfoxHandlerMappings(getHandlerMappings(bean));
+                }
+                if(bean instanceof Docket){
+                    Docket docket= (Docket) bean;
+                    docket.useDefaultResponseMessages(false)
+                    .globalResponseMessage(RequestMethod.GET, Collections.emptyList())
+                    .globalResponseMessage(RequestMethod.POST,Collections.emptyList());
+                }
+                return bean;
+            }
+
+            private <T extends RequestMappingInfoHandlerMapping> void customizeSpringfoxHandlerMappings(List<T> mappings) {
+                List<T> copy = mappings.stream()
+                        .filter(mapping -> mapping.getPatternParser() == null)
+                        .collect(Collectors.toList());
+                mappings.clear();
+                mappings.addAll(copy);
+            }
+
+            @SuppressWarnings("unchecked")
+            private List<RequestMappingInfoHandlerMapping> getHandlerMappings(Object bean) {
+                try {
+                    Field field = ReflectionUtils.findField(bean.getClass(), "handlerMappings");
+                    field.setAccessible(true);
+                    return (List<RequestMappingInfoHandlerMapping>) field.get(bean);
+                } catch (IllegalArgumentException | IllegalAccessException e) {
+                    throw new IllegalStateException(e);
+                }
+            }
+        };
+    }
+
+}

+ 3 - 0
nb-common/doc-common/src/main/resources/META-INF/spring.factories

@@ -0,0 +1,3 @@
+# RedisDelayQueueAutoConfiguration ×Ô¶¯×°ÅäÉùÃ÷
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
+com.nb.common.doc.TrDocAutoConfiguration

+ 2 - 2
nb-common/log-common/pom.xml

@@ -22,8 +22,8 @@
             <optional>true</optional>
         </dependency>
         <dependency>
-            <groupId>com.github.xiaoymin</groupId>
-            <artifactId>knife4j-spring-boot-starter</artifactId>
+            <groupId>com.tuoren</groupId>
+            <artifactId>doc-common</artifactId>
         </dependency>
         <dependency>
             <groupId>org.projectlombok</groupId>

+ 2 - 0
nb-common/pom.xml

@@ -13,6 +13,8 @@
     <packaging>pom</packaging>
 
     <modules>
+        <module>banner-common</module>
+        <module>doc-common</module>
         <module>log-common</module>
         <module>crud-common</module>
         <module>delay-queue-common</module>

+ 2 - 2
nb-core/pom.xml

@@ -59,8 +59,8 @@
             <artifactId>spring-boot-starter-web</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.github.xiaoymin</groupId>
-            <artifactId>knife4j-spring-boot-starter</artifactId>
+            <groupId>com.tuoren</groupId>
+            <artifactId>doc-common</artifactId>
         </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>

+ 3 - 2
nb-service-api/app-assistant-api/pom.xml

@@ -10,6 +10,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <artifactId>app-assistant-api</artifactId>
+    <version>1.0</version>
 
     <dependencies>
         <dependency>
@@ -21,8 +22,8 @@
             <artifactId>mybatis-plus-boot-starter</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.github.xiaoymin</groupId>
-            <artifactId>knife4j-spring-boot-starter</artifactId>
+            <groupId>com.tuoren</groupId>
+            <artifactId>doc-common</artifactId>
         </dependency>
         <dependency>
             <groupId>org.projectlombok</groupId>

+ 2 - 2
nb-service-api/app-doctor-api/pom.xml

@@ -17,8 +17,8 @@
             <artifactId>mybatis-plus-boot-starter</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.github.xiaoymin</groupId>
-            <artifactId>knife4j-spring-boot-starter</artifactId>
+            <groupId>com.tuoren</groupId>
+            <artifactId>doc-common</artifactId>
         </dependency>
         <dependency>
             <groupId>org.projectlombok</groupId>

+ 2 - 2
nb-service-api/app-msg-api/pom.xml

@@ -27,8 +27,8 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>com.github.xiaoymin</groupId>
-            <artifactId>knife4j-spring-boot-starter</artifactId>
+            <groupId>com.tuoren</groupId>
+            <artifactId>doc-common</artifactId>
         </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>

+ 2 - 2
nb-service-api/web-service-api/pom.xml

@@ -18,8 +18,8 @@
             <artifactId>mybatis-plus-boot-starter</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.github.xiaoymin</groupId>
-            <artifactId>knife4j-spring-boot-starter</artifactId>
+            <groupId>com.tuoren</groupId>
+            <artifactId>doc-common</artifactId>
         </dependency>
         <dependency>
             <groupId>org.projectlombok</groupId>

+ 2 - 2
nb-service/app-assistant/pom.xml

@@ -34,8 +34,8 @@
             <artifactId>mybatis-plus-boot-starter</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.github.xiaoymin</groupId>
-            <artifactId>knife4j-spring-boot-starter</artifactId>
+            <groupId>com.tuoren</groupId>
+            <artifactId>doc-common</artifactId>
         </dependency>
         <dependency>
             <groupId>org.projectlombok</groupId>

+ 15 - 3
pom.xml

@@ -37,7 +37,7 @@
         <springfox.version>3.0.0</springfox.version>
         <tio.version>3.6.0.v20200315-RELEASE</tio.version>
         <jython.version>2.7.1</jython.version>
-        <knife4j.version>2.0.7</knife4j.version>
+        <knife4j.verison>4.0.0</knife4j.verison>
         <redisson.version>3.17.0</redisson.version>
         <captcha.version>1.6.2</captcha.version>
         <aliyun.iot.verison>7.31.0</aliyun.iot.verison>
@@ -130,6 +130,17 @@
                 <artifactId>ws-common</artifactId>
                 <version>${nb.version}</version>
             </dependency>
+            <dependency>
+                <groupId>com.tuoren</groupId>
+                <artifactId>doc-common</artifactId>
+                <version>${nb.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>com.tuoren</groupId>
+                <artifactId>banner-common</artifactId>
+                <version>${nb.version}</version>
+            </dependency>
             <dependency>
                 <groupId>com.tuoren</groupId>
                 <artifactId>config-common</artifactId>
@@ -182,9 +193,10 @@
             <!--swagger模块 -->
             <dependency>
                 <groupId>com.github.xiaoymin</groupId>
-                <artifactId>knife4j-spring-boot-starter</artifactId>
-                <version>${knife4j.version}</version>
+                <artifactId>knife4j-openapi2-spring-boot-starter</artifactId>
+                <version>${knife4j.verison}</version>
             </dependency>
+
             <!--阿里数据库连接池 -->
             <dependency>
                 <groupId>com.alibaba</groupId>