Pārlūkot izejas kodu

update HttpClientBuilder

deason 6 gadi atpakaļ
vecāks
revīzija
56c764f5cf

+ 3 - 0
src/main/java/cn/com/qmth/examcloud/app/core/config/AccessInterceptor.java

@@ -110,6 +110,9 @@ public class AccessInterceptor extends HandlerInterceptorAdapter {
         if (StringUtils.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) {
             ip = request.getRemoteAddr();
         }
+        if (StringUtils.isNotEmpty(ip)) {
+            ip = ip.replaceAll("0:0:0:0:0:0:0:1", "127.0.0.1");
+        }
         return ip;
     }
 

+ 0 - 28
src/main/java/cn/com/qmth/examcloud/app/core/utils/HttpBuilder.java

@@ -1,28 +0,0 @@
-/*
- * *************************************************
- * Copyright (c) 2018 QMTH. All Rights Reserved.
- * Created by Deason on 2018-07-16 16:38:13.
- * *************************************************
- */
-
-package cn.com.qmth.examcloud.app.core.utils;
-
-import okhttp3.OkHttpClient;
-
-/**
- * HttpClient 单例对象
- */
-public enum HttpBuilder {
-    client;
-
-    private OkHttpClient instance;
-
-    HttpBuilder() {
-        instance = new OkHttpClient();
-    }
-
-    public OkHttpClient getInstance() {
-        return instance;
-    }
-
-}

+ 46 - 0
src/main/java/cn/com/qmth/examcloud/app/core/utils/HttpClientBuilder.java

@@ -0,0 +1,46 @@
+/*
+ * *************************************************
+ * Copyright (c) 2018 QMTH. All Rights Reserved.
+ * Created by Deason on 2018-07-16 16:38:13.
+ * *************************************************
+ */
+
+package cn.com.qmth.examcloud.app.core.utils;
+
+import okhttp3.OkHttpClient;
+
+/**
+ * HttpClient单例对象
+ *
+ * @author: fengdesheng
+ * @since: 2018/8/1
+ */
+public class HttpClientBuilder {
+    private static OkHttpClient client;
+
+    static {
+        client = Singleton.INSTANCE.getInstance();
+    }
+
+    public static OkHttpClient getClient() {
+        return client;
+    }
+
+    private enum Singleton {
+        /**
+         * Http Client Instance
+         */
+        INSTANCE;
+
+        private OkHttpClient instance;
+
+        Singleton() {
+            instance = new OkHttpClient();
+        }
+
+        public OkHttpClient getInstance() {
+            return instance;
+        }
+    }
+
+}

+ 5 - 3
src/main/java/cn/com/qmth/examcloud/app/core/utils/HttpUtils.java

@@ -74,7 +74,7 @@ public class HttpUtils {
     }
 
     public static Result<String> call(Request request) throws Exception {
-        Response response = HttpBuilder.client.getInstance().newCall(request).execute();
+        Response response = HttpClientBuilder.getClient().newCall(request).execute();
         String bodyStr = response.body().string();
         if (response.isSuccessful()) {
             return new Result().success(bodyStr);
@@ -129,12 +129,14 @@ public class HttpUtils {
         return html.replaceAll(reg, "");
     }
 
-    /*public static void main(String[] args) {
+    /*
+    public static void main(String[] args) {
         String json = "{\"id\":1,\"answer\":null,\"question\":{\"id\":2,\"answer\":null,\"question\":{\"id\":3,\"answer\":null,\"question\":{\"id\":4,\"answer\":null,,\"question\":{\"id\":5,\"answer\":null}}}}}";
         String result = HttpUtils.filterNullAttributes(json);
         System.out.println(result);
         String html = "111< img src='' >222< img / >333";
         System.out.println(replaceImages(html));
-    }*/
+    }
+    */
 
 }

+ 2 - 2
src/main/java/cn/com/qmth/examcloud/app/model/Constants.java

