Browse Source

feature(解决冲突): 解决冲突

解决冲突
mazq 4 năm trước cách đây
mục cha
commit
378e48a63f

+ 8 - 1
dcuc-app-service/pom.xml

@@ -106,7 +106,7 @@
         <dependency>
             <groupId>com.dragoninfo</groupId>
             <artifactId>dcuc-user-api</artifactId>
-            <version>2.0.1-tjdsj-SNAPSHOT</version>
+            <version>2.0.3-tjdsj-SNAPSHOT</version>
         </dependency>
 
         <dependency>
@@ -301,6 +301,13 @@
                             <target>8</target>
                         </configuration>
                     </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-surefire-plugin</artifactId>
+                        <configuration>
+                            <testFailureIgnore>true</testFailureIgnore>
+                        </configuration>
+                    </plugin>
                 </plugins>
             </build>
         </profile>

+ 64 - 0
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/NacosPortConfig.java

@@ -0,0 +1,64 @@
+package com.dragoninfo.dcuc.app;
+
+import com.alibaba.cloud.nacos.registry.NacosAutoServiceRegistration;
+import com.dragonsoft.duceap.commons.util.string.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.ApplicationArguments;
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.stereotype.Component;
+
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+import javax.management.Query;
+import java.lang.management.ManagementFactory;
+import java.util.Set;
+
+@Component
+public class NacosPortConfig implements ApplicationRunner {
+    private static final Logger logger = LoggerFactory.getLogger(NacosPortConfig.class);
+    @Autowired
+    private NacosAutoServiceRegistration registration;
+    @Value("${spring.application.name}")
+    private String appName;
+    @Value("${server.port}")
+    private int port;
+    @Override
+    public void run(ApplicationArguments args) throws Exception {
+        int port = this.getTomcatPort();
+        if (registration != null) {
+            registration.setPort(port);
+            registration.start();
+        }
+    }
+    /**
+     * 获取容器端口号
+     *
+     * @return
+     * @throws Exception 容器端口号未获取到
+     */
+    public int getTomcatPort() throws Exception {
+        String port = this.getTomcatPortValue();
+        if (!StringUtils.isEmpty(port)) {
+            return Integer.valueOf(port);
+        }
+        return this.port;
+    }
+    /**
+     * 获取容器端口号(解决使用外部容器部署,nacos无法注册问题)
+     *
+     * @return port
+     */
+    private String getTomcatPortValue() throws Exception {
+        MBeanServer beanServer = ManagementFactory.getPlatformMBeanServer();
+        Set<ObjectName> objectNames = beanServer.queryNames
+                (new ObjectName("*:type=Connector,*"),
+                        Query.match(Query.attr("protocol"), Query.value("HTTP/1.1")));
+        for (ObjectName objectName : objectNames) {
+            return objectName.getKeyProperty("port");
+        }
+        return "";
+    }
+}

+ 12 - 9
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/business/impl/ResourceBusiness.java

@@ -40,6 +40,7 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+import org.springframework.web.context.request.RequestAttributes;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 
@@ -62,10 +63,6 @@ public class ResourceBusiness implements IResourceBusiness {
 
     Logger logger = LoggerFactory.getLogger(ResourceBusiness.class);
 
-    /**
-     * 应用令牌错误信息
-     */
-    public static final String APP_TOKEN_ERROR_MESSAGE = "0302 令牌验证执行失败";
     @Autowired
     private IResourceService resourceService;
     @Autowired
@@ -858,9 +855,6 @@ public class ResourceBusiness implements IResourceBusiness {
     private List<Header> getHeaders(BusSendReqVO busSendReqVO) {
         logger.info("getHeaders >>> {}", busSendReqVO);
 
-        ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
-        HttpServletRequest request = servletRequestAttributes.getRequest();
-
         List<Header> heardList = new ArrayList<>();
 
         Header busSraIdHeader = new BasicHeader("bus_sra_id", busSendReqVO.getBusSraId());
@@ -875,9 +869,18 @@ public class ResourceBusiness implements IResourceBusiness {
 
         String voUserToken = busSendReqVO.getUserToken();
         String voAppToken = busSendReqVO.getAppToken();
+
         if (StrUtil.isBlank(voUserToken) && StrUtil.isBlank(voAppToken)) {
-            String userToken = request.getHeader(Constants.USER_TOKEN);
-            String appToken = request.getHeader(Constants.APP_TOKEN);
+
+            RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
+            String userToken = "";
+            String appToken = "";
+            if (requestAttributes != null) {
+                ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) requestAttributes;
+                HttpServletRequest request = servletRequestAttributes.getRequest();
+                userToken = request.getHeader(Constants.USER_TOKEN);
+                appToken = request.getHeader(Constants.APP_TOKEN);
+            }
 
             logger.info("getHeaders >>> request userToken:{},appToken:{}", userToken, appToken);
             if (StrUtil.isNotBlank(userToken)) {