@@ -28,9 +28,9 @@ public interface Constants {
 
     /**
      * 平台端的Token默认过期时间(秒)
-     * 默认小时
+     * 默认小时
      */
-    int PLATFORM_SESSION_EXPIRE_TIME = 7200;
+    int PLATFORM_SESSION_EXPIRE_TIME = 3600;
 
     /**
      * 平台端的Token默认过期时间的redis key

+ 2 - 0
src/main/java/cn/com/qmth/examcloud/app/model/Result.java

@@ -10,6 +10,7 @@ package cn.com.qmth.examcloud.app.model;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
+import springfox.documentation.annotations.ApiIgnore;
 
 import java.io.Serializable;
 
@@ -78,6 +79,7 @@ public class Result<T> implements Serializable {
     }
 
     @JsonIgnore
+    @ApiIgnore
     public boolean isSuccess() {
         if (Constants.CODE_200.equals(getCode())) {
             return true;

+ 2 - 2
src/main/java/cn/com/qmth/examcloud/app/service/impl/UserAuthServiceImpl.java

@@ -61,7 +61,7 @@ public class UserAuthServiceImpl implements UserAuthService {
                 .post(formBody)
                 .build();
         //执行请求
-        Response response = HttpBuilder.client.getInstance().newCall(request).execute();
+        Response response = HttpClientBuilder.getClient().newCall(request).execute();
         String bodyStr = response.body().string();
         if (response.isSuccessful()) {
             //获取用户信息
@@ -208,7 +208,7 @@ public class UserAuthServiceImpl implements UserAuthService {
     public void initRequestTrace() {
         String key = "C_" + ThreadUtils.getTraceID();
         Long millis = System.currentTimeMillis();
-        redisService.set(key, millis.toString(), 10);
+        redisService.set(key, millis.toString(), 15);
     }
 
 }

+ 14 - 14
src/main/resources/templates/deviceRecord/list.ftl

@@ -63,7 +63,7 @@
         <input type="text" class="form-control" id="ip" placeholder="IP"/>
     </div>
     <div class="btn-group">
-        <a href="#" class="btn btn-info" onclick="doSearch()" style="margin-bottom: 10px"> 搜索</a>
+        <a href="#" class="btn btn-primary" onclick="doSearch()" style="margin-bottom: 10px"> 搜索</a>
     </div>
     <table id="contentTable" class="table">
         <thead>
@@ -148,19 +148,19 @@
             html.push('<tr><td style="vertical-align: middle;text-align: center" curId=' + obj.id + '>');
             html.push(emptyStr(obj.createDate) + '</br>' + emptyStr(obj.ip));
             html.push('</td><td>');
-            html.push('<span><b>访问地址:</b>' + emptyStr(obj.url) + '</span>');
-            html.push('<span><b>KEY:</b>' + emptyStr(obj.loginKey) + '</span>');
-            html.push('<span><b>TOKEN:</b>' + emptyStr(obj.loginToken) + '</span>');
-            html.push('<span><b>来源账号:</b>' + emptyStr(obj.account) + '</span></br>');
-            html.push('<span><b>系统标识:</b>' + emptyStr(obj.system) + '</span>');
-            html.push('<span><b>设备编号:</b>' + emptyStr(obj.deviceId) + '</span>');
-            html.push('<span><b>网络类型:</b>' + emptyStr(obj.netType) + '</span>');
-            html.push('<span><b>设备品牌:</b>' + emptyStr(obj.brand) + '</span>');
-            html.push('<span><b>型号:</b>' + emptyStr(obj.model) + '</span>');
-            html.push('<span><b>系统版本号:</b>' + emptyStr(obj.sysVersion) + '</span>');
-            html.push('<span><b>APP版本号:</b>' + emptyStr(obj.appVersion) + '</span>');
-            html.push('<span><b>APP更新号:</b>' + emptyStr(obj.appCode) + '</span>');
-            html.push('<span><b>APP补丁号:</b>' + emptyStr(obj.patchCode) + '</span>');
+            html.push('<span style="color: #337ab7"><b>访问地址:' + emptyStr(obj.url) + '</b></span>');
+            html.push('<span>KEY:' + emptyStr(obj.loginKey) + '</span>');
+            html.push('<span>TOKEN:' + emptyStr(obj.loginToken) + '</span></br>');
+            html.push('<span>来源账号:' + emptyStr(obj.account) + '</span>');
+            html.push('<span>系统标识:' + emptyStr(obj.system) + '</span>');
+            html.push('<span>设备编号:' + emptyStr(obj.deviceId) + '</span>');
+            html.push('<span>网络类型:' + emptyStr(obj.netType) + '</span>');
+            html.push('<span>设备品牌:' + emptyStr(obj.brand) + '</span>');
+            html.push('<span>型号:' + emptyStr(obj.model) + '</span>');
+            html.push('<span>系统版本号:' + emptyStr(obj.sysVersion) + '</span>');
+            html.push('<span>APP版本号:' + emptyStr(obj.appVersion) + '</span>');
+            html.push('<span>APP更新号:' + emptyStr(obj.appCode) + '</span>');
+            html.push('<span>APP补丁号:' + emptyStr(obj.patchCode) + '</span>');
             html.push('</td></tr>');
         }
         return html.join('